diff options
| author | Emīls <emils@mullvad.net> | 2021-01-25 15:26:59 +0000 |
|---|---|---|
| committer | Emīls <emils@mullvad.net> | 2021-01-26 15:56:33 +0000 |
| commit | ffe1173b1a4e0ebdea5b0cdf879420e8301deb67 (patch) | |
| tree | e3098f92ddb3eea49e3217888d5c8249434fa8c0 /android/src | |
| parent | ca3a4e27bfd5a50057edba6e912de1b524ad302c (diff) | |
| download | mullvadvpn-ffe1173b1a4e0ebdea5b0cdf879420e8301deb67.tar.xz mullvadvpn-ffe1173b1a4e0ebdea5b0cdf879420e8301deb67.zip | |
Allow redeeming vouchers in blocked state
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountFragment.kt | 10 | ||||
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/OutOfTimeFragment.kt | 10 |
2 files changed, 16 insertions, 4 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountFragment.kt index 86538f71dc..b2da9f9f2f 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountFragment.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountFragment.kt @@ -13,6 +13,7 @@ import net.mullvad.mullvadvpn.ui.widget.CopyableInformationView import net.mullvad.mullvadvpn.ui.widget.InformationView import net.mullvad.mullvadvpn.ui.widget.RedeemVoucherButton import net.mullvad.mullvadvpn.ui.widget.SitePaymentButton +import net.mullvad.talpid.tunnel.ErrorStateCause import org.joda.time.DateTime class AccountFragment : ServiceDependentFragment(OnNoService.GoBack) { @@ -39,7 +40,12 @@ class AccountFragment : ServiceDependentFragment(OnNoService.GoBack) { set(value) { field = value sitePaymentButton.setEnabled(value) - redeemVoucherButton.setEnabled(value) + } + + private var isOffline = true + set(value) { + field = value + redeemVoucherButton.setEnabled(!value) } private lateinit var accountExpiryView: InformationView @@ -105,6 +111,8 @@ class AccountFragment : ServiceDependentFragment(OnNoService.GoBack) { hasConnectivity = uiState is TunnelState.Connected || uiState is TunnelState.Disconnected || (uiState is TunnelState.Error && !uiState.errorState.isBlocking) + isOffline = uiState is TunnelState.Error && + uiState.errorState.cause is ErrorStateCause.IsOffline } } diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/OutOfTimeFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/OutOfTimeFragment.kt index cec00f842b..a077f86e18 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/OutOfTimeFragment.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/OutOfTimeFragment.kt @@ -14,6 +14,7 @@ import net.mullvad.mullvadvpn.ui.widget.HeaderBar import net.mullvad.mullvadvpn.ui.widget.RedeemVoucherButton import net.mullvad.mullvadvpn.ui.widget.SitePaymentButton import net.mullvad.talpid.tunnel.ActionAfterDisconnect +import net.mullvad.talpid.tunnel.ErrorStateCause import org.joda.time.DateTime class OutOfTimeFragment : ServiceDependentFragment(OnNoService.GoToLaunchScreen) { @@ -114,10 +115,13 @@ class OutOfTimeFragment : ServiceDependentFragment(OnNoService.GoToLaunchScreen) } private fun updateBuyButtons() { - val hasConnectivity = tunnelState is TunnelState.Disconnected - + val currentState = tunnelState + val hasConnectivity = currentState is TunnelState.Disconnected sitePaymentButton.setEnabled(hasConnectivity) - redeemButton.setEnabled(hasConnectivity) + + val isOffline = currentState is TunnelState.Error && + currentState.errorState.cause is ErrorStateCause.IsOffline + redeemButton.setEnabled(!isOffline) } private fun checkExpiry(maybeExpiry: DateTime?) { |
