summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorAlbin <albin@mullvad.net>2023-11-17 13:48:48 +0100
committerAlbin <albin@mullvad.net>2023-11-17 13:48:48 +0100
commit8620efdb28c6863b40408862211ee690004526e5 (patch)
treeac1dfb917dd27f706fd5895a26daba834f35bd7e /android
parentd798fd5872e311fffeccd9930a45fdb2ed7eb2ea (diff)
parentc06aba60a5887627e399ebc19d5874740e855642 (diff)
downloadmullvadvpn-8620efdb28c6863b40408862211ee690004526e5.tar.xz
mullvadvpn-8620efdb28c6863b40408862211ee690004526e5.zip
Merge branch 'nullpointerexception-on-devicestatetoken-droid-462'
Diffstat (limited to 'android')
-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)