summaryrefslogtreecommitdiffhomepage
path: root/android/service/src
diff options
context:
space:
mode:
Diffstat (limited to 'android/service/src')
-rw-r--r--android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/ForegroundNotificationManager.kt2
-rw-r--r--android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadDaemon.kt8
2 files changed, 6 insertions, 4 deletions
diff --git a/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/ForegroundNotificationManager.kt b/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/ForegroundNotificationManager.kt
index eacd2d4bc9..b360613eaa 100644
--- a/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/ForegroundNotificationManager.kt
+++ b/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/ForegroundNotificationManager.kt
@@ -60,7 +60,7 @@ class ForegroundNotificationManager(
jobTracker.newBackgroundJob("notificationLoggedInJob") {
daemon
?.deviceStateUpdates
- ?.onStart { emit(daemon.getAndEmitDeviceState()) }
+ ?.onStart { daemon.getAndEmitDeviceState()?.let { emit(it) } }
?.collect { deviceState -> loggedIn = deviceState is DeviceState.LoggedIn }
}
}
diff --git a/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadDaemon.kt b/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadDaemon.kt
index fd734bbeac..0cfd0e1f7d 100644
--- a/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadDaemon.kt
+++ b/android/service/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadDaemon.kt
@@ -135,8 +135,8 @@ class MullvadDaemon(
}
}
- fun getAndEmitDeviceState(): DeviceState {
- return getDevice(daemonInterfaceAddress).also { deviceState ->
+ fun getAndEmitDeviceState(): DeviceState? {
+ return getDevice(daemonInterfaceAddress)?.also { deviceState ->
_deviceStateUpdates.tryEmit(deviceState)
}
}
@@ -257,7 +257,9 @@ class MullvadDaemon(
accountToken: String?
): List<Device>?
- private external fun getDevice(daemonInterfaceAddress: Long): DeviceState
+ // TODO: Review this method when redoing Daemon communication, it can be null which was not
+ // considered when this method was initially added.
+ private external fun getDevice(daemonInterfaceAddress: Long): DeviceState?
private external fun updateDevice(daemonInterfaceAddress: Long)