diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-06-24 20:11:40 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-06-24 23:51:01 +0000 |
| commit | 136cb04de8aedc8e21df9407290b086c23318a9d (patch) | |
| tree | 7cd32a45173d3659e79a579264a29dac5b7332da /android | |
| parent | d775f157117c58583616ec268118818b0682b322 (diff) | |
| download | mullvadvpn-136cb04de8aedc8e21df9407290b086c23318a9d.tar.xz mullvadvpn-136cb04de8aedc8e21df9407290b086c23318a9d.zip | |
Use `SettingsListener` to listen for changes
Diffstat (limited to 'android')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt | 3 | ||||
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/SettingsListener.kt | 14 |
2 files changed, 14 insertions, 3 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt index 1731ce2a56..5d871e0511 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt @@ -20,6 +20,7 @@ import net.mullvad.mullvadvpn.dataproxy.AccountCache import net.mullvad.mullvadvpn.dataproxy.LocationInfoCache import net.mullvad.mullvadvpn.dataproxy.MullvadProblemReport import net.mullvad.mullvadvpn.dataproxy.RelayListListener +import net.mullvad.mullvadvpn.dataproxy.SettingsListener import net.mullvad.mullvadvpn.model.RelaySettings import net.mullvad.mullvadvpn.model.Settings import net.mullvad.mullvadvpn.relaylist.RelayItem @@ -39,6 +40,7 @@ class MainActivity : FragmentActivity() { val locationInfoCache = LocationInfoCache(asyncDaemon) val problemReport = MullvadProblemReport() var relayListListener = RelayListListener(this) + var settingsListener = SettingsListener(this) private var waitForDaemonJob: Job? = null @@ -84,6 +86,7 @@ class MainActivity : FragmentActivity() { override fun onDestroy() { accountCache.onDestroy() relayListListener.onDestroy() + settingsListener.onDestroy() waitForDaemonJob?.cancel() asyncSettings.cancel() diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/SettingsListener.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/SettingsListener.kt index 933b64e2c6..868f088d77 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/SettingsListener.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/SettingsListener.kt @@ -1,18 +1,26 @@ package net.mullvad.mullvadvpn.dataproxy +import kotlinx.coroutines.launch +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.GlobalScope + import net.mullvad.mullvadvpn.MainActivity import net.mullvad.mullvadvpn.model.Settings import net.mullvad.mullvadvpn.MullvadDaemon class SettingsListener(val parentActivity: MainActivity) { - private var daemon: MullvadDaemon? = null + private lateinit var daemon: MullvadDaemon + private val setUpJob = setUp() private var settings: Settings? = null fun onDestroy() { setUpJob.cancel() - daemon?.onSettingsChange = null + + if (::daemon.isInitialized) { + daemon.onSettingsChange = null + } } private fun setUp() = GlobalScope.launch(Dispatchers.Default) { @@ -26,7 +34,7 @@ class SettingsListener(val parentActivity: MainActivity) { synchronized(this) { if (settings == null) { - settings = initialSettings + handleNewSettings(initialSettings) } } } |
