summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/keyguard/BouncerKeyguardMessageArea.kt10
-rw-r--r--packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputViewController.java10
-rw-r--r--packages/SystemUI/src/com/android/keyguard/KeyguardMessageArea.java14
-rw-r--r--packages/SystemUI/src/com/android/keyguard/KeyguardMessageAreaController.java12
-rw-r--r--packages/SystemUI/src/com/android/keyguard/KeyguardPatternViewController.java11
-rw-r--r--packages/SystemUI/src/com/android/keyguard/SecurityMessageDisplay.java7
-rw-r--r--packages/SystemUI/tests/src/com/android/keyguard/AuthKeyguardMessageAreaTest.java6
-rw-r--r--packages/SystemUI/tests/src/com/android/keyguard/BouncerKeyguardMessageAreaTest.kt14
-rw-r--r--packages/SystemUI/tests/src/com/android/keyguard/KeyguardMessageAreaControllerTest.java2
9 files changed, 49 insertions, 37 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/BouncerKeyguardMessageArea.kt b/packages/SystemUI/src/com/android/keyguard/BouncerKeyguardMessageArea.kt
index 450784ea8f03..f59bf8e766fe 100644
--- a/packages/SystemUI/src/com/android/keyguard/BouncerKeyguardMessageArea.kt
+++ b/packages/SystemUI/src/com/android/keyguard/BouncerKeyguardMessageArea.kt
@@ -69,10 +69,16 @@ open class BouncerKeyguardMessageArea(context: Context?, attrs: AttributeSet?) :
super.reloadColor()
}
- override fun setMessage(msg: CharSequence?) {
+ override fun setMessage(msg: CharSequence?, animate: Boolean) {
if ((msg == textAboutToShow && msg != null) || msg == text) {
return
}
+
+ if (!animate) {
+ super.setMessage(msg, animate)
+ return
+ }
+
textAboutToShow = msg
if (animatorSet.isRunning) {
@@ -89,7 +95,7 @@ open class BouncerKeyguardMessageArea(context: Context?, attrs: AttributeSet?) :
hideAnimator.addListener(
object : AnimatorListenerAdapter() {
override fun onAnimationEnd(animation: Animator?) {
- super@BouncerKeyguardMessageArea.setMessage(msg)
+ super@BouncerKeyguardMessageArea.setMessage(msg, animate)
}
}
)
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputViewController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputViewController.java
index 92ba619e7eb9..3e32cf5521ff 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputViewController.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputViewController.java
@@ -159,10 +159,12 @@ public abstract class KeyguardAbsKeyInputViewController<T extends KeyguardAbsKey
int secondsRemaining = (int) Math.round(millisUntilFinished / 1000.0);
Map<String, Object> arguments = new HashMap<>();
arguments.put("count", secondsRemaining);
- mMessageAreaController.setMessage(PluralsMessageFormatter.format(
- mView.getResources(),
- arguments,
- R.string.kg_too_many_failed_attempts_countdown));
+ mMessageAreaController.setMessage(
+ PluralsMessageFormatter.format(
+ mView.getResources(),
+ arguments,
+ R.string.kg_too_many_failed_attempts_countdown),
+ /* animate= */ false);
}
@Override
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardMessageArea.java b/packages/SystemUI/src/com/android/keyguard/KeyguardMessageArea.java
index c79fc2c27f0e..0e5f8c1c7a26 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardMessageArea.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardMessageArea.java
@@ -59,6 +59,7 @@ public abstract class KeyguardMessageArea extends TextView implements SecurityMe
@Nullable
private ViewGroup mContainer;
private int mTopMargin;
+ protected boolean mAnimate;
public KeyguardMessageArea(Context context, AttributeSet attrs) {
super(context, attrs);
@@ -106,7 +107,7 @@ public abstract class KeyguardMessageArea extends TextView implements SecurityMe
}
@Override
- public void setMessage(CharSequence msg) {
+ public void setMessage(CharSequence msg, boolean animate) {
if (!TextUtils.isEmpty(msg)) {
securityMessageChanged(msg);
} else {
@@ -115,21 +116,12 @@ public abstract class KeyguardMessageArea extends TextView implements SecurityMe
}
@Override
- public void setMessage(int resId) {
- CharSequence message = null;
- if (resId != 0) {
- message = getContext().getResources().getText(resId);
- }
- setMessage(message);
- }
-
- @Override
public void formatMessage(int resId, Object... formatArgs) {
CharSequence message = null;
if (resId != 0) {
message = getContext().getString(resId, formatArgs);
}
- setMessage(message);
+ setMessage(message, true);
}
private void securityMessageChanged(CharSequence message) {
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardMessageAreaController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardMessageAreaController.java
index db986e0a631a..c29f632b88d3 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardMessageAreaController.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardMessageAreaController.java
@@ -92,11 +92,19 @@ public class KeyguardMessageAreaController<T extends KeyguardMessageArea>
}
public void setMessage(CharSequence s) {
- mView.setMessage(s);
+ setMessage(s, true);
+ }
+
+ /**
+ * Sets a message to the underlying text view.
+ */
+ public void setMessage(CharSequence s, boolean animate) {
+ mView.setMessage(s, animate);
}
public void setMessage(int resId) {
- mView.setMessage(resId);
+ String message = resId != 0 ? mView.getResources().getString(resId) : null;
+ setMessage(message);
}
public void setNextMessageColor(ColorStateList colorState) {
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardPatternViewController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardPatternViewController.java
index 1f0bd54f8e09..cdbfb2492e27 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardPatternViewController.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardPatternViewController.java
@@ -372,10 +372,13 @@ public class KeyguardPatternViewController
Map<String, Object> arguments = new HashMap<>();
arguments.put("count", secondsRemaining);
- mMessageAreaController.setMessage(PluralsMessageFormatter.format(
- mView.getResources(),
- arguments,
- R.string.kg_too_many_failed_attempts_countdown));
+ mMessageAreaController.setMessage(
+ PluralsMessageFormatter.format(
+ mView.getResources(),
+ arguments,
+ R.string.kg_too_many_failed_attempts_countdown),
+ /* animate= */ false
+ );
}
@Override
diff --git a/packages/SystemUI/src/com/android/keyguard/SecurityMessageDisplay.java b/packages/SystemUI/src/com/android/keyguard/SecurityMessageDisplay.java
index 777bd19864bf..3392a1cda90e 100644
--- a/packages/SystemUI/src/com/android/keyguard/SecurityMessageDisplay.java
+++ b/packages/SystemUI/src/com/android/keyguard/SecurityMessageDisplay.java
@@ -23,9 +23,10 @@ public interface SecurityMessageDisplay {
/** Set text color for the next security message. */
default void setNextMessageColor(ColorStateList colorState) {}
- void setMessage(CharSequence msg);
-
- void setMessage(int resId);
+ /**
+ * Sets a message to the underlying text view.
+ */
+ void setMessage(CharSequence msg, boolean animate);
void formatMessage(int resId, Object... formatArgs);
}
diff --git a/packages/SystemUI/tests/src/com/android/keyguard/AuthKeyguardMessageAreaTest.java b/packages/SystemUI/tests/src/com/android/keyguard/AuthKeyguardMessageAreaTest.java
index 0a9c745525c2..ffedb30a404d 100644
--- a/packages/SystemUI/tests/src/com/android/keyguard/AuthKeyguardMessageAreaTest.java
+++ b/packages/SystemUI/tests/src/com/android/keyguard/AuthKeyguardMessageAreaTest.java
@@ -46,7 +46,7 @@ public class AuthKeyguardMessageAreaTest extends SysuiTestCase {
@Test
public void testShowsTextField() {
mKeyguardMessageArea.setVisibility(View.INVISIBLE);
- mKeyguardMessageArea.setMessage("oobleck");
+ mKeyguardMessageArea.setMessage("oobleck", /* animate= */ true);
assertThat(mKeyguardMessageArea.getVisibility()).isEqualTo(View.VISIBLE);
assertThat(mKeyguardMessageArea.getText()).isEqualTo("oobleck");
}
@@ -55,7 +55,7 @@ public class AuthKeyguardMessageAreaTest extends SysuiTestCase {
public void testHiddenWhenBouncerHidden() {
mKeyguardMessageArea.setIsVisible(false);
mKeyguardMessageArea.setVisibility(View.INVISIBLE);
- mKeyguardMessageArea.setMessage("oobleck");
+ mKeyguardMessageArea.setMessage("oobleck", /* animate= */ true);
assertThat(mKeyguardMessageArea.getVisibility()).isEqualTo(View.INVISIBLE);
assertThat(mKeyguardMessageArea.getText()).isEqualTo("oobleck");
}
@@ -63,7 +63,7 @@ public class AuthKeyguardMessageAreaTest extends SysuiTestCase {
@Test
public void testClearsTextField() {
mKeyguardMessageArea.setVisibility(View.VISIBLE);
- mKeyguardMessageArea.setMessage("");
+ mKeyguardMessageArea.setMessage("", /* animate= */ true);
assertThat(mKeyguardMessageArea.getVisibility()).isEqualTo(View.INVISIBLE);
assertThat(mKeyguardMessageArea.getText()).isEqualTo("");
}
diff --git a/packages/SystemUI/tests/src/com/android/keyguard/BouncerKeyguardMessageAreaTest.kt b/packages/SystemUI/tests/src/com/android/keyguard/BouncerKeyguardMessageAreaTest.kt
index 7b9b39f23c29..ba46a874c260 100644
--- a/packages/SystemUI/tests/src/com/android/keyguard/BouncerKeyguardMessageAreaTest.kt
+++ b/packages/SystemUI/tests/src/com/android/keyguard/BouncerKeyguardMessageAreaTest.kt
@@ -49,30 +49,30 @@ class BouncerKeyguardMessageAreaTest : SysuiTestCase() {
@Test
fun testSetSameMessage() {
val underTestSpy = spy(underTest)
- underTestSpy.setMessage("abc")
- underTestSpy.setMessage("abc")
+ underTestSpy.setMessage("abc", animate = true)
+ underTestSpy.setMessage("abc", animate = true)
verify(underTestSpy, times(1)).text = "abc"
}
@Test
fun testSetDifferentMessage() {
- underTest.setMessage("abc")
- underTest.setMessage("def")
+ underTest.setMessage("abc", animate = true)
+ underTest.setMessage("def", animate = true)
assertThat(underTest.text).isEqualTo("def")
}
@Test
fun testSetNullMessage() {
- underTest.setMessage(null)
+ underTest.setMessage(null, animate = true)
assertThat(underTest.text).isEqualTo("")
}
@Test
fun testSetNullClearsPreviousMessage() {
- underTest.setMessage("something not null")
+ underTest.setMessage("something not null", animate = true)
assertThat(underTest.text).isEqualTo("something not null")
- underTest.setMessage(null)
+ underTest.setMessage(null, animate = true)
assertThat(underTest.text).isEqualTo("")
}
}
diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardMessageAreaControllerTest.java b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardMessageAreaControllerTest.java
index 829008403e02..0e837d2976ba 100644
--- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardMessageAreaControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardMessageAreaControllerTest.java
@@ -85,7 +85,7 @@ public class KeyguardMessageAreaControllerTest extends SysuiTestCase {
@Test
public void testClearsTextField() {
mMessageAreaController.setMessage("");
- verify(mKeyguardMessageArea).setMessage("");
+ verify(mKeyguardMessageArea).setMessage("", /* animate= */ true);
}
@Test