summaryrefslogtreecommitdiffhomepage
path: root/android/app/src
diff options
context:
space:
mode:
authorAlbin <albin@mullvad.net>2022-03-30 15:30:10 +0200
committerAlbin <albin@mullvad.net>2022-04-20 16:36:51 +0200
commit7163ba1209d3dc2bc9c10ad8273f87be28e3aa49 (patch)
treeb4f8e2a33b3ed49d31e187e4c7f504c0e0d00bd1 /android/app/src
parent2deef36bfb89725bdc3ca78af21c88a312bd9ccd (diff)
downloadmullvadvpn-7163ba1209d3dc2bc9c10ad8273f87be28e3aa49.tar.xz
mullvadvpn-7163ba1209d3dc2bc9c10ad8273f87be28e3aa49.zip
Fix initial device refresh
Diffstat (limited to 'android/app/src')
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/LaunchFragment.kt6
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/serviceconnection/DeviceRepository.kt4
2 files changed, 6 insertions, 4 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/LaunchFragment.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/LaunchFragment.kt
index 5f0e417f58..1d1065f81d 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/LaunchFragment.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/ui/LaunchFragment.kt
@@ -5,7 +5,7 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import kotlinx.coroutines.flow.first
-import kotlinx.coroutines.flow.onSubscription
+import kotlinx.coroutines.flow.onEach
import net.mullvad.mullvadvpn.R
import net.mullvad.mullvadvpn.model.DeviceState
import net.mullvad.mullvadvpn.ui.serviceconnection.DeviceRepository
@@ -39,7 +39,9 @@ class LaunchFragment : ServiceAwareFragment() {
private fun advanceToNextScreen(deviceRepository: DeviceRepository) {
jobTracker.newUiJob("advanceToNextScreen") {
deviceRepository.deviceState
- .onSubscription { deviceRepository.refreshDeviceState() }
+ .onEach { state ->
+ if (state.isInitialState()) deviceRepository.refreshDeviceState()
+ }
.first { state -> state.isInitialState().not() }
.let { deviceState ->
when (deviceState) {
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 de796c5be3..7d1eed2961 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
@@ -1,7 +1,7 @@
package net.mullvad.mullvadvpn.ui.serviceconnection
import kotlinx.coroutines.CoroutineScope
-import kotlinx.coroutines.flow.SharingStarted.Companion.Lazily
+import kotlinx.coroutines.flow.SharingStarted.Companion.Eagerly
import kotlinx.coroutines.flow.stateIn
import net.mullvad.mullvadvpn.model.DeviceState
@@ -12,7 +12,7 @@ class DeviceRepository(
val deviceState = dataSource.deviceStateUpdates
.stateIn(
externalScope,
- Lazily,
+ Eagerly,
DeviceState.InitialState
)