summaryrefslogtreecommitdiffhomepage
path: root/android/src/main
diff options
context:
space:
mode:
authorEmīls Piņķis <emils@mullvad.net>2019-09-04 16:30:55 +0100
committerEmīls Piņķis <emils@mullvad.net>2019-09-06 20:12:23 +0100
commit73c301b45273c8fe7ea9361e217c898834ebacac (patch)
tree019802bba0a830e50c49bc846e5f118cbcbd651b /android/src/main
parent1c911aeb895ec935b1951935116860f079492329 (diff)
downloadmullvadvpn-73c301b45273c8fe7ea9361e217c898834ebacac.tar.xz
mullvadvpn-73c301b45273c8fe7ea9361e217c898834ebacac.zip
Use new tunnel parameter error block reason in Android
Diffstat (limited to 'android/src/main')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt13
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/model/BlockReason.kt9
-rw-r--r--android/src/main/res/values/strings.xml3
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>