summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorEmīls <emils@mullvad.net>2021-01-25 15:26:59 +0000
committerEmīls <emils@mullvad.net>2021-01-26 15:56:33 +0000
commitffe1173b1a4e0ebdea5b0cdf879420e8301deb67 (patch)
treee3098f92ddb3eea49e3217888d5c8249434fa8c0 /android
parentca3a4e27bfd5a50057edba6e912de1b524ad302c (diff)
downloadmullvadvpn-ffe1173b1a4e0ebdea5b0cdf879420e8301deb67.tar.xz
mullvadvpn-ffe1173b1a4e0ebdea5b0cdf879420e8301deb67.zip
Allow redeeming vouchers in blocked state
Diffstat (limited to 'android')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AccountFragment.kt10
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/OutOfTimeFragment.kt10
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?) {