diff options
| author | Emīls Piņķis <emils@mullvad.net> | 2019-09-04 16:30:55 +0100 |
|---|---|---|
| committer | Emīls Piņķis <emils@mullvad.net> | 2019-09-06 20:12:23 +0100 |
| commit | 73c301b45273c8fe7ea9361e217c898834ebacac (patch) | |
| tree | 019802bba0a830e50c49bc846e5f118cbcbd651b /android | |
| parent | 1c911aeb895ec935b1951935116860f079492329 (diff) | |
| download | mullvadvpn-73c301b45273c8fe7ea9361e217c898834ebacac.tar.xz mullvadvpn-73c301b45273c8fe7ea9361e217c898834ebacac.zip | |
Use new tunnel parameter error block reason in Android
Diffstat (limited to 'android')
3 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 5a8eb9c41a..acc11784fb 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt @@ -10,6 +10,7 @@ import android.view.View import net.mullvad.mullvadvpn.dataproxy.AppVersionInfoCache import net.mullvad.mullvadvpn.model.ActionAfterDisconnect import net.mullvad.mullvadvpn.model.BlockReason +import net.mullvad.mullvadvpn.model.ParameterGenerationError import net.mullvad.mullvadvpn.model.KeygenEvent import net.mullvad.mullvadvpn.model.TunnelState @@ -56,7 +57,7 @@ class NotificationBanner( private fun update() { externalLink = null - updateBasedOnTunnelState() || updateBasedOnKeyState() || updateBasedOnVersionInfo() + updateBasedOnTunnelState() || updateBasedOnKeyState() || updateBasedOnVersionInfo() } private fun updateBasedOnKeyState(): Boolean { @@ -132,11 +133,17 @@ class NotificationBanner( 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 + is BlockReason.ParameterGeneration -> { + when (reason.error) { + is ParameterGenerationError.NoMatchingRelay -> R.string.no_matching_relay + is ParameterGenerationError.NoMatchingBridgeRelay -> R.string.no_matching_bridge_relay + is ParameterGenerationError.NoWireguardKey -> R.string.no_wireguard_key + is ParameterGenerationError.CustomTunnelHostResultionError -> R.string.custom_tunnel_host_resolution_error + } + } } - showError(R.string.blocking_internet, messageText) } diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/BlockReason.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/BlockReason.kt index 769a97b6fa..ae4d392fc2 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/model/BlockReason.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/model/BlockReason.kt @@ -6,7 +6,14 @@ sealed class BlockReason { class SetFirewallPolicyError : BlockReason() class SetDnsError : BlockReason() class StartTunnelError : BlockReason() - class NoMatchingRelay : BlockReason() + class ParameterGeneration(val error: ParameterGenerationError) : BlockReason() class IsOffline : BlockReason() class TapAdapterProblem : BlockReason() } + +sealed class ParameterGenerationError { + class NoMatchingRelay : ParameterGenerationError() + class NoMatchingBridgeRelay : ParameterGenerationError() + class NoWireguardKey : ParameterGenerationError() + class CustomTunnelHostResultionError : ParameterGenerationError() +} diff --git a/android/src/main/res/values/strings.xml b/android/src/main/res/values/strings.xml index 44076d85ae..f03cef4181 100644 --- a/android/src/main/res/values/strings.xml +++ b/android/src/main/res/values/strings.xml @@ -85,6 +85,9 @@ <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="no_matching_bridge_relay">No bridge relay server matches the current settings</string> + <string name="no_wireguard_key">No WireGuard key set</string> + <string name="custom_tunnel_host_resolution_error">Failed to resolve the hostname of custom server</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="wireguard_error">WireGuard error</string> |
