summaryrefslogtreecommitdiffhomepage
path: root/android/src/main
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-02-06 11:24:28 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-02-06 17:51:37 +0000
commit056d0072e2bf23773e8f323adcbb66d8c90207f2 (patch)
tree893bc50ad7beda16d1ec7b807bb2bdd051050f55 /android/src/main
parent54796fa13112d2185a90edbc05d043c137c835a6 (diff)
downloadmullvadvpn-056d0072e2bf23773e8f323adcbb66d8c90207f2.tar.xz
mullvadvpn-056d0072e2bf23773e8f323adcbb66d8c90207f2.zip
Allow `getRelayLocations` to return `null`
This allows the `RelayListListener` to become more robust to any issues when retrieving the list from the daemon. It should now not crash with a `NullPointerException` if the daemon stops, for example.
Diffstat (limited to 'android/src/main')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/RelayListListener.kt2
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadDaemon.kt4
2 files changed, 3 insertions, 3 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/RelayListListener.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/RelayListListener.kt
index 5fe1918551..2012947ed8 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/RelayListListener.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/RelayListListener.kt
@@ -59,7 +59,7 @@ class RelayListListener(val daemon: MullvadDaemon, val settingsListener: Setting
val relayLocations = daemon.getRelayLocations()
synchronized(this) {
- if (relayList == null) {
+ if (relayList == null && relayLocations != null) {
relayListChanged(RelayList(relayLocations))
}
}
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadDaemon.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadDaemon.kt
index a175efc5ca..8e8806cc70 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadDaemon.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadDaemon.kt
@@ -57,7 +57,7 @@ class MullvadDaemon(val vpnService: MullvadVpnService) {
return getCurrentVersion(daemonInterfaceAddress)
}
- fun getRelayLocations(): RelayList {
+ fun getRelayLocations(): RelayList? {
return getRelayLocations(daemonInterfaceAddress)
}
@@ -106,7 +106,7 @@ class MullvadDaemon(val vpnService: MullvadVpnService) {
private external fun getWwwAuthToken(daemonInterfaceAddress: Long): String
private external fun getCurrentLocation(daemonInterfaceAddress: Long): GeoIpLocation?
private external fun getCurrentVersion(daemonInterfaceAddress: Long): String
- private external fun getRelayLocations(daemonInterfaceAddress: Long): RelayList
+ private external fun getRelayLocations(daemonInterfaceAddress: Long): RelayList?
private external fun getSettings(daemonInterfaceAddress: Long): Settings
private external fun getState(daemonInterfaceAddress: Long): TunnelState
private external fun getVersionInfo(daemonInterfaceAddress: Long): AppVersionInfo?