summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
authorLinus Färnstrand <linus@mullvad.net>2019-09-19 08:53:46 +0200
committerLinus Färnstrand <linus@mullvad.net>2019-09-19 14:33:54 +0200
commit7840211b2f7880ef4527581def9a205581a2a4b3 (patch)
tree5102ba8e70df54de11d50eb9da73b46666754f47 /android/src
parentf65b3d7f557a2fa6414cf762dbe73f1dfca2864b (diff)
downloadmullvadvpn-7840211b2f7880ef4527581def9a205581a2a4b3.tar.xz
mullvadvpn-7840211b2f7880ef4527581def9a205581a2a4b3.zip
Listen to current_is_outdated instead of using version strings
Diffstat (limited to 'android/src')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt2
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/SettingsFragment.kt2
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/AppVersionInfoCache.kt10
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/AppVersionInfoFetcher.kt1
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/model/AppVersionInfo.kt1
5 files changed, 10 insertions, 6 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt
index 41bdb7efa1..565196f94d 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt
@@ -109,7 +109,7 @@ class NotificationBanner(
}
private fun updateBasedOnVersionInfo(): Boolean {
- if (versionInfoCache.isLatest) {
+ if (!versionInfoCache.isOutdated && versionInfoCache.isSupported) {
hide()
} else {
val title: Int
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/SettingsFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/SettingsFragment.kt
index 8465a66140..a9ebe5d40f 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/SettingsFragment.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/SettingsFragment.kt
@@ -116,7 +116,7 @@ class SettingsFragment : Fragment() {
private fun updateVersionInfo() = GlobalScope.launch(Dispatchers.Main) {
appVersionLabel.setText(versionInfoCache.version ?: "")
- if (versionInfoCache.isLatest && versionInfoCache.isSupported) {
+ if (!versionInfoCache.isOutdated && versionInfoCache.isSupported) {
appVersionWarning.visibility = View.GONE
appVersionFooter.visibility = View.GONE
} else {
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 ecd31e1e90..6405940eb1 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/AppVersionInfoCache.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/AppVersionInfoCache.kt
@@ -13,6 +13,7 @@ import net.mullvad.mullvadvpn.MainActivity
class AppVersionInfoCache(val parentActivity: MainActivity) {
companion object {
val KEY_CURRENT_IS_SUPPORTED = "current_is_supported"
+ val KEY_CURRENT_IS_OUTDATED = "current_is_outdated"
val KEY_LAST_UPDATED = "last_updated"
val KEY_LATEST_STABLE = "latest_stable"
val KEY_LATEST = "latest"
@@ -39,13 +40,13 @@ class AppVersionInfoCache(val parentActivity: MainActivity) {
private set
var isSupported = true
private set
+ var isOutdated = false
+ private set
var latestStable: String? = null
private set
var latest: String? = null
private set
- var isLatest = true
- private set
var upgradeVersion: String? = null
private set
@@ -53,6 +54,7 @@ class AppVersionInfoCache(val parentActivity: MainActivity) {
override fun onSharedPreferenceChanged(preferences: SharedPreferences, key: String) {
when (key) {
KEY_CURRENT_IS_SUPPORTED -> isSupported = preferences.getBoolean(key, isSupported)
+ KEY_CURRENT_IS_OUTDATED -> isOutdated = preferences.getBoolean(key, isOutdated)
KEY_LAST_UPDATED -> lastUpdated = preferences.getLong(key, lastUpdated)
KEY_LATEST_STABLE -> latestStable = preferences.getString(key, latestStable)
KEY_LATEST -> latest = preferences.getString(key, latest)
@@ -68,6 +70,7 @@ class AppVersionInfoCache(val parentActivity: MainActivity) {
lastUpdated = preferences.getLong(KEY_LAST_UPDATED, 0L)
isSupported = preferences.getBoolean(KEY_CURRENT_IS_SUPPORTED, true)
+ isOutdated = preferences.getBoolean(KEY_CURRENT_IS_OUTDATED, false)
latestStable = preferences.getString(KEY_LATEST_STABLE, null)
latest = preferences.getString(KEY_LATEST, null)
}
@@ -90,13 +93,12 @@ class AppVersionInfoCache(val parentActivity: MainActivity) {
val target = if (isStable) latestStable else latest
if (target == version || target == null) {
- isLatest = true
upgradeVersion = null
} else {
- isLatest = false
upgradeVersion = target
}
onUpdate?.invoke()
}
+
}
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/AppVersionInfoFetcher.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/AppVersionInfoFetcher.kt
index 26c6e2f885..072388b405 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/AppVersionInfoFetcher.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/AppVersionInfoFetcher.kt
@@ -61,6 +61,7 @@ class AppVersionInfoFetcher(val daemon: Deferred<MullvadDaemon>, val context: Co
with(AppVersionInfoCache) {
putLong(KEY_LAST_UPDATED, now)
putBoolean(KEY_CURRENT_IS_SUPPORTED, versionInfo.currentIsSupported)
+ putBoolean(KEY_CURRENT_IS_OUTDATED, versionInfo.currentIsOutdated)
putString(KEY_LATEST_STABLE, versionInfo.latestStable)
putString(KEY_LATEST, versionInfo.latest)
commit()
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/AppVersionInfo.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/AppVersionInfo.kt
index 0c41090f3f..5bbdee7589 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/AppVersionInfo.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/AppVersionInfo.kt
@@ -2,6 +2,7 @@ package net.mullvad.mullvadvpn.model
data class AppVersionInfo(
val currentIsSupported: Boolean,
+ val currentIsOutdated: Boolean,
val latestStable: String,
val latest: String
)