summaryrefslogtreecommitdiffhomepage
path: root/android/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'android/src/main')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/LaunchFragment.kt3
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt11
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()
+ }
}