diff options
Diffstat (limited to 'android')
3 files changed, 19 insertions, 0 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt index 82db57c12e..71416c92c4 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/MainActivity.kt @@ -108,6 +108,13 @@ class MainActivity : FragmentActivity() { } } + fun refetchSettings() { + if (asyncSettings.isCompleted) { + asyncSettings = fetchSettings() + accountCache.settings = asyncSettings + } + } + private fun addInitialFragment() { supportFragmentManager?.beginTransaction()?.apply { add(R.id.main_fragment, LaunchFragment()) diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/RemainingTimeLabel.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/RemainingTimeLabel.kt index 21c1cf3563..6e772c1675 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/RemainingTimeLabel.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/RemainingTimeLabel.kt @@ -25,6 +25,13 @@ class RemainingTimeLabel(val parentActivity: MainActivity, val view: View) { private var updateJob = updateLabel() + fun onResume() { + if (updateJob.isCompleted) { + parentActivity.refetchSettings() + updateJob = updateLabel() + } + } + fun onDestroy() { updateJob.cancel() } diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/SettingsFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/SettingsFragment.kt index c13998ece5..ee89ed7945 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/SettingsFragment.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/SettingsFragment.kt @@ -41,6 +41,11 @@ class SettingsFragment : Fragment() { return view } + override fun onResume() { + super.onResume() + remainingTimeLabel.onResume() + } + override fun onDestroyView() { remainingTimeLabel.onDestroy() super.onDestroyView() |
