diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-07-30 15:33:38 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-07-31 15:32:33 +0000 |
| commit | 237e287bf86a721556603673a9cc4617282c0732 (patch) | |
| tree | 240e2d9f7c46ffd0932a7a88664170ac2683fb4f | |
| parent | ef253d8230e40e2c0ec315c85c518a3b3685f0c4 (diff) | |
| download | mullvadvpn-237e287bf86a721556603673a9cc4617282c0732.tar.xz mullvadvpn-237e287bf86a721556603673a9cc4617282c0732.zip | |
Store current version in `AppVersionInfoCache`
And also an `isStable` flag.
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/AppVersionInfoCache.kt | 26 |
1 files changed, 24 insertions, 2 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 68a83a8489..cbc11abfef 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/AppVersionInfoCache.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/AppVersionInfoCache.kt @@ -1,10 +1,16 @@ package net.mullvad.mullvadvpn.dataproxy +import kotlinx.coroutines.launch +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.GlobalScope + import android.content.Context import android.content.SharedPreferences import android.content.SharedPreferences.OnSharedPreferenceChangeListener -class AppVersionInfoCache(val context: Context) { +import net.mullvad.mullvadvpn.MainActivity + +class AppVersionInfoCache(val parentActivity: MainActivity) { companion object { val KEY_CURRENT_IS_SUPPORTED = "current_is_supported" val KEY_LAST_UPDATED = "last_updated" @@ -13,7 +19,15 @@ class AppVersionInfoCache(val context: Context) { val SHARED_PREFERENCES = "app_version_info_cache" } - private val preferences = context.getSharedPreferences(SHARED_PREFERENCES, Context.MODE_PRIVATE) + private val preferences = + parentActivity.getSharedPreferences(SHARED_PREFERENCES, Context.MODE_PRIVATE) + + private val updateVersionJob = updateVersion() + + var version: String? = null + private set + var isStable = true + private set var lastUpdated = 0L private set @@ -45,6 +59,14 @@ class AppVersionInfoCache(val context: Context) { } fun onDestroy() { + updateVersionJob.cancel() preferences.unregisterOnSharedPreferenceChangeListener(listener) } + + private fun updateVersion() = GlobalScope.launch(Dispatchers.Default) { + val currentVersion = parentActivity.currentVersion.await() + + version = currentVersion + isStable = !currentVersion.contains("-") + } } |
