diff options
Diffstat (limited to 'android/lib/model/src')
| -rw-r--r-- | android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/TunnelState.kt | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/TunnelState.kt b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/TunnelState.kt index 61d8ec89e3..b8759ab76f 100644 --- a/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/TunnelState.kt +++ b/android/lib/model/src/main/kotlin/net/mullvad/mullvadvpn/lib/model/TunnelState.kt @@ -19,33 +19,44 @@ sealed class TunnelState { data class Error(val errorState: ErrorState) : TunnelState() - fun location(): GeoIpLocation? { - return when (this) { + fun featureIndicators(): List<FeatureIndicator>? = + when (this) { + is Connected -> featureIndicators + is Connecting -> featureIndicators + else -> null + } + + fun location(): GeoIpLocation? = + when (this) { is Connected -> location is Connecting -> location is Disconnecting -> null is Disconnected -> location is Error -> null } - } - fun isSecured(): Boolean { - return when (this) { + fun isConnectingOrConnected(): Boolean = + when (this) { + is Connected, + is Connecting -> true + else -> false + } + + fun isSecured(): Boolean = + when (this) { is Connected, is Connecting, is Disconnecting -> true is Disconnected -> false is Error -> this.errorState.isBlocking } - } - fun isBlocked(): Boolean { - return when (this) { + fun isBlocked(): Boolean = + when (this) { is Connected, is Disconnected -> false is Connecting, is Disconnecting -> true is Error -> this.errorState.isBlocking } - } } |
