summaryrefslogtreecommitdiffhomepage
path: root/android/lib
diff options
context:
space:
mode:
authorDavid Göransson <david.goransson@mullvad.net>2024-07-01 15:00:27 +0200
committerDavid Göransson <david.goransson@mullvad.net>2024-07-01 15:00:27 +0200
commitd76dfbd9796c60e4dc27e721e97e9a82648238fb (patch)
tree6be7ce8f987f045980685fd21ffe612ccea8fb9b /android/lib
parentb9ef0f57c3fa975210d9d6ea939f98473cadb6f3 (diff)
downloadmullvadvpn-d76dfbd9796c60e4dc27e721e97e9a82648238fb.tar.xz
mullvadvpn-d76dfbd9796c60e4dc27e721e97e9a82648238fb.zip
Handle status exception for updateDevice
Diffstat (limited to 'android/lib')
-rw-r--r--android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/ManagementService.kt8
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/DeviceUpdateError.kt3
2 files changed, 8 insertions, 3 deletions
diff --git a/android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/ManagementService.kt b/android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/ManagementService.kt
index d088ffc77a..7c879bc9df 100644
--- a/android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/ManagementService.kt
+++ b/android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/ManagementService.kt
@@ -65,6 +65,7 @@ import net.mullvad.mullvadvpn.lib.model.DeleteDeviceError
import net.mullvad.mullvadvpn.lib.model.Device
import net.mullvad.mullvadvpn.lib.model.DeviceId
import net.mullvad.mullvadvpn.lib.model.DeviceState as ModelDeviceState
+import net.mullvad.mullvadvpn.lib.model.DeviceUpdateError
import net.mullvad.mullvadvpn.lib.model.DnsOptions as ModelDnsOptions
import net.mullvad.mullvadvpn.lib.model.DnsOptions
import net.mullvad.mullvadvpn.lib.model.DnsState as ModelDnsState
@@ -233,9 +234,10 @@ class ManagementService(
.map { it.toDomain() }
.mapLeft { GetDeviceStateError.Unknown(it) }
- suspend fun updateDevice() {
- grpc.updateDevice(Empty.getDefaultInstance())
- }
+ suspend fun updateDevice(): Either<DeviceUpdateError, Unit> =
+ Either.catch { grpc.updateDevice(Empty.getDefaultInstance()) }
+ .mapEmpty()
+ .mapLeft { DeviceUpdateError(it) }
suspend fun getDeviceList(token: AccountNumber): Either<GetDeviceListError, List<Device>> =
Either.catch { grpc.listDevices(StringValue.of(token.value)) }
diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/DeviceUpdateError.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/DeviceUpdateError.kt
new file mode 100644
index 0000000000..a97187844a
--- /dev/null
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/DeviceUpdateError.kt
@@ -0,0 +1,3 @@
+package net.mullvad.mullvadvpn.lib.model
+
+data class DeviceUpdateError(val error: Throwable)