diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-12-08 03:08:47 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-12-13 11:33:51 +0000 |
| commit | b8ddc651a78ac3b8507d663760253e50f227f26e (patch) | |
| tree | 6620085562f6e879c88839fc4d6e20a3450cf5ec /android/src | |
| parent | 52a66e4c4907dd03962674d02d209de8b19c6333 (diff) | |
| download | mullvadvpn-b8ddc651a78ac3b8507d663760253e50f227f26e.tar.xz mullvadvpn-b8ddc651a78ac3b8507d663760253e50f227f26e.zip | |
Decouple `RelayListListener` from `MainActivity`
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/RelayListListener.kt | 15 | ||||
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt | 2 |
2 files changed, 8 insertions, 9 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 df743a7e58..056331d223 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,6 @@ package net.mullvad.mullvadvpn.dataproxy -import kotlinx.coroutines.CompletableDeferred +import kotlinx.coroutines.Deferred import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch @@ -10,10 +10,11 @@ import net.mullvad.mullvadvpn.model.RelaySettings import net.mullvad.mullvadvpn.relaylist.RelayItem import net.mullvad.mullvadvpn.relaylist.RelayList import net.mullvad.mullvadvpn.service.MullvadDaemon -import net.mullvad.mullvadvpn.ui.MainActivity -class RelayListListener(val parentActivity: MainActivity) { - private val daemon = CompletableDeferred<MullvadDaemon>() +class RelayListListener( + val daemon: Deferred<MullvadDaemon>, + val settingsListener: SettingsListener +) { private val setUpJob = setUp() private var relayList: RelayList? = null @@ -36,14 +37,14 @@ class RelayListListener(val parentActivity: MainActivity) { } init { - parentActivity.settingsListener.onRelaySettingsChange = { newRelaySettings -> + settingsListener.onRelaySettingsChange = { newRelaySettings -> relaySettingsChanged(newRelaySettings) } } fun onDestroy() { setUpJob.cancel() - parentActivity.settingsListener.onRelaySettingsChange = null + settingsListener.onRelaySettingsChange = null if (daemon.isActive) { daemon.cancel() @@ -53,8 +54,6 @@ class RelayListListener(val parentActivity: MainActivity) { } private fun setUp() = GlobalScope.launch(Dispatchers.Default) { - daemon.complete(parentActivity.daemon.await()) - setUpListener() fetchInitialRelayList() } diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt index 7c6daf4366..8fc70f34a3 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt @@ -44,7 +44,7 @@ class MainActivity : FragmentActivity() { val keyStatusListener = KeyStatusListener(daemon) val problemReport = MullvadProblemReport() var settingsListener = SettingsListener(daemon) - var relayListListener = RelayListListener(this) + var relayListListener = RelayListListener(daemon, settingsListener) val locationInfoCache = LocationInfoCache(daemon, connectivityListener, relayListListener) val accountCache = AccountCache(settingsListener, daemon) val wwwAuthTokenRetriever = WwwAuthTokenRetriever(daemon) |
