From 4b8e6cf922182a726ea74904fe6f448771140572 Mon Sep 17 00:00:00 2001 From: Revertron Date: Sat, 19 Nov 2022 16:02:45 +0100 Subject: [PATCH] Fixed a bug with turning on/off the VPN. --- .../main/java/eu/neilalexander/yggdrasil/MainActivity.kt | 3 +-- .../eu/neilalexander/yggdrasil/PacketTunnelProvider.kt | 9 +++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/eu/neilalexander/yggdrasil/MainActivity.kt b/app/src/main/java/eu/neilalexander/yggdrasil/MainActivity.kt index 0d849d4..dc79acb 100644 --- a/app/src/main/java/eu/neilalexander/yggdrasil/MainActivity.kt +++ b/app/src/main/java/eu/neilalexander/yggdrasil/MainActivity.kt @@ -128,6 +128,7 @@ class MainActivity : AppCompatActivity() { receiver, IntentFilter(STATE_INTENT) ) val preferences = PreferenceManager.getDefaultSharedPreferences(this.baseContext) + enabledSwitch.isChecked = preferences.getBoolean(PREF_KEY_ENABLED, false) val serverString = preferences.getString(KEY_DNS_SERVERS, "") if (serverString!!.isNotEmpty()) { val servers = serverString.split(",") @@ -153,7 +154,6 @@ class MainActivity : AppCompatActivity() { when (intent.getStringExtra("type")) { "state" -> { enabledLabel.text = if (intent.getBooleanExtra("started", false)) { - enabledSwitch.isChecked = true var count = 0 if (intent.hasExtra("dht")) { val dht = intent.getStringExtra("dht") @@ -170,7 +170,6 @@ class MainActivity : AppCompatActivity() { getString(R.string.main_enabled) } } else { - enabledSwitch.isChecked = false enabledLabel.setTextColor(Color.GRAY) getString(R.string.main_disabled) } diff --git a/app/src/main/java/eu/neilalexander/yggdrasil/PacketTunnelProvider.kt b/app/src/main/java/eu/neilalexander/yggdrasil/PacketTunnelProvider.kt index 443dff6..4923a91 100644 --- a/app/src/main/java/eu/neilalexander/yggdrasil/PacketTunnelProvider.kt +++ b/app/src/main/java/eu/neilalexander/yggdrasil/PacketTunnelProvider.kt @@ -59,10 +59,7 @@ class PacketTunnelProvider: VpnService() { return START_NOT_STICKY } val preferences = PreferenceManager.getDefaultSharedPreferences(this.baseContext) - if (!preferences.getBoolean(PREF_KEY_ENABLED, false)) { - Log.d(TAG, "Service is disabled") - return START_NOT_STICKY - } + val enabled = preferences.getBoolean(PREF_KEY_ENABLED, false) return when (intent.action ?: ACTION_STOP) { ACTION_STOP -> { Log.d(TAG, "Stopping...") @@ -86,6 +83,10 @@ class PacketTunnelProvider: VpnService() { } } else -> { + if (!enabled) { + Log.d(TAG, "Service is disabled") + return START_NOT_STICKY + } Log.d(TAG, "Starting...") start(); START_STICKY }