summaryrefslogtreecommitdiffhomepage
path: root/android/lib/daemon-grpc
diff options
context:
space:
mode:
authorDavid Göransson <david.goransson@mullvad.net>2024-07-29 16:57:35 +0200
committerDavid Göransson <david.goransson@mullvad.net>2024-07-29 16:58:22 +0200
commitbd2a625f7e7b6ca83aa637971214fb5c51aff6dc (patch)
treeceaac240f4928a3e64994d145903ab6e65320865 /android/lib/daemon-grpc
parent514a5c9ec009a5bd00f979f719772beeb48b7ca6 (diff)
downloadmullvadvpn-bd2a625f7e7b6ca83aa637971214fb5c51aff6dc.tar.xz
mullvadvpn-bd2a625f7e7b6ca83aa637971214fb5c51aff6dc.zip
Allow error on getVersionInfo
Diffstat (limited to 'android/lib/daemon-grpc')
-rw-r--r--android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/ManagementService.kt10
1 files changed, 7 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 7c879bc9df..191b791421 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
@@ -73,6 +73,7 @@ import net.mullvad.mullvadvpn.lib.model.GetAccountDataError
import net.mullvad.mullvadvpn.lib.model.GetAccountHistoryError
import net.mullvad.mullvadvpn.lib.model.GetDeviceListError
import net.mullvad.mullvadvpn.lib.model.GetDeviceStateError
+import net.mullvad.mullvadvpn.lib.model.GetVersionInfoError
import net.mullvad.mullvadvpn.lib.model.LoginAccountError
import net.mullvad.mullvadvpn.lib.model.NewAccessMethodSetting
import net.mullvad.mullvadvpn.lib.model.ObfuscationSettings
@@ -279,8 +280,11 @@ class ManagementService(
private suspend fun getRelayList(): ModelRelayList =
grpc.getRelayLocations(Empty.getDefaultInstance()).toDomain()
- private suspend fun getVersionInfo(): ModelAppVersionInfo =
- grpc.getVersionInfo(Empty.getDefaultInstance()).toDomain()
+ // On release build this will return error until services have published the new beta, daemon
+ // will get 404 until the api have been published, thus we need to ignore error downstream.
+ private suspend fun getVersionInfo(): Either<GetVersionInfoError, ModelAppVersionInfo> =
+ Either.catch { grpc.getVersionInfo(Empty.getDefaultInstance()).toDomain() }
+ .mapLeft { GetVersionInfoError.Unknown(it) }
suspend fun logoutAccount() {
grpc.logoutAccount(Empty.getDefaultInstance())
@@ -320,7 +324,7 @@ class ManagementService(
async { _mutableTunnelState.update { getTunnelState() } },
async { _mutableDeviceState.update { getDeviceState() } },
async { _mutableSettings.update { getSettings() } },
- async { _mutableVersionInfo.update { getVersionInfo() } },
+ async { _mutableVersionInfo.update { getVersionInfo().getOrNull() } },
async { _mutableRelayList.update { getRelayList() } },
async { _mutableCurrentAccessMethod.update { getCurrentApiAccessMethod() } }
)