diff options
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadVpnService.kt | 17 |
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) |
