summaryrefslogtreecommitdiffhomepage
path: root/android/lib/model
diff options
context:
space:
mode:
Diffstat (limited to 'android/lib/model')
-rw-r--r--android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/ErrorStateCause.kt18
1 files changed, 12 insertions, 6 deletions
diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/ErrorStateCause.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/ErrorStateCause.kt
index 0ba63a4b08..3af72d663b 100644
--- a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/ErrorStateCause.kt
+++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/ErrorStateCause.kt
@@ -3,13 +3,9 @@ package net.mullvad.mullvadvpn.lib.model
import java.net.InetAddress
sealed class ErrorStateCause {
- class AuthFailed(private val reason: String?) : ErrorStateCause() {
+ class AuthFailed(private val error: AuthFailedError) : ErrorStateCause() {
fun isCausedByExpiredAccount(): Boolean {
- return reason == AUTH_FAILED_REASON_EXPIRED_ACCOUNT
- }
-
- companion object {
- private const val AUTH_FAILED_REASON_EXPIRED_ACCOUNT = "[EXPIRED_ACCOUNT]"
+ return error is AuthFailedError.ExpiredAccount
}
}
@@ -32,3 +28,13 @@ sealed class ErrorStateCause {
data object VpnPermissionDenied : ErrorStateCause()
}
+
+sealed interface AuthFailedError {
+ data object ExpiredAccount : AuthFailedError
+
+ data object InvalidAccount : AuthFailedError
+
+ data object TooManyConnections : AuthFailedError
+
+ data object Unknown : AuthFailedError
+}