summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-08-15 13:23:23 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-08-15 19:40:14 +0000
commit1c118e54fc3fe5127c680de17af21f14eeb01de0 (patch)
tree5cda9aa51d1b33d94b0b3fc8a244cfa65e68c3fd /android
parentac77ec557e6a370cb3f7398c176ba27e3963d061 (diff)
downloadmullvadvpn-1c118e54fc3fe5127c680de17af21f14eeb01de0.tar.xz
mullvadvpn-1c118e54fc3fe5127c680de17af21f14eeb01de0.zip
Use version callback in `SettingsFragment`
Diffstat (limited to 'android')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/SettingsFragment.kt23
1 files changed, 14 insertions, 9 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/SettingsFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/SettingsFragment.kt
index a2b67ead5e..ed9c2bf4ea 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/SettingsFragment.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/SettingsFragment.kt
@@ -17,19 +17,24 @@ import android.widget.Button
import android.widget.ImageButton
import android.widget.TextView
+import net.mullvad.mullvadvpn.dataproxy.AppVersionInfoCache
+
class SettingsFragment : Fragment() {
private lateinit var parentActivity: MainActivity
+ private lateinit var versionInfoCache: AppVersionInfoCache
+
private lateinit var remainingTimeLabel: RemainingTimeLabel
private lateinit var appVersionWarning: View
private lateinit var appVersionLabel: TextView
private lateinit var appVersionFooter: View
- private var showCurrentVersionJob: Job? = null
+ private var updateVersionInfoJob: Job? = null
override fun onAttach(context: Context) {
super.onAttach(context)
parentActivity = context as MainActivity
+ versionInfoCache = parentActivity.appVersionInfoCache
}
override fun onCreateView(
@@ -62,23 +67,26 @@ class SettingsFragment : Fragment() {
appVersionLabel = view.findViewById<TextView>(R.id.app_version_label)
appVersionFooter = view.findViewById(R.id.app_version_footer)
- showCurrentVersionJob = showCurrentVersion()
-
return view
}
override fun onResume() {
super.onResume()
remainingTimeLabel.onResume()
+ versionInfoCache.onUpdate = {
+ updateVersionInfoJob?.cancel()
+ updateVersionInfoJob = updateVersionInfo()
+ }
}
override fun onPause() {
+ versionInfoCache.onUpdate = null
remainingTimeLabel.onPause()
super.onPause()
}
override fun onDestroyView() {
- showCurrentVersionJob?.cancel()
+ updateVersionInfoJob?.cancel()
super.onDestroyView()
}
@@ -102,11 +110,8 @@ class SettingsFragment : Fragment() {
startActivity(intent)
}
- private fun showCurrentVersion() = GlobalScope.launch(Dispatchers.Main) {
- val versionInfoCache = parentActivity.appVersionInfoCache
- val version = versionInfoCache.currentVersion.await()
-
- appVersionLabel.setText(version)
+ private fun updateVersionInfo() = GlobalScope.launch(Dispatchers.Main) {
+ appVersionLabel.setText(versionInfoCache.version ?: "")
if (versionInfoCache.isLatest && versionInfoCache.isSupported) {
appVersionWarning.visibility = View.GONE