diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-08-14 13:18:28 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-08-17 13:40:57 +0000 |
| commit | 5901a4dffab6f23e933486591b19145d4828bec5 (patch) | |
| tree | 68003765f29fc6de06789fe2ff3f56fd4ccceadc /android/src/main | |
| parent | dbd9e4fa06cc6110ad4e4b76ed113f2c7655f931 (diff) | |
| download | mullvadvpn-5901a4dffab6f23e933486591b19145d4828bec5.tar.xz mullvadvpn-5901a4dffab6f23e933486591b19145d4828bec5.zip | |
Don't start service while quitting
Diffstat (limited to 'android/src/main')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt index b55df1f19c..9b8fffd867 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt @@ -27,6 +27,7 @@ class MainActivity : FragmentActivity() { val problemReport = MullvadProblemReport() val serviceNotifier = EventNotifier<ServiceConnection?>(null) + private var quitting = false private var service: MullvadVpnService.LocalBinder? = null private var serviceConnection: ServiceConnection? = null private var shouldConnect = false @@ -67,6 +68,8 @@ class MainActivity : FragmentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) + quitting = false + problemReport.logDirectory.complete(filesDir) setContentView(R.layout.main) @@ -85,15 +88,17 @@ class MainActivity : FragmentActivity() { android.util.Log.d("mullvad", "Starting main activity") super.onStart() - val intent = Intent(this, MullvadVpnService::class.java) + if (!quitting) { + val intent = Intent(this, MullvadVpnService::class.java) - if (Build.VERSION.SDK_INT >= 26) { - startForegroundService(intent) - } else { - startService(intent) - } + if (Build.VERSION.SDK_INT >= 26) { + startForegroundService(intent) + } else { + startService(intent) + } - bindService(intent, serviceConnectionManager, 0) + bindService(intent, serviceConnectionManager, 0) + } } override fun onActivityResult(requestCode: Int, resultCode: Int, resultData: Intent?) { @@ -164,6 +169,7 @@ class MainActivity : FragmentActivity() { } fun quit() { + quitting = true service?.stop() finishAndRemoveTask() } |
