summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-12-06 18:46:09 -0300
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-12-06 18:46:09 -0300
commited9c9a0833e14ce783679277e6756acda98224f6 (patch)
treec9955c8be48d46e6b880f66621667eec7e34850b /android/src
parent489999741383c3931722e1d8ec59e4cfc4b6b5ab (diff)
parentc20983612071450740d81b36c1a0e22f8705cb57 (diff)
downloadmullvadvpn-ed9c9a0833e14ce783679277e6756acda98224f6.tar.xz
mullvadvpn-ed9c9a0833e14ce783679277e6756acda98224f6.zip
Merge branch 'fix-upgrade-to-null-message'
Diffstat (limited to 'android/src')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/AppVersionInfoCache.kt32
1 files changed, 16 insertions, 16 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/AppVersionInfoCache.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/AppVersionInfoCache.kt
index cf62ffed0b..73195df86f 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/AppVersionInfoCache.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/AppVersionInfoCache.kt
@@ -18,8 +18,22 @@ class AppVersionInfoCache(val parentActivity: MainActivity) {
private var appVersionInfo: AppVersionInfo? = null
set(value) {
synchronized(this) {
- field = value
- updateUpgradeVersion()
+ upgradeVersion = if (isStable) value?.latestStable else value?.latest
+
+ if (value != null && upgradeVersion == version) {
+ upgradeVersion = null
+
+ field = AppVersionInfo(
+ value.currentIsSupported,
+ /* currentIsOutdated = */ false,
+ value.latestStable,
+ value.latest
+ )
+ } else {
+ field = value
+ }
+
+ onUpdate?.invoke()
}
}
@@ -65,8 +79,6 @@ class AppVersionInfoCache(val parentActivity: MainActivity) {
version = currentVersion
isStable = !currentVersion.contains("-")
- updateUpgradeVersion()
-
daemon.onAppVersionInfoChange = { newAppVersionInfo ->
appVersionInfo = newAppVersionInfo
}
@@ -83,16 +95,4 @@ class AppVersionInfoCache(val parentActivity: MainActivity) {
private fun tearDown() = GlobalScope.launch(Dispatchers.Default) {
daemon.await().onAppVersionInfoChange = null
}
-
- private fun updateUpgradeVersion() {
- val target = if (isStable) latestStable else latest
-
- if (target == version || target == null) {
- upgradeVersion = null
- } else {
- upgradeVersion = target
- }
-
- onUpdate?.invoke()
- }
}