summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-07-30 15:33:38 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-07-31 15:32:33 +0000
commit237e287bf86a721556603673a9cc4617282c0732 (patch)
tree240e2d9f7c46ffd0932a7a88664170ac2683fb4f /android/src
parentef253d8230e40e2c0ec315c85c518a3b3685f0c4 (diff)
downloadmullvadvpn-237e287bf86a721556603673a9cc4617282c0732.tar.xz
mullvadvpn-237e287bf86a721556603673a9cc4617282c0732.zip
Store current version in `AppVersionInfoCache`
And also an `isStable` flag.
Diffstat (limited to 'android/src')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/AppVersionInfoCache.kt26
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("-")
+ }
}