diff options
Diffstat (limited to 'android/src')
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> |
