summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-07-30 16:06:04 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-07-31 15:32:33 +0000
commit251861f1a82ba70d538ca1a682a045661625c9b6 (patch)
tree711e02c804b06a3afcd6e02928ca5e68876244bf /android/src
parent237e287bf86a721556603673a9cc4617282c0732 (diff)
downloadmullvadvpn-251861f1a82ba70d538ca1a682a045661625c9b6.tar.xz
mullvadvpn-251861f1a82ba70d538ca1a682a045661625c9b6.zip
Store upgrade information in `AppVersionInfoCache`
Diffstat (limited to 'android/src')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/AppVersionInfoCache.kt22
1 files changed, 22 insertions, 0 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 cbc11abfef..bcf0fef11e 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/AppVersionInfoCache.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/AppVersionInfoCache.kt
@@ -38,6 +38,11 @@ class AppVersionInfoCache(val parentActivity: MainActivity) {
var latest: String? = null
private set
+ var isLatest = true
+ private set
+ var upgradeVersion: String? = null
+ private set
+
private val listener = object : OnSharedPreferenceChangeListener {
override fun onSharedPreferenceChanged(preferences: SharedPreferences, key: String) {
when (key) {
@@ -45,7 +50,10 @@ class AppVersionInfoCache(val parentActivity: MainActivity) {
KEY_LAST_UPDATED -> lastUpdated = preferences.getLong(key, lastUpdated)
KEY_LATEST_STABLE -> latestStable = preferences.getString(key, latestStable)
KEY_LATEST -> latest = preferences.getString(key, latest)
+ else -> return
}
+
+ updateUpgradeVersion()
}
}
@@ -68,5 +76,19 @@ class AppVersionInfoCache(val parentActivity: MainActivity) {
version = currentVersion
isStable = !currentVersion.contains("-")
+
+ updateUpgradeVersion()
+ }
+
+ private fun updateUpgradeVersion() {
+ val target = if (isStable) latestStable else latest
+
+ if (target == version) {
+ isLatest = true
+ upgradeVersion = null
+ } else {
+ isLatest = false
+ upgradeVersion = target
+ }
}
}