diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-07-19 20:58:05 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-07-22 21:32:39 +0000 |
| commit | 7ed2c0b18432444308c12632442724c42e876605 (patch) | |
| tree | 52fded1849476ed2a027823590b5b9273b152592 /android | |
| parent | 0e19f486ef11e20706ddfbe7e6da60a0aa5de17d (diff) | |
| download | mullvadvpn-7ed2c0b18432444308c12632442724c42e876605.tar.xz mullvadvpn-7ed2c0b18432444308c12632442724c42e876605.zip | |
Refactor `NotificationBanner` state updates
Diffstat (limited to 'android')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectFragment.kt | 3 | ||||
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt | 22 |
2 files changed, 16 insertions, 9 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectFragment.kt index 9a7c50a9af..ce3e9cc5ad 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectFragment.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ConnectFragment.kt @@ -112,8 +112,7 @@ class ConnectFragment : Fragment() { actionButton.state = uiState switchLocationButton.state = uiState - - notificationBanner.setState(uiState) + notificationBanner.tunnelState = uiState status.setState(uiState) } diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt index 1af739dcc6..c0d7f03d26 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt @@ -8,13 +8,21 @@ class NotificationBanner(val parentView: View) { private val banner: View = parentView.findViewById(R.id.notification_banner) private var visible = false - fun setState(state: TunnelState) { - when (state) { - is TunnelState.Disconnecting -> hide() - is TunnelState.Disconnected -> hide() - is TunnelState.Connecting -> show() - is TunnelState.Connected -> hide() - is TunnelState.Blocked -> show() + var tunnelState: TunnelState = TunnelState.Disconnected() + set(value) { + field = value + update() + } + + private fun update() { + synchronized(this) { + when (tunnelState) { + is TunnelState.Disconnecting -> hide() + is TunnelState.Disconnected -> hide() + is TunnelState.Connecting -> show() + is TunnelState.Connected -> hide() + is TunnelState.Blocked -> show() + } } } |
