summaryrefslogtreecommitdiffhomepage
path: root/android/src/main
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-05-21 14:39:25 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-05-22 12:41:41 +0000
commit19364df3fffdeb24d24e0600bf79cd00976822f0 (patch)
treeebd42c2c07f08dceff370b77b64bcde9b2592c99 /android/src/main
parent10a411a4117d32657b510a68fc1a51ff70de8a66 (diff)
downloadmullvadvpn-19364df3fffdeb24d24e0600bf79cd00976822f0.tar.xz
mullvadvpn-19364df3fffdeb24d24e0600bf79cd00976822f0.zip
Start daemon when `MainActivity` is created
Diffstat (limited to 'android/src/main')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt14
1 files changed, 9 insertions, 5 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt
index 8b1571c2fc..b751bf63d9 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt
@@ -1,6 +1,7 @@
package net.mullvad.mullvadvpn
-import kotlinx.coroutines.launch
+import kotlinx.coroutines.async
+import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
@@ -10,10 +11,12 @@ import android.os.Bundle
import android.support.v4.app.FragmentActivity
class MainActivity : FragmentActivity() {
- private val extractApiRootCaFile = doExtractApiRootCaFile()
-
val activityCreated = CompletableDeferred<Unit>()
+ val asyncDaemon = startDaemon()
+ val daemon
+ get() = runBlocking { asyncDaemon.await() }
+
var selectedRelayItemCode: String? = null
override fun onCreate(savedInstanceState: Bundle?) {
@@ -28,7 +31,7 @@ class MainActivity : FragmentActivity() {
}
override fun onDestroy() {
- extractApiRootCaFile.cancel()
+ asyncDaemon.cancel()
super.onDestroy()
}
@@ -40,8 +43,9 @@ class MainActivity : FragmentActivity() {
}
}
- private fun doExtractApiRootCaFile() = GlobalScope.launch(Dispatchers.Default) {
+ private fun startDaemon() = GlobalScope.async(Dispatchers.Default) {
activityCreated.await()
ApiRootCaFile().extract(this@MainActivity)
+ MullvadDaemon()
}
}