diff options
| author | Linus Färnstrand <linus@mullvad.net> | 2019-09-19 08:53:46 +0200 |
|---|---|---|
| committer | Linus Färnstrand <linus@mullvad.net> | 2019-09-19 14:33:54 +0200 |
| commit | 7840211b2f7880ef4527581def9a205581a2a4b3 (patch) | |
| tree | 5102ba8e70df54de11d50eb9da73b46666754f47 /android/src | |
| parent | f65b3d7f557a2fa6414cf762dbe73f1dfca2864b (diff) | |
| download | mullvadvpn-7840211b2f7880ef4527581def9a205581a2a4b3.tar.xz mullvadvpn-7840211b2f7880ef4527581def9a205581a2a4b3.zip | |
Listen to current_is_outdated instead of using version strings
Diffstat (limited to 'android/src')
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 ) |
