summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAlbin <albin@mullvad.net>2023-02-01 09:58:29 +0100
committerAlbin <albin@mullvad.net>2023-02-02 10:54:28 +0100
commit48793707ebf7b843ba7a1315b87e154b02472fa7 (patch)
tree50c5aff3d71c8aa37cb3266f07005fd2e94f3ce9
parentf2f77e29107fd992631f02b51aff0a1249b8287d (diff)
downloadmullvadvpn-48793707ebf7b843ba7a1315b87e154b02472fa7.tar.xz
mullvadvpn-48793707ebf7b843ba7a1315b87e154b02472fa7.zip
Fix device state listener timing
This commit fixes an issue with the device state listener being registered too late in some circumstances.
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/DeviceRepository.kt3
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/ServiceConnectionDeviceDataSource.kt1
2 files changed, 1 insertions, 3 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/DeviceRepository.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/DeviceRepository.kt
index 044888e9af..bd47e8719f 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/DeviceRepository.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/DeviceRepository.kt
@@ -30,9 +30,6 @@ class DeviceRepository(
.flatMapLatest { state ->
if (state is ServiceConnectionState.ConnectedReady) {
state.container.deviceDataSource.deviceStateUpdates
- .onStart {
- state.container.deviceDataSource.getDevice()
- }
} else {
flowOf(DeviceState.Unknown)
}
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/ServiceConnectionDeviceDataSource.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/ServiceConnectionDeviceDataSource.kt
index 56e7ee4d28..39159a1a17 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/ServiceConnectionDeviceDataSource.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/ServiceConnectionDeviceDataSource.kt
@@ -17,6 +17,7 @@ class ServiceConnectionDeviceDataSource(
trySend(event.newState)
}
dispatcher.registerHandler(Event.DeviceStateEvent::class, handler)
+ connection.trySendRequest(Request.GetDevice, false)
awaitClose {
// The current dispatcher doesn't support unregistration of handlers.
}