diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-02-06 11:24:28 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-02-06 17:51:37 +0000 |
| commit | 056d0072e2bf23773e8f323adcbb66d8c90207f2 (patch) | |
| tree | 893bc50ad7beda16d1ec7b807bb2bdd051050f55 | |
| parent | 54796fa13112d2185a90edbc05d043c137c835a6 (diff) | |
| download | mullvadvpn-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.
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/RelayListListener.kt | 2 | ||||
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadDaemon.kt | 4 |
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? |
