summaryrefslogtreecommitdiffhomepage
path: root/android/src/main
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-05-04 17:03:01 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-05-04 19:02:49 +0000
commit5261dfe49cbb1cd72ff70baeb9c40e3c851a2169 (patch)
tree7ad8cc95f76508911ccd7048dbf313bf7990fd76 /android/src/main
parent5b9dd5ad33336c77d0f956cba7967fafb60ee9a7 (diff)
downloadmullvadvpn-5261dfe49cbb1cd72ff70baeb9c40e3c851a2169.tar.xz
mullvadvpn-5261dfe49cbb1cd72ff70baeb9c40e3c851a2169.zip
Check login status before handling pending action
Diffstat (limited to 'android/src/main')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt27
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,