summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJonatan Rhodin <jonatan.rhodin@mullvad.net>2023-11-17 10:54:11 +0100
committerAlbin <albin@mullvad.net>2023-11-17 14:59:10 +0100
commit5cc490d6eccc5624c075d8fdb21ce0abdd1c17b1 (patch)
tree3a7c4c9c3390a2b348df277f6cf4cf62116c0e1c
parent8620efdb28c6863b40408862211ee690004526e5 (diff)
downloadmullvadvpn-5cc490d6eccc5624c075d8fdb21ce0abdd1c17b1.tar.xz
mullvadvpn-5cc490d6eccc5624c075d8fdb21ce0abdd1c17b1.zip
Add missing FirewallPolicyError class
-rw-r--r--android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/notificationbanner/NotificationBanner.kt9
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelState.kt16
-rw-r--r--android/lib/talpid/src/main/kotlin/net/mullvad/talpid/tunnel/ErrorStateCause.kt20
-rw-r--r--android/lib/talpid/src/main/kotlin/net/mullvad/talpid/tunnel/FirewallPolicyError.kt9
-rw-r--r--mullvad-jni/src/classes.rs1
5 files changed, 44 insertions, 11 deletions
diff --git a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/notificationbanner/NotificationBanner.kt b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/notificationbanner/NotificationBanner.kt
index 6078e4b392..2bcda3ea35 100644
--- a/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/notificationbanner/NotificationBanner.kt
+++ b/android/app/src/main/kotlin/net/mullvad/mullvadvpn/compose/component/notificationbanner/NotificationBanner.kt
@@ -37,6 +37,7 @@ import net.mullvad.mullvadvpn.ui.VersionInfo
import net.mullvad.mullvadvpn.ui.notification.StatusLevel
import net.mullvad.talpid.tunnel.ErrorState
import net.mullvad.talpid.tunnel.ErrorStateCause
+import net.mullvad.talpid.tunnel.FirewallPolicyError
import org.joda.time.DateTime
@Preview
@@ -61,7 +62,13 @@ private fun PreviewNotificationBanner() {
InAppNotification.TunnelStateBlocked,
InAppNotification.NewDevice("Courageous Turtle"),
InAppNotification.TunnelStateError(
- error = ErrorState(ErrorStateCause.SetFirewallPolicyError, true)
+ error =
+ ErrorState(
+ ErrorStateCause.SetFirewallPolicyError(
+ FirewallPolicyError.Generic
+ ),
+ true
+ )
)
)
.map { it.toNotificationData({}, {}, {}) }
diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelState.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelState.kt
index 364c8861ce..26f776b223 100644
--- a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelState.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/model/TunnelState.kt
@@ -6,6 +6,7 @@ import net.mullvad.talpid.net.TunnelEndpoint
import net.mullvad.talpid.tunnel.ActionAfterDisconnect
import net.mullvad.talpid.tunnel.ErrorState
import net.mullvad.talpid.tunnel.ErrorStateCause
+import net.mullvad.talpid.tunnel.FirewallPolicyError
sealed class TunnelState : Parcelable {
@Parcelize object Disconnected : TunnelState(), Parcelable
@@ -73,9 +74,20 @@ sealed class TunnelState : Parcelable {
DISCONNECTING -> Disconnecting(ActionAfterDisconnect.Nothing)
BLOCKING -> Error(ErrorState(ErrorStateCause.StartTunnelError, true))
ERROR -> {
- Error(ErrorState(ErrorStateCause.SetFirewallPolicyError, false))
+ Error(
+ ErrorState(
+ ErrorStateCause.SetFirewallPolicyError(FirewallPolicyError.Generic),
+ false
+ )
+ )
}
- else -> Error(ErrorState(ErrorStateCause.SetFirewallPolicyError, false))
+ else ->
+ Error(
+ ErrorState(
+ ErrorStateCause.SetFirewallPolicyError(FirewallPolicyError.Generic),
+ false
+ )
+ )
}
}
}
diff --git a/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/tunnel/ErrorStateCause.kt b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/tunnel/ErrorStateCause.kt
index 5096e5c693..fc35e4e23e 100644
--- a/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/tunnel/ErrorStateCause.kt
+++ b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/tunnel/ErrorStateCause.kt
@@ -14,19 +14,23 @@ sealed class ErrorStateCause : Parcelable {
}
}
- @Parcelize object Ipv6Unavailable : ErrorStateCause()
+ @Parcelize data object Ipv6Unavailable : ErrorStateCause()
- @Parcelize object SetFirewallPolicyError : ErrorStateCause()
+ @Parcelize
+ data class SetFirewallPolicyError(val firewallPolicyError: FirewallPolicyError) :
+ ErrorStateCause()
- @Parcelize object SetDnsError : ErrorStateCause()
+ @Parcelize data object SetDnsError : ErrorStateCause()
- @Parcelize class InvalidDnsServers(val addresses: ArrayList<InetAddress>) : ErrorStateCause()
+ @Parcelize
+ data class InvalidDnsServers(val addresses: ArrayList<InetAddress>) : ErrorStateCause()
- @Parcelize object StartTunnelError : ErrorStateCause()
+ @Parcelize data object StartTunnelError : ErrorStateCause()
- @Parcelize class TunnelParameterError(val error: ParameterGenerationError) : ErrorStateCause()
+ @Parcelize
+ data class TunnelParameterError(val error: ParameterGenerationError) : ErrorStateCause()
- @Parcelize object IsOffline : ErrorStateCause()
+ @Parcelize data object IsOffline : ErrorStateCause()
- @Parcelize object VpnPermissionDenied : ErrorStateCause()
+ @Parcelize data object VpnPermissionDenied : ErrorStateCause()
}
diff --git a/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/tunnel/FirewallPolicyError.kt b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/tunnel/FirewallPolicyError.kt
new file mode 100644
index 0000000000..c6f19e71af
--- /dev/null
+++ b/android/lib/talpid/src/main/kotlin/net/mullvad/talpid/tunnel/FirewallPolicyError.kt
@@ -0,0 +1,9 @@
+package net.mullvad.talpid.tunnel
+
+import android.os.Parcelable
+import kotlinx.parcelize.Parcelize
+
+@Parcelize
+enum class FirewallPolicyError : Parcelable {
+ Generic
+}
diff --git a/mullvad-jni/src/classes.rs b/mullvad-jni/src/classes.rs
index d39cb156d8..454e0e6c62 100644
--- a/mullvad-jni/src/classes.rs
+++ b/mullvad-jni/src/classes.rs
@@ -95,5 +95,6 @@ pub const CLASSES: &[&str] = &[
"net/mullvad/talpid/CreateTunResult$InvalidDnsServers",
"net/mullvad/talpid/CreateTunResult$PermissionDenied",
"net/mullvad/talpid/CreateTunResult$TunnelDeviceError",
+ "net/mullvad/talpid/tunnel/FirewallPolicyError",
"net/mullvad/talpid/TalpidVpnService",
];