summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
Diffstat (limited to 'android/src')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadVpnService.kt17
1 files changed, 11 insertions, 6 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadVpnService.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadVpnService.kt
index 40d12b8082..02e8be5e2c 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadVpnService.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadVpnService.kt
@@ -18,18 +18,16 @@ import net.mullvad.mullvadvpn.dataproxy.ConnectionProxy
import net.mullvad.mullvadvpn.model.TunConfig
class MullvadVpnService : VpnService() {
- private val created = CompletableDeferred<Unit>()
private val binder = LocalBinder()
+ private val created = CompletableDeferred<Unit>()
+ private lateinit var daemon: Deferred<MullvadDaemon>
+ private lateinit var connectionProxy: ConnectionProxy
private lateinit var notificationManager: ForegroundNotificationManager
private lateinit var versionInfoFetcher: AppVersionInfoFetcher
- val daemon = startDaemon()
- val connectionProxy = ConnectionProxy(this, daemon)
-
override fun onCreate() {
- versionInfoFetcher = AppVersionInfoFetcher(daemon, this)
- notificationManager = ForegroundNotificationManager(this, connectionProxy)
+ setUp()
created.complete(Unit)
}
@@ -88,6 +86,13 @@ class MullvadVpnService : VpnService() {
}
}
+ private fun setUp() {
+ daemon = startDaemon()
+ connectionProxy = ConnectionProxy(this, daemon)
+ notificationManager = ForegroundNotificationManager(this, connectionProxy)
+ versionInfoFetcher = AppVersionInfoFetcher(daemon, this)
+ }
+
private fun startDaemon() = GlobalScope.async(Dispatchers.Default) {
created.await()
ApiRootCaFile().extract(application)