summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-08-14 13:18:28 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-08-17 13:40:57 +0000
commit5901a4dffab6f23e933486591b19145d4828bec5 (patch)
tree68003765f29fc6de06789fe2ff3f56fd4ccceadc /android/src
parentdbd9e4fa06cc6110ad4e4b76ed113f2c7655f931 (diff)
downloadmullvadvpn-5901a4dffab6f23e933486591b19145d4828bec5.tar.xz
mullvadvpn-5901a4dffab6f23e933486591b19145d4828bec5.zip
Don't start service while quitting
Diffstat (limited to 'android/src')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/MainActivity.kt20
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()
}