diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-12-11 23:09:27 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-01-07 14:03:28 +0000 |
| commit | c00a5ab44acf4fe75b1bfb821b2bae2a3b71bd58 (patch) | |
| tree | b9dad6649977a865a582f7d62d9dfae822ef1ffb /android | |
| parent | 814e25e623b8f717aee66d66e2ccaca720930ebc (diff) | |
| download | mullvadvpn-c00a5ab44acf4fe75b1bfb821b2bae2a3b71bd58.tar.xz mullvadvpn-c00a5ab44acf4fe75b1bfb821b2bae2a3b71bd58.zip | |
Use synchronous daemon in `RelayListListener`
Diffstat (limited to 'android')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/RelayListListener.kt | 21 | ||||
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ServiceConnection.kt | 2 |
2 files changed, 7 insertions, 16 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 056331d223..5fe1918551 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/RelayListListener.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/RelayListListener.kt @@ -1,6 +1,5 @@ package net.mullvad.mullvadvpn.dataproxy -import kotlinx.coroutines.Deferred import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch @@ -11,10 +10,7 @@ import net.mullvad.mullvadvpn.relaylist.RelayItem import net.mullvad.mullvadvpn.relaylist.RelayList import net.mullvad.mullvadvpn.service.MullvadDaemon -class RelayListListener( - val daemon: Deferred<MullvadDaemon>, - val settingsListener: SettingsListener -) { +class RelayListListener(val daemon: MullvadDaemon, val settingsListener: SettingsListener) { private val setUpJob = setUp() private var relayList: RelayList? = null @@ -45,12 +41,7 @@ class RelayListListener( fun onDestroy() { setUpJob.cancel() settingsListener.onRelaySettingsChange = null - - if (daemon.isActive) { - daemon.cancel() - } else { - daemon.getCompleted().onRelayListChange = null - } + daemon.onRelayListChange = null } private fun setUp() = GlobalScope.launch(Dispatchers.Default) { @@ -58,14 +49,14 @@ class RelayListListener( fetchInitialRelayList() } - private suspend fun setUpListener() { - daemon.await().onRelayListChange = { relayLocations -> + private fun setUpListener() { + daemon.onRelayListChange = { relayLocations -> relayListChanged(RelayList(relayLocations)) } } - private suspend fun fetchInitialRelayList() { - val relayLocations = daemon.await().getRelayLocations() + private fun fetchInitialRelayList() { + val relayLocations = daemon.getRelayLocations() synchronized(this) { if (relayList == null) { diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ServiceConnection.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ServiceConnection.kt index 8fcee52347..02a3bb9a54 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ServiceConnection.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ServiceConnection.kt @@ -24,7 +24,7 @@ class ServiceConnection(private val service: ServiceInstance, val mainActivity: val keyStatusListener = KeyStatusListener(daemon) val settingsListener = SettingsListener(asyncDaemon) val accountCache = AccountCache(settingsListener, daemon) - var relayListListener = RelayListListener(asyncDaemon, settingsListener) + var relayListListener = RelayListListener(daemon, settingsListener) val locationInfoCache = LocationInfoCache(daemon, connectivityListener, relayListListener) val wwwAuthTokenRetriever = WwwAuthTokenRetriever(asyncDaemon) |
