diff options
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt index b175cbd9ed..7b6309d9d7 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/NotificationBanner.kt @@ -10,6 +10,7 @@ import net.mullvad.mullvadvpn.model.TunnelState class NotificationBanner(val parentView: View) { private val banner: View = parentView.findViewById(R.id.notification_banner) private val title: TextView = parentView.findViewById(R.id.notification_title) + private val message: TextView = parentView.findViewById(R.id.notification_message) private var visible = false @@ -33,8 +34,8 @@ class NotificationBanner(val parentView: View) { when (keyState) { null -> return false is KeygenEvent.NewKey -> return false - is KeygenEvent.TooManyKeys -> show(R.string.too_many_keys) - is KeygenEvent.GenerationFailure -> show(R.string.failed_to_generate_key) + is KeygenEvent.TooManyKeys -> show(R.string.too_many_keys, null) + is KeygenEvent.GenerationFailure -> show(R.string.failed_to_generate_key, null) } return true @@ -47,20 +48,20 @@ class NotificationBanner(val parentView: View) { is TunnelState.Disconnecting -> { when (state.actionAfterDisconnect) { is ActionAfterDisconnect.Nothing -> hide() - is ActionAfterDisconnect.Block -> show(R.string.blocking_internet) - is ActionAfterDisconnect.Reconnect -> show(R.string.blocking_internet) + is ActionAfterDisconnect.Block -> show(R.string.blocking_internet, null) + is ActionAfterDisconnect.Reconnect -> show(R.string.blocking_internet, null) } } is TunnelState.Disconnected -> hide() - is TunnelState.Connecting -> show(R.string.blocking_internet) + is TunnelState.Connecting -> show(R.string.blocking_internet, null) is TunnelState.Connected -> hide() - is TunnelState.Blocked -> show(R.string.blocking_internet) + is TunnelState.Blocked -> show(R.string.blocking_internet, null) } return true } - private fun show(titleText: Int) { + private fun show(titleText: Int, messageText: Int?) { if (!visible) { visible = true banner.visibility = View.VISIBLE @@ -69,6 +70,13 @@ class NotificationBanner(val parentView: View) { } title.setText(titleText) + + if (messageText == null) { + message.visibility = View.GONE + } else { + message.setText(messageText) + message.visibility = View.VISIBLE + } } private fun hide() { |
