summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-05-22 15:00:48 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-05-25 11:51:59 +0000
commit339a59146f53ac7d7235f05b955760ee87d23364 (patch)
tree3296c99985ae14426b3cf293f951933c96f40084 /android
parentf871fe571be40168314069326e8c53977fe93edd (diff)
downloadmullvadvpn-339a59146f53ac7d7235f05b955760ee87d23364.tar.xz
mullvadvpn-339a59146f53ac7d7235f05b955760ee87d23364.zip
Use new `EventNotifier` API in `LocationInfoCache`
Diffstat (limited to 'android')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/service/LocationInfoCache.kt27
1 files changed, 14 insertions, 13 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/LocationInfoCache.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/LocationInfoCache.kt
index 6d6c1e6359..f679f11c1b 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/LocationInfoCache.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/LocationInfoCache.kt
@@ -31,17 +31,6 @@ class LocationInfoCache(
private var fetchIdCounter = 0L
private var fetchIdIsActive = false
- private val connectivityListenerId =
- connectivityListener.connectivityNotifier.subscribe { isConnected ->
- if (isConnected && state is TunnelState.Disconnected) {
- fetchLocation(true)
- }
- }
-
- private val realStateListenerId = connectionProxy.onStateChange.subscribe { realState ->
- state = realState
- }
-
var onNewLocation: ((GeoIpLocation?) -> Unit)? = null
set(value) {
field = value
@@ -88,9 +77,21 @@ class LocationInfoCache(
}
}
+ init {
+ connectivityListener.connectivityNotifier.subscribe(this) { isConnected ->
+ if (isConnected && state is TunnelState.Disconnected) {
+ fetchLocation(true)
+ }
+ }
+
+ connectionProxy.onStateChange.subscribe(this) { realState ->
+ state = realState
+ }
+ }
+
fun onDestroy() {
- connectivityListener.connectivityNotifier.unsubscribe(connectivityListenerId)
- connectionProxy.onStateChange.unsubscribe(realStateListenerId)
+ connectivityListener.connectivityNotifier.unsubscribe(this)
+ connectionProxy.onStateChange.unsubscribe(this)
cancelFetch()
}