diff options
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt | 3 | ||||
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/service/tunnelstate/TunnelStateUpdater.kt | 21 |
2 files changed, 5 insertions, 19 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 0988fcf035..ae7c785bdd 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt @@ -102,7 +102,6 @@ class MullvadVpnService : TalpidVpnService() { daemonInstance = DaemonInstance(this) keyguardManager = getSystemService(Context.KEYGUARD_SERVICE) as KeyguardManager - tunnelStateUpdater = TunnelStateUpdater(this, serviceNotifier) endpoint = ServiceEndpoint( Looper.getMainLooper(), @@ -111,6 +110,8 @@ class MullvadVpnService : TalpidVpnService() { this ) + tunnelStateUpdater = TunnelStateUpdater(this, connectionProxy) + notificationManager = ForegroundNotificationManager(this, connectionProxy, keyguardManager).apply { acknowledgeStartForegroundService() diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/tunnelstate/TunnelStateUpdater.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/tunnelstate/TunnelStateUpdater.kt index 53c12b456c..4d33ec4896 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/tunnelstate/TunnelStateUpdater.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/tunnelstate/TunnelStateUpdater.kt @@ -1,29 +1,14 @@ package net.mullvad.mullvadvpn.service.tunnelstate import android.content.Context -import net.mullvad.mullvadvpn.service.ServiceInstance import net.mullvad.mullvadvpn.service.endpoint.ConnectionProxy -import net.mullvad.talpid.util.EventNotifier -class TunnelStateUpdater(context: Context, serviceNotifier: EventNotifier<ServiceInstance?>) { +class TunnelStateUpdater(context: Context, private val connectionProxy: ConnectionProxy) { private val persistence = Persistence(context) - private var connectionProxy: ConnectionProxy? = null - private var stateSubscriptionId: Int? = null - init { - serviceNotifier.subscribe(this) { serviceInstance -> - onNewServiceInstance(serviceInstance) - } - } - - private fun onNewServiceInstance(serviceInstance: ServiceInstance?) { - connectionProxy?.onStateChange?.unsubscribe(this) - - connectionProxy = serviceInstance?.connectionProxy?.apply { - onStateChange.subscribe(this@TunnelStateUpdater) { newState -> - persistence.state = newState - } + connectionProxy.onStateChange.subscribe(this) { newState -> + persistence.state = newState } } } |
