diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-05-04 17:03:01 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-05-04 19:02:49 +0000 |
| commit | 5261dfe49cbb1cd72ff70baeb9c40e3c851a2169 (patch) | |
| tree | 7ad8cc95f76508911ccd7048dbf313bf7990fd76 /android/src | |
| parent | 5b9dd5ad33336c77d0f956cba7967fafb60ee9a7 (diff) | |
| download | mullvadvpn-5261dfe49cbb1cd72ff70baeb9c40e3c851a2169.tar.xz mullvadvpn-5261dfe49cbb1cd72ff70baeb9c40e3c851a2169.zip | |
Check login status before handling pending action
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt | 27 |
1 files changed, 14 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 f60993fe50..7e5318c892 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt @@ -90,12 +90,7 @@ class MullvadVpnService : TalpidVpnService() { val action = intent?.action if (action == VpnService.SERVICE_INTERFACE || action == KEY_CONNECT_ACTION) { - if (loggedIn) { - pendingAction = PendingAction.Connect - } else { - pendingAction = null - openUi() - } + pendingAction = PendingAction.Connect } else if (action == KEY_DISCONNECT_ACTION) { pendingAction = PendingAction.Disconnect } @@ -191,9 +186,21 @@ class MullvadVpnService : TalpidVpnService() { } private fun setUpInstance(daemon: MullvadDaemon, settings: Settings) { + val settingsListener = SettingsListener(daemon, settings).apply { + accountNumberNotifier.subscribe { accountNumber -> + loggedIn = accountNumber != null + } + } + val connectionProxy = ConnectionProxy(this@MullvadVpnService, daemon).apply { when (pendingAction) { - PendingAction.Connect -> connect() + PendingAction.Connect -> { + if (loggedIn) { + connect() + } else { + openUi() + } + } PendingAction.Disconnect -> disconnect() null -> {} } @@ -203,12 +210,6 @@ class MullvadVpnService : TalpidVpnService() { val locationInfoCache = LocationInfoCache(daemon, connectionProxy, connectivityListener) - val settingsListener = SettingsListener(daemon, settings).apply { - accountNumberNotifier.subscribe { accountNumber -> - loggedIn = accountNumber != null - } - } - instance = ServiceInstance( daemon, connectionProxy, |
