diff options
| -rw-r--r-- | CHANGELOG.md | 1 | ||||
| -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 |
3 files changed, 4 insertions, 3 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 49e36a5b68..9b6199dcfd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,6 +35,7 @@ Line wrap the file at 100 chars. Th ### Fixed #### Android - Fix crash when removing the service from foreground on Android versions below API level 24. +- Fix crash that happened in certain situations when retrieving the relay list. ## [2020.1-beta1] - 2020-02-05 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? |
