diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-08-15 13:23:23 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-08-15 19:40:14 +0000 |
| commit | 1c118e54fc3fe5127c680de17af21f14eeb01de0 (patch) | |
| tree | 5cda9aa51d1b33d94b0b3fc8a244cfa65e68c3fd /android | |
| parent | ac77ec557e6a370cb3f7398c176ba27e3963d061 (diff) | |
| download | mullvadvpn-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.kt | 23 |
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 |
