summaryrefslogtreecommitdiffhomepage
path: root/android/lib
diff options
context:
space:
mode:
authorDavid Göransson <david.goransson@mullvad.net>2024-07-01 15:25:46 +0200
committerDavid Göransson <david.goransson@mullvad.net>2024-07-01 15:25:46 +0200
commitab4f5b389544c01c41b1d8edd8f481bbfa8e00c4 (patch)
tree6be7ce8f987f045980685fd21ffe612ccea8fb9b /android/lib
parentb9ef0f57c3fa975210d9d6ea939f98473cadb6f3 (diff)
parentd76dfbd9796c60e4dc27e721e97e9a82648238fb (diff)
downloadmullvadvpn-ab4f5b389544c01c41b1d8edd8f481bbfa8e00c4.tar.xz
mullvadvpn-ab4f5b389544c01c41b1d8edd8f481bbfa8e00c4.zip
Merge branch 'crash-if-no-internet-connection-on-startup-droid-1160'
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)