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/main/kotlin | |
| parent | 2e64ca76d5cc385e8837941d2f4b188f47ab7b5a (diff) | |
| download | mullvadvpn-dbce7615b87aee57514e384c7969a64808e01126.tar.xz mullvadvpn-dbce7615b87aee57514e384c7969a64808e01126.zip | |
Show block reason in notification message
Diffstat (limited to 'android/src/main/kotlin')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt | 25 |
1 files changed, 21 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 |
