diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-05-08 22:11:04 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-05-12 17:32:45 +0000 |
| commit | e7446354e63288588519422a559f8c9def121d07 (patch) | |
| tree | f9f752d8eef0ad8b8458b5549ba739dd60814b67 /android/src | |
| parent | 1ccfc5ce37b1f8191c1746c38b373b05356a65be (diff) | |
| download | mullvadvpn-e7446354e63288588519422a559f8c9def121d07.tar.xz mullvadvpn-e7446354e63288588519422a559f8c9def121d07.zip | |
Open Out Of Time screen from Connect screen
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ConnectFragment.kt | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ConnectFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ConnectFragment.kt index c59f1b192d..8a0953010a 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ConnectFragment.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ConnectFragment.kt @@ -12,10 +12,13 @@ import kotlinx.coroutines.launch import net.mullvad.mullvadvpn.R import net.mullvad.mullvadvpn.model.KeygenEvent import net.mullvad.mullvadvpn.model.TunnelState +import net.mullvad.mullvadvpn.util.JobTracker val KEY_IS_TUNNEL_INFO_EXPANDED = "is_tunnel_info_expanded" class ConnectFragment : ServiceDependentFragment(OnNoService.GoToLaunchScreen) { + private val jobTracker = JobTracker() + private lateinit var actionButton: ConnectActionButton private lateinit var switchLocationButton: SwitchLocationButton private lateinit var headerBar: HeaderBar @@ -98,9 +101,16 @@ class ConnectFragment : ServiceDependentFragment(OnNoService.GoToLaunchScreen) { updateTunnelStateJob?.cancel() updateTunnelStateJob = updateTunnelState(uiState, connectionProxy.state) } + + accountCache.onAccountDataChange = { _, expiry -> + if (expiry?.isBeforeNow() ?: false) { + openOutOfTimeScreen() + } + } } override fun onSafelyPause() { + accountCache.onAccountDataChange = null keyStatusListener.onKeyStatusChange = null locationInfoCache.onNewLocation = null relayListListener.onRelayListChange = null @@ -117,6 +127,7 @@ class ConnectFragment : ServiceDependentFragment(OnNoService.GoToLaunchScreen) { } override fun onSafelyDestroyView() { + jobTracker.cancelAllJobs() switchLocationButton.onDestroy() } @@ -153,4 +164,13 @@ class ConnectFragment : ServiceDependentFragment(OnNoService.GoToLaunchScreen) { commit() } } + + private fun openOutOfTimeScreen() { + jobTracker.newUiJob("openOutOfTimeScreen") { + fragmentManager?.beginTransaction()?.apply { + replace(R.id.main_fragment, OutOfTimeFragment()) + commit() + } + } + } } |
