summaryrefslogtreecommitdiffhomepage
path: root/android/src/main
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-02-12 12:47:32 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-02-27 12:15:21 +0000
commit17d43c56835bc6b892db84a09cfce4c466ba4700 (patch)
treed2d6f67d276ad6233b3dd6022906f0cc80948d60 /android/src/main
parent2b7cf4dfd3e59bb0169df7ebe0556afb60d95915 (diff)
downloadmullvadvpn-17d43c56835bc6b892db84a09cfce4c466ba4700.tar.xz
mullvadvpn-17d43c56835bc6b892db84a09cfce4c466ba4700.zip
Change action button for non-blocking error state
Diffstat (limited to 'android/src/main')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ConnectActionButton.kt24
1 files changed, 21 insertions, 3 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ConnectActionButton.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ConnectActionButton.kt
index dc427a5ac5..5e1d50887b 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ConnectActionButton.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/ConnectActionButton.kt
@@ -46,7 +46,13 @@ class ConnectActionButton(val parentView: View) {
}
is TunnelState.Connecting -> connecting()
is TunnelState.Connected -> connected()
- is TunnelState.Error -> connected()
+ is TunnelState.Error -> {
+ if (value.errorState.isBlocking) {
+ connected()
+ } else {
+ blockError()
+ }
+ }
}
field = value
@@ -74,12 +80,20 @@ class ConnectActionButton(val parentView: View) {
}
private fun action() {
- when (tunnelState) {
+ val state = tunnelState
+
+ when (state) {
is TunnelState.Disconnected -> onConnect?.invoke()
is TunnelState.Disconnecting -> onConnect?.invoke()
is TunnelState.Connecting -> onCancel?.invoke()
is TunnelState.Connected -> onDisconnect?.invoke()
- is TunnelState.Error -> onDisconnect?.invoke()
+ is TunnelState.Error -> {
+ if (state.errorState.isBlocking) {
+ onDisconnect?.invoke()
+ } else {
+ onCancel?.invoke()
+ }
+ }
}
}
@@ -97,6 +111,10 @@ class ConnectActionButton(val parentView: View) {
redButton(R.string.disconnect)
}
+ private fun blockError() {
+ redButton(R.string.dismiss)
+ }
+
private fun redButton(text: Int) {
mainButton.background = leftRedBackground
mainButton.setText(text)