diff options
| author | Albin <albin@mullvad.net> | 2021-11-29 08:37:17 +0100 |
|---|---|---|
| committer | Albin <albin@mullvad.net> | 2021-11-29 08:37:17 +0100 |
| commit | 2dc4a83d08e9b067eb54ee283a1ccc0444e7b013 (patch) | |
| tree | 0c27ad69748f784e129e1094a1c1effbe9bacf18 | |
| parent | 56643fd78c098dc6b4abb4563b474a0f526d5b9b (diff) | |
| parent | 719cd192134a300be1af96cc34584cde8a89bc66 (diff) | |
| download | mullvadvpn-2dc4a83d08e9b067eb54ee283a1ccc0444e7b013.tar.xz mullvadvpn-2dc4a83d08e9b067eb54ee283a1ccc0444e7b013.zip | |
Merge branch 'fix-android-banner-incorrectly-showing'
| -rw-r--r-- | CHANGELOG.md | 1 | ||||
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/NotificationBanner.kt | 11 |
2 files changed, 5 insertions, 7 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index ca4da7be88..548a2f3f51 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -46,6 +46,7 @@ Line wrap the file at 100 chars. Th #### Android - Fix Quick Settings tile showing wrong state in certain scenarios. +- Fix banner sometimes incorrectly showing (e.g. "BLOCKING INTERNET"). ## [2021.6] - 2021-11-17 ### Fixed diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/NotificationBanner.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/NotificationBanner.kt index 46f738258e..bd4974be1e 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/NotificationBanner.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/NotificationBanner.kt @@ -10,6 +10,7 @@ import android.view.View import android.widget.FrameLayout import android.widget.ImageView import android.widget.TextView +import androidx.core.view.isVisible import net.mullvad.mullvadvpn.R import net.mullvad.mullvadvpn.ui.notification.InAppNotification import net.mullvad.mullvadvpn.ui.notification.InAppNotificationController @@ -158,19 +159,15 @@ class NotificationBanner : FrameLayout { private fun animateChange() { val notification = notifications.current + val hasOngoingHideAnimation = animation.isRunning && reversedAnimation - if (notification != null && visibility == View.INVISIBLE) { - // Banner is not currently shown but must be shown + if (isVisible.not() && notification != null) { reversedAnimation = false update(notification) animation.start() - } else if (visibility == View.VISIBLE && (!animation.isRunning() || !reversedAnimation)) { - // Either the banner is shown or it is in the process of being shown, but the - // notification must be hidden or replaced + } else if (hasOngoingHideAnimation.not()) { reversedAnimation = true animation.reverse() } - // If the banner is animating to be hidden, it will automatically start showing when the - // hide animation ends } } |
