diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2020-09-14 19:46:49 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2020-09-15 12:30:15 +0200 |
commit | bab70ab51ecc02c2e8afd1843cdd4d90ae9cc257 (patch) | |
tree | bd7117473f42dc6211d9aad4c78cbdddeb851b3e /ui/src/main/java/com/wireguard/android/activity/BaseActivity.kt | |
parent | coroutines: convert low-hanging fruits (diff) | |
download | wireguard-android-bab70ab51ecc02c2e8afd1843cdd4d90ae9cc257.tar.xz wireguard-android-bab70ab51ecc02c2e8afd1843cdd4d90ae9cc257.zip |
coroutines: convert the rest
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'ui/src/main/java/com/wireguard/android/activity/BaseActivity.kt')
-rw-r--r-- | ui/src/main/java/com/wireguard/android/activity/BaseActivity.kt | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/ui/src/main/java/com/wireguard/android/activity/BaseActivity.kt b/ui/src/main/java/com/wireguard/android/activity/BaseActivity.kt index 14ab0bdb..e663c1f2 100644 --- a/ui/src/main/java/com/wireguard/android/activity/BaseActivity.kt +++ b/ui/src/main/java/com/wireguard/android/activity/BaseActivity.kt @@ -9,6 +9,9 @@ import androidx.databinding.CallbackRegistry import androidx.databinding.CallbackRegistry.NotifierCallback import com.wireguard.android.Application import com.wireguard.android.model.ObservableTunnel +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.GlobalScope +import kotlinx.coroutines.launch /** * Base class for activities that need to remember the currently-selected tunnel. @@ -35,11 +38,8 @@ abstract class BaseActivity : ThemeChangeAwareActivity() { intent != null -> intent.getStringExtra(KEY_SELECTED_TUNNEL) else -> null } - if (savedTunnelName != null) { - Application.getTunnelManager() - .tunnels - .thenAccept { selectedTunnel = it[savedTunnelName] } - } + if (savedTunnelName != null) + GlobalScope.launch(Dispatchers.Main.immediate) { selectedTunnel = Application.getTunnelManager().getTunnels()[savedTunnelName] } // The selected tunnel must be set before the superclass method recreates fragments. super.onCreate(savedInstanceState) @@ -51,6 +51,7 @@ abstract class BaseActivity : ThemeChangeAwareActivity() { } protected abstract fun onSelectedTunnelChanged(oldTunnel: ObservableTunnel?, newTunnel: ObservableTunnel?) + fun removeOnSelectedTunnelChangedListener( listener: OnSelectedTunnelChangedListener) { selectionChangeRegistry.remove(listener) |