diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-07-31 08:48:13 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-07-31 11:55:30 +0000 |
| commit | dbce7615b87aee57514e384c7969a64808e01126 (patch) | |
| tree | 8cc4d6cccbcdf2f78f0dfcc095e0c5f3415c3604 /android/src | |
| parent | 2e64ca76d5cc385e8837941d2f4b188f47ab7b5a (diff) | |
| download | mullvadvpn-dbce7615b87aee57514e384c7969a64808e01126.tar.xz mullvadvpn-dbce7615b87aee57514e384c7969a64808e01126.zip | |
Show block reason in notification message
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt | 25 | ||||
| -rw-r--r-- | android/src/main/res/values/strings.xml | 10 |
2 files changed, 31 insertions, 4 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt index 7b6309d9d7..6a56d7c3e3 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt @@ -4,6 +4,7 @@ import android.widget.TextView import android.view.View import net.mullvad.mullvadvpn.model.ActionAfterDisconnect +import net.mullvad.mullvadvpn.model.BlockReason import net.mullvad.mullvadvpn.model.KeygenEvent import net.mullvad.mullvadvpn.model.TunnelState @@ -48,19 +49,35 @@ class NotificationBanner(val parentView: View) { is TunnelState.Disconnecting -> { when (state.actionAfterDisconnect) { is ActionAfterDisconnect.Nothing -> hide() - is ActionAfterDisconnect.Block -> show(R.string.blocking_internet, null) - is ActionAfterDisconnect.Reconnect -> show(R.string.blocking_internet, null) + is ActionAfterDisconnect.Block -> showBlocking(null) + is ActionAfterDisconnect.Reconnect -> showBlocking(null) } } is TunnelState.Disconnected -> hide() - is TunnelState.Connecting -> show(R.string.blocking_internet, null) + is TunnelState.Connecting -> showBlocking(null) is TunnelState.Connected -> hide() - is TunnelState.Blocked -> show(R.string.blocking_internet, null) + is TunnelState.Blocked -> showBlocking(state.reason) } return true } + private fun showBlocking(reason: BlockReason?) { + val messageText = when (reason) { + null -> null + is BlockReason.AuthFailed -> R.string.auth_failed + is BlockReason.Ipv6Unavailable -> R.string.ipv6_unavailable + is BlockReason.SetFirewallPolicyError -> R.string.set_firewall_policy_error + is BlockReason.SetDnsError -> R.string.set_dns_error + is BlockReason.StartTunnelError -> R.string.start_tunnel_error + is BlockReason.NoMatchingRelay -> R.string.no_matching_relay + is BlockReason.IsOffline -> R.string.is_offline + is BlockReason.TapAdapterProblem -> R.string.tap_adapter_problem + } + + show(R.string.blocking_internet, messageText) + } + private fun show(titleText: Int, messageText: Int?) { if (!visible) { visible = true diff --git a/android/src/main/res/values/strings.xml b/android/src/main/res/values/strings.xml index 0ca628f401..20e8a5635d 100644 --- a/android/src/main/res/values/strings.xml +++ b/android/src/main/res/values/strings.xml @@ -61,6 +61,16 @@ <string name="switch_location">Switch location</string> <string name="blocking_internet">Blocking internet</string> + <string name="auth_failed">Account authentication failed.</string> + <string name="ipv6_unavailable">Could not configure IPv6</string> + <string name="set_firewall_policy_error"> + Failed to apply firewall rules. The device might currently be unsecured + </string> + <string name="set_dns_error">Failed to set system DNS server</string> + <string name="start_tunnel_error">Failed to start tunnel connection</string> + <string name="no_matching_relay">No relay server matches the current settings</string> + <string name="is_offline">This device is offline, no tunnels can be established</string> + <string name="tap_adapter_problem">TAP adapter error</string> <string name="too_many_keys">Too many WireGuard keys registered to account</string> <string name="failed_to_generate_key">Failed to generate WireGuard key</string> |
