diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-07-31 19:31:40 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-07-31 19:33:57 +0000 |
| commit | 3c54ec3db3e1d5d6d39171e25c9d2a6e36b72fe2 (patch) | |
| tree | 79e0ce0d3fef0fd3febaf6be7a5ab448ac7b00c6 /android | |
| parent | d20dd34265a2661c662c19749c182f76eecc44ab (diff) | |
| download | mullvadvpn-3c54ec3db3e1d5d6d39171e25c9d2a6e36b72fe2.tar.xz mullvadvpn-3c54ec3db3e1d5d6d39171e25c9d2a6e36b72fe2.zip | |
Add `MainActivity::quit` to also stop the service
Diffstat (limited to 'android')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt | 10 |
1 files changed, 10 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 acfa68b502..4af4d7d72d 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt @@ -50,6 +50,7 @@ class MainActivity : FragmentActivity() { val locationInfoCache = LocationInfoCache(daemon, relayListListener) val accountCache = AccountCache(settingsListener, daemon) + private var shouldStopService = false private var waitForDaemonJob: Job? = null private val serviceConnection = object : ServiceConnection { @@ -106,6 +107,10 @@ class MainActivity : FragmentActivity() { } override fun onStop() { + if (shouldStopService) { + runBlocking { service.await().stop() } + } + unbindService(serviceConnection) super.onStop() @@ -153,6 +158,11 @@ class MainActivity : FragmentActivity() { return request } + fun quit() { + shouldStopService = true + finishAndRemoveTask() + } + private fun addInitialFragment() { supportFragmentManager?.beginTransaction()?.apply { add(R.id.main_fragment, LaunchFragment()) |
