summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-09-08 21:18:38 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-09-09 12:49:43 +0000
commit50775ece863cf8aea35ebbce12a1e7ddd4d22815 (patch)
tree5a34ee27b092f4567e2cc7daa809861f791c1ecd
parentc84a9198c4d6fd7bd9297aa77f6278d097c101b2 (diff)
downloadmullvadvpn-50775ece863cf8aea35ebbce12a1e7ddd4d22815.tar.xz
mullvadvpn-50775ece863cf8aea35ebbce12a1e7ddd4d22815.zip
Always handle commands the same way
Both when starting the service and when the service is already running.
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt20
1 files changed, 7 insertions, 13 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt
index b21e7a34be..44b2e9c02c 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt
@@ -68,20 +68,14 @@ class MullvadVpnService : TalpidVpnService() {
private lateinit var notificationManager: ForegroundNotificationManager
private lateinit var tunnelStateUpdater: TunnelStateUpdater
- private var pendingAction: PendingAction? = null
- set(value) {
- field = value
-
- instance?.connectionProxy?.let { activeConnectionProxy ->
- when (value) {
- PendingAction.Connect -> activeConnectionProxy.connect()
- PendingAction.Disconnect -> activeConnectionProxy.disconnect()
- null -> {}
- }
-
- field = null
- }
+ private var pendingAction by observable<PendingAction?>(null) { _, _, action ->
+ instance?.let { activeInstance ->
+ handlePendingAction(
+ activeInstance.connectionProxy,
+ activeInstance.settingsListener.settings
+ )
}
+ }
private var isBound by observable(false) { _, _, isBound ->
notificationManager.lockedToForeground = isBound