summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2021-01-05 14:53:31 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2021-04-12 13:19:37 +0000
commit650f27e965b14a9880edce34d3f26af727f583a8 (patch)
tree4cefd8aedf4d99d118c209e6e58c28d82c5ac844 /android/src
parent4d74d26765c57e70716329ec1cb20b2dbf5bca68 (diff)
downloadmullvadvpn-650f27e965b14a9880edce34d3f26af727f583a8.tar.xz
mullvadvpn-650f27e965b14a9880edce34d3f26af727f583a8.zip
Use `ConnectionProxy` in `TunnelStateUpdater`
Diffstat (limited to 'android/src')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadVpnService.kt3
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/service/tunnelstate/TunnelStateUpdater.kt21
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
}
}
}