summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-06-09 17:10:54 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-06-22 12:29:44 +0000
commit3764c8a2b4810e53053dfea5fa30cd57f6ab130c (patch)
treeffe55294db15665e8118f1b3faacdce87baccd3d /android/src
parent0cd96899c2f1d81560be468471a5d740fcbd2d1b (diff)
downloadmullvadvpn-3764c8a2b4810e53053dfea5fa30cd57f6ab130c.tar.xz
mullvadvpn-3764c8a2b4810e53053dfea5fa30cd57f6ab130c.zip
Use account cache to determine if logged in
Diffstat (limited to 'android/src')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt14
1 files changed, 9 insertions, 5 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 fed15899dd..db42c5c63c 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt
@@ -18,6 +18,7 @@ import net.mullvad.mullvadvpn.service.tunnelstate.TunnelStateUpdater
import net.mullvad.mullvadvpn.ui.MainActivity
import net.mullvad.talpid.TalpidVpnService
import net.mullvad.talpid.util.EventNotifier
+import net.mullvad.talpid.util.autoSubscribable
private const val RELAYS_FILE = "relays.json"
@@ -45,10 +46,17 @@ class MullvadVpnService : TalpidVpnService() {
private var instance by observable<ServiceInstance?>(null) { _, oldInstance, newInstance ->
if (newInstance != oldInstance) {
oldInstance?.onDestroy()
+
+ accountNumberEvents = newInstance?.accountCache?.onAccountNumberChange
+
serviceNotifier.notify(newInstance)
}
}
+ private var accountNumberEvents by autoSubscribable<String?>(this, null) { accountNumber ->
+ loggedIn = accountNumber != null
+ }
+
private lateinit var keyguardManager: KeyguardManager
private lateinit var notificationManager: ForegroundNotificationManager
private lateinit var tunnelStateUpdater: TunnelStateUpdater
@@ -192,11 +200,7 @@ class MullvadVpnService : TalpidVpnService() {
}
private fun setUpInstance(daemon: MullvadDaemon, settings: Settings) {
- val settingsListener = SettingsListener(daemon, settings).apply {
- accountNumberNotifier.subscribe(this@MullvadVpnService) { accountNumber ->
- loggedIn = accountNumber != null
- }
- }
+ val settingsListener = SettingsListener(daemon, settings)
val connectionProxy = ConnectionProxy(this, daemon).apply {
when (pendingAction) {