diff options
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/LaunchFragment.kt | 3 | ||||
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt | 11 |
2 files changed, 12 insertions, 2 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/LaunchFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/LaunchFragment.kt index 043c8efe15..f2a5a5a97f 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/LaunchFragment.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/LaunchFragment.kt @@ -38,8 +38,7 @@ class LaunchFragment : Fragment() { private fun checkForAccountToken() = GlobalScope.async(Dispatchers.Default) { val parentActivity = activity as MainActivity - val daemon = parentActivity.asyncDaemon.await() - val settings = daemon.getSettings() + val settings = parentActivity.asyncSettings.await() settings.accountToken != null } diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt index b68671afbd..0fb8c5f409 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt @@ -12,6 +12,7 @@ import kotlinx.coroutines.Job import android.os.Bundle import android.support.v4.app.FragmentActivity +import net.mullvad.mullvadvpn.model.Settings import net.mullvad.mullvadvpn.relaylist.RelayItem import net.mullvad.mullvadvpn.relaylist.RelayList @@ -27,6 +28,11 @@ class MainActivity : FragmentActivity() { val relayList: RelayList get() = runBlocking { asyncRelayList.await() } + var asyncSettings = fetchSettings() + private set + val settings + get() = runBlocking { asyncSettings.await() } + var selectedRelayItem: RelayItem? = null override fun onCreate(savedInstanceState: Bundle?) { @@ -41,6 +47,7 @@ class MainActivity : FragmentActivity() { } override fun onDestroy() { + asyncSettings.cancel() asyncRelayList.cancel() asyncDaemon.cancel() @@ -63,4 +70,8 @@ class MainActivity : FragmentActivity() { private fun fetchRelayList() = GlobalScope.async(Dispatchers.Default) { RelayList(asyncDaemon.await().getRelayLocations()) } + + private fun fetchSettings() = GlobalScope.async(Dispatchers.Default) { + asyncDaemon.await().getSettings() + } } |
