diff options
| author | David Göransson <david.goransson@mullvad.net> | 2025-03-19 09:38:52 +0100 |
|---|---|---|
| committer | David Göransson <david.goransson@mullvad.net> | 2025-03-19 09:38:52 +0100 |
| commit | 22fc75dc527d1510874f7253b728a068426f6beb (patch) | |
| tree | 14c4519dccdfe99d89a512ebcc5527aa5761918a /android/lib/model/src/main | |
| parent | 793c39338a2fcd2bf188952061edaeaa925d614a (diff) | |
| parent | faabed7502583eb9f58774717c48fcec7c1aca70 (diff) | |
| download | mullvadvpn-22fc75dc527d1510874f7253b728a068426f6beb.tar.xz mullvadvpn-22fc75dc527d1510874f7253b728a068426f6beb.zip | |
Merge branch 'improve-tv-ui-experience'
Diffstat (limited to 'android/lib/model/src/main')
| -rw-r--r-- | android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/InAppNotification.kt | 44 | ||||
| -rw-r--r-- | android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/VersionInfo.kt | 3 |
2 files changed, 47 insertions, 0 deletions
diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/InAppNotification.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/InAppNotification.kt new file mode 100644 index 0000000000..fdaa5f3c9d --- /dev/null +++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/InAppNotification.kt @@ -0,0 +1,44 @@ +package net.mullvad.mullvadvpn.lib.model + +import java.time.Duration + +enum class StatusLevel { + Error, + Warning, + Info, +} + +sealed class InAppNotification { + abstract val statusLevel: StatusLevel + abstract val priority: Long + + data class TunnelStateError(val error: ErrorState) : InAppNotification() { + override val statusLevel = StatusLevel.Error + override val priority: Long = 1001 + } + + data object TunnelStateBlocked : InAppNotification() { + override val statusLevel = StatusLevel.Error + override val priority: Long = 1000 + } + + data class UnsupportedVersion(val versionInfo: VersionInfo) : InAppNotification() { + override val statusLevel = StatusLevel.Error + override val priority: Long = 999 + } + + data class AccountExpiry(val expiry: Duration) : InAppNotification() { + override val statusLevel = StatusLevel.Warning + override val priority: Long = 1001 + } + + data class NewDevice(val deviceName: String) : InAppNotification() { + override val statusLevel = StatusLevel.Info + override val priority: Long = 1001 + } + + data object NewVersionChangelog : InAppNotification() { + override val statusLevel = StatusLevel.Info + override val priority: Long = 1001 + } +} diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/VersionInfo.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/VersionInfo.kt new file mode 100644 index 0000000000..1a225d482f --- /dev/null +++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/VersionInfo.kt @@ -0,0 +1,3 @@ +package net.mullvad.mullvadvpn.lib.model + +data class VersionInfo(val currentVersion: String, val isSupported: Boolean) |
