diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-03-11 22:57:50 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-03-23 19:14:16 +0000 |
| commit | 767d30dd34769568a2a7216dd686cc3e5c8d70ad (patch) | |
| tree | 22eaafe48b8dbe1bc1d3aedbf3f509eaea2b25c9 /android/src/main | |
| parent | 66a90465afa0320f76ac64804498713cc920cd4b (diff) | |
| download | mullvadvpn-767d30dd34769568a2a7216dd686cc3e5c8d70ad.tar.xz mullvadvpn-767d30dd34769568a2a7216dd686cc3e5c8d70ad.zip | |
Handle connect/disconnect intents in the service
Diffstat (limited to 'android/src/main')
| -rw-r--r-- | android/src/main/AndroidManifest.xml | 6 | ||||
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt | 7 |
2 files changed, 11 insertions, 2 deletions
diff --git a/android/src/main/AndroidManifest.xml b/android/src/main/AndroidManifest.xml index cbd48f152e..668e3e772a 100644 --- a/android/src/main/AndroidManifest.xml +++ b/android/src/main/AndroidManifest.xml @@ -26,6 +26,12 @@ <intent-filter> <action android:name="android.net.VpnService" /> </intent-filter> + <intent-filter> + <action android:name="net.mullvad.mullvadvpn.connect_action" /> + </intent-filter> + <intent-filter> + <action android:name="net.mullvad.mullvadvpn.disconnect_action" /> + </intent-filter> </service> <service android:name="net.mullvad.mullvadvpn.service.MullvadTileService" android:label="@string/app_name" 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 70ee146590..20c2545e12 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt @@ -75,9 +75,12 @@ class MullvadVpnService : TalpidVpnService() { override fun onStartCommand(intent: Intent, flags: Int, startId: Int): Int { val startResult = super.onStartCommand(intent, flags, startId) + val action = intent?.action - if (intent?.getAction() == VpnService.SERVICE_INTERFACE) { - shouldConnect = true + if (action == VpnService.SERVICE_INTERFACE || action == KEY_CONNECT_ACTION) { + pendingAction = PendingAction.Connect + } else if (action == KEY_DISCONNECT_ACTION) { + pendingAction = PendingAction.Disconnect } return startResult |
