From 08241b1e6ab4dbc75ad20b75ccd0d213cc244096 Mon Sep 17 00:00:00 2001 From: Chandru Date: Thu, 20 Oct 2022 13:48:54 +0000 Subject: [PATCH] BouncerKeyguardMessage doesn't always get cleared when being set to null. Hypothesis: textAboutToShow == msg check can potentially skip such invocations. Bug: 249475000 Test: atest BouncerKeyguardMessageAreaTest Change-Id: I5d198c0e693fd96c9ad5d5528452206bf871eccc --- .../com/android/keyguard/BouncerKeyguardMessageArea.kt | 2 +- .../android/keyguard/BouncerKeyguardMessageAreaTest.kt | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/src/com/android/keyguard/BouncerKeyguardMessageArea.kt b/packages/SystemUI/src/com/android/keyguard/BouncerKeyguardMessageArea.kt index 5277e40492e4d..450784ea8f032 100644 --- a/packages/SystemUI/src/com/android/keyguard/BouncerKeyguardMessageArea.kt +++ b/packages/SystemUI/src/com/android/keyguard/BouncerKeyguardMessageArea.kt @@ -70,7 +70,7 @@ open class BouncerKeyguardMessageArea(context: Context?, attrs: AttributeSet?) : } override fun setMessage(msg: CharSequence?) { - if (msg == textAboutToShow || msg == text) { + if ((msg == textAboutToShow && msg != null) || msg == text) { return } textAboutToShow = msg diff --git a/packages/SystemUI/tests/src/com/android/keyguard/BouncerKeyguardMessageAreaTest.kt b/packages/SystemUI/tests/src/com/android/keyguard/BouncerKeyguardMessageAreaTest.kt index 9d6aff219148b..7b9b39f23c29e 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/BouncerKeyguardMessageAreaTest.kt +++ b/packages/SystemUI/tests/src/com/android/keyguard/BouncerKeyguardMessageAreaTest.kt @@ -66,4 +66,13 @@ class BouncerKeyguardMessageAreaTest : SysuiTestCase() { underTest.setMessage(null) assertThat(underTest.text).isEqualTo("") } + + @Test + fun testSetNullClearsPreviousMessage() { + underTest.setMessage("something not null") + assertThat(underTest.text).isEqualTo("something not null") + + underTest.setMessage(null) + assertThat(underTest.text).isEqualTo("") + } }