diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-03-24 11:25:37 -0300 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-03-24 11:25:37 -0300 |
| commit | 3c54992c343097dcdb329f02e8fc51ca4866796c (patch) | |
| tree | 712d6ddd857424005ac1e147f60aaaab0e2f2b6d /android/src/main | |
| parent | a1adcdd2ef1c92c7ca776f70890d513d8738e190 (diff) | |
| parent | 149208025ffd11f7a7e7843845f6c98ab9fa5c3b (diff) | |
| download | mullvadvpn-3c54992c343097dcdb329f02e8fc51ca4866796c.tar.xz mullvadvpn-3c54992c343097dcdb329f02e8fc51ca4866796c.zip | |
Merge branch 'handle-intents-when-logged-out'
Diffstat (limited to 'android/src/main')
3 files changed, 23 insertions, 11 deletions
diff --git a/android/src/main/AndroidManifest.xml b/android/src/main/AndroidManifest.xml index 668e3e772a..afad471490 100644 --- a/android/src/main/AndroidManifest.xml +++ b/android/src/main/AndroidManifest.xml @@ -19,6 +19,9 @@ <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> + <intent-filter> + <action android:name="android.service.quicksettings.action.QS_TILE_PREFERENCES" /> + </intent-filter> </activity> <service android:name="net.mullvad.mullvadvpn.service.MullvadVpnService" android:permission="android.permission.BIND_VPN_SERVICE"> diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/SettingsListener.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/SettingsListener.kt index 3807495102..c988f966a0 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/SettingsListener.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/SettingsListener.kt @@ -26,15 +26,6 @@ class SettingsListener(val daemon: MullvadDaemon) { } } - var onAllowLanChange: ((Boolean) -> Unit)? = null - set(value) { - synchronized(this) { - field = value - - value?.invoke(settings.allowLan) - } - } - var onRelaySettingsChange: ((RelaySettings?) -> Unit)? = null set(value) { synchronized(this) { 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 20c2545e12..b850406da8 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt @@ -10,6 +10,7 @@ import kotlinx.coroutines.Job import kotlinx.coroutines.launch import net.mullvad.mullvadvpn.dataproxy.ConnectionProxy import net.mullvad.mullvadvpn.service.tunnelstate.TunnelStateUpdater +import net.mullvad.mullvadvpn.ui.MainActivity import net.mullvad.talpid.TalpidVpnService import net.mullvad.talpid.util.EventNotifier @@ -64,6 +65,12 @@ class MullvadVpnService : TalpidVpnService() { notificationManager.lockedToForeground = value } + private var loggedIn = false + set(value) { + field = value + notificationManager.loggedIn = value + } + override fun onCreate() { super.onCreate() @@ -78,7 +85,12 @@ class MullvadVpnService : TalpidVpnService() { val action = intent?.action if (action == VpnService.SERVICE_INTERFACE || action == KEY_CONNECT_ACTION) { - pendingAction = PendingAction.Connect + if (loggedIn) { + pendingAction = PendingAction.Connect + } else { + pendingAction = null + openUi() + } } else if (action == KEY_DISCONNECT_ACTION) { pendingAction = PendingAction.Disconnect } @@ -140,7 +152,7 @@ class MullvadVpnService : TalpidVpnService() { val newDaemon = MullvadDaemon(this@MullvadVpnService).apply { onSettingsChange.subscribe { settings -> - notificationManager.loggedIn = settings?.accountToken != null + loggedIn = settings?.accountToken != null } onDaemonStopped = { @@ -188,4 +200,10 @@ class MullvadVpnService : TalpidVpnService() { tearDown() setUp() } + + private fun openUi() { + val intent = Intent(this, MainActivity::class.java) + + startActivity(intent) + } } |
