summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorAlbin <albin@mullvad.net>2024-06-13 09:29:41 +0200
committerAlbin <albin@mullvad.net>2024-06-13 09:45:34 +0200
commit8252bc2fdec20cee5ea334b98add2a345adf1ada (patch)
tree4afdb32cb6760d633aa1ecebc0e976df6c405d63 /android
parent4b0f4388fd95d2354b23785472934136c0af8da4 (diff)
downloadmullvadvpn-8252bc2fdec20cee5ea334b98add2a345adf1ada.tar.xz
mullvadvpn-8252bc2fdec20cee5ea334b98add2a345adf1ada.zip
Fix missing device refresh
Diffstat (limited to 'android')
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModel.kt1
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/OutOfTimeViewModel.kt1
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/WelcomeViewModel.kt1
-rw-r--r--android/lib/daemon-grpc/src/main/kotlin/net/mullvad/mullvadvpn/lib/daemon/grpc/ManagementService.kt4
-rw-r--r--android/lib/shared/src/main/kotlin/net/mullvad/mullvadvpn/lib/shared/DeviceRepository.kt6
5 files changed, 13 insertions, 0 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModel.kt
index c98ce4fa59..a27ed9adbd 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModel.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/ConnectViewModel.kt
@@ -118,6 +118,7 @@ class ConnectViewModel(
viewModelScope.launch { accountRepository.getAccountData() }
}
}
+ viewModelScope.launch { deviceRepository.updateDevice() }
}
fun onDisconnectClick() {
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/OutOfTimeViewModel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/OutOfTimeViewModel.kt
index 66e9a719eb..7784181466 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/OutOfTimeViewModel.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/OutOfTimeViewModel.kt
@@ -59,6 +59,7 @@ class OutOfTimeViewModel(
}
verifyPurchases()
fetchPaymentAvailability()
+ viewModelScope.launch { deviceRepository.updateDevice() }
}
fun onSitePaymentClick() {
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/WelcomeViewModel.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/WelcomeViewModel.kt
index 208c9d871b..4b61468f8e 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/WelcomeViewModel.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/viewmodel/WelcomeViewModel.kt
@@ -59,6 +59,7 @@ class WelcomeViewModel(
}
verifyPurchases()
fetchPaymentAvailability()
+ viewModelScope.launch { deviceRepository.updateDevice() }
}
private fun hasAddedTimeEffect() =
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 6cc6d25c36..f8073323c8 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
@@ -210,6 +210,10 @@ class ManagementService(
.map { it.toDomain() }
.mapLeft { GetDeviceStateError.Unknown(it) }
+ suspend fun updateDevice() {
+ grpc.updateDevice(Empty.getDefaultInstance())
+ }
+
suspend fun getDeviceList(token: AccountNumber): Either<GetDeviceListError, List<Device>> =
Either.catch { grpc.listDevices(StringValue.of(token.value)) }
.map { it.devicesList.map(ManagementInterface.Device::toDomain) }
diff --git a/android/lib/shared/src/main/kotlin/net/mullvad/mullvadvpn/lib/shared/DeviceRepository.kt b/android/lib/shared/src/main/kotlin/net/mullvad/mullvadvpn/lib/shared/DeviceRepository.kt
index f518dc02d1..1c971e8069 100644
--- a/android/lib/shared/src/main/kotlin/net/mullvad/mullvadvpn/lib/shared/DeviceRepository.kt
+++ b/android/lib/shared/src/main/kotlin/net/mullvad/mullvadvpn/lib/shared/DeviceRepository.kt
@@ -1,5 +1,6 @@
package net.mullvad.mullvadvpn.lib.shared
+import android.util.Log
import arrow.core.Either
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.CoroutineScope
@@ -33,4 +34,9 @@ class DeviceRepository(
suspend fun deviceList(accountNumber: AccountNumber): Either<GetDeviceListError, List<Device>> =
managementService.getDeviceList(accountNumber)
+
+ suspend fun updateDevice() {
+ Log.d("mullvad", "Update device")
+ managementService.updateDevice()
+ }
}