diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-07-31 19:30:56 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-07-31 19:33:56 +0000 |
| commit | d20dd34265a2661c662c19749c182f76eecc44ab (patch) | |
| tree | 2ffc0a47681af9ff4c3107f4435a6e32c2234010 | |
| parent | 38ca3cc0a1c1230d589758820bb385be2d96edbd (diff) | |
| download | mullvadvpn-d20dd34265a2661c662c19749c182f76eecc44ab.tar.xz mullvadvpn-d20dd34265a2661c662c19749c182f76eecc44ab.zip | |
Store service binder in `MainActivity`
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt index 2d129e3971..acfa68b502 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt @@ -36,6 +36,8 @@ class MainActivity : FragmentActivity() { var daemon = CompletableDeferred<MullvadDaemon>() private set + var service = CompletableDeferred<MullvadVpnService.LocalBinder>() + private set var currentVersion = fetchCurrentVersion() @@ -54,13 +56,18 @@ class MainActivity : FragmentActivity() { override fun onServiceConnected(className: ComponentName, binder: IBinder) { val localBinder = binder as MullvadVpnService.LocalBinder + service.complete(localBinder) + waitForDaemonJob = GlobalScope.launch(Dispatchers.Default) { daemon.complete(localBinder.daemon.await()) } } override fun onServiceDisconnected(className: ComponentName) { + service.cancel() daemon.cancel() + + service = CompletableDeferred<MullvadVpnService.LocalBinder>() daemon = CompletableDeferred<MullvadDaemon>() } } |
