From cfcd42a2733659b95ef159021d599de606663061 Mon Sep 17 00:00:00 2001 From: Aaron Liu Date: Thu, 26 May 2022 16:51:15 +0000 Subject: [PATCH] [Bouncer] Add initial text for bouncer. Add intiial text for pin, password, and pattern screens in onResume. Bug: 228047010 Test: Manual on Device. Change-Id: I1718816508342c601b8bdabb144ec77d46c94755 --- .../KeyguardMessageAreaController.java | 10 +++++ .../KeyguardPasswordViewController.java | 1 + .../KeyguardPatternViewController.java | 6 +++ .../KeyguardPinBasedInputViewController.java | 1 + .../KeyguardMessageAreaControllerTest.java | 17 ++++++++ .../KeyguardPasswordViewControllerTest.kt | 43 +++++++++++-------- .../KeyguardPatternViewControllerTest.kt | 36 ++++++++++++---- ...yguardPinBasedInputViewControllerTest.java | 6 +++ ...yguardSecurityContainerControllerTest.java | 4 ++ 9 files changed, 98 insertions(+), 26 deletions(-) diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardMessageAreaController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardMessageAreaController.java index 81cc3a9336008..3ec8ce918a4d7 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardMessageAreaController.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardMessageAreaController.java @@ -18,6 +18,7 @@ package com.android.keyguard; import android.content.res.ColorStateList; import android.content.res.Configuration; +import android.text.TextUtils; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.ConfigurationController.ConfigurationListener; @@ -103,6 +104,15 @@ public class KeyguardMessageAreaController extends ViewController(R.id.keyguard_message_area)) - .thenReturn(mKeyguardMessageArea) + Mockito.`when`( + keyguardPasswordView.findViewById(R.id.keyguard_message_area) + ).thenReturn(mKeyguardMessageArea) Mockito.`when`(messageAreaControllerFactory.create(mKeyguardMessageArea)) - .thenReturn(mKeyguardMessageAreaController) + .thenReturn(mKeyguardMessageAreaController) keyguardPasswordViewController = KeyguardPasswordViewController( - keyguardPasswordView, - keyguardUpdateMonitor, - securityMode, - lockPatternUtils, - keyguardSecurityCallback, - messageAreaControllerFactory, - latencyTracker, - inputMethodManager, - emergencyButtonController, - mainExecutor, - mContext.resources, - falsingCollector, - keyguardViewController + keyguardPasswordView, + keyguardUpdateMonitor, + securityMode, + lockPatternUtils, + keyguardSecurityCallback, + messageAreaControllerFactory, + latencyTracker, + inputMethodManager, + emergencyButtonController, + mainExecutor, + mContext.resources, + falsingCollector, + keyguardViewController ) } @@ -110,4 +110,11 @@ class KeyguardPasswordViewControllerTest : SysuiTestCase() { keyguardPasswordViewController.onResume(KeyguardSecurityView.VIEW_REVEALED) verify(keyguardPasswordView, never()).requestFocus() } -} \ No newline at end of file + + @Test + fun onResume_testSetInitialText() { + keyguardPasswordViewController.onResume(KeyguardSecurityView.SCREEN_ON) + verify(mKeyguardMessageAreaController) + .setMessageIfEmpty(R.string.keyguard_enter_your_password) + } +} diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardPatternViewControllerTest.kt b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardPatternViewControllerTest.kt index 8e1e42a9c9a25..616a1056d161a 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardPatternViewControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardPatternViewControllerTest.kt @@ -31,8 +31,8 @@ import org.junit.Before import org.junit.Test import org.junit.runner.RunWith import org.mockito.Mock -import org.mockito.Mockito.`when` import org.mockito.Mockito.verify +import org.mockito.Mockito.`when` import org.mockito.MockitoAnnotations @SmallTest @@ -41,28 +41,39 @@ import org.mockito.MockitoAnnotations class KeyguardPatternViewControllerTest : SysuiTestCase() { @Mock private lateinit var mKeyguardPatternView: KeyguardPatternView + @Mock private lateinit var mKeyguardUpdateMonitor: KeyguardUpdateMonitor + @Mock private lateinit var mSecurityMode: KeyguardSecurityModel.SecurityMode + @Mock private lateinit var mLockPatternUtils: LockPatternUtils + @Mock private lateinit var mKeyguardSecurityCallback: KeyguardSecurityCallback + @Mock private lateinit var mLatencyTracker: LatencyTracker private var mFalsingCollector: FalsingCollector = FalsingCollectorFake() + @Mock private lateinit var mEmergencyButtonController: EmergencyButtonController + @Mock private lateinit var mKeyguardMessageAreaControllerFactory: KeyguardMessageAreaController.Factory + @Mock private lateinit var mKeyguardMessageArea: KeyguardMessageArea + @Mock private lateinit var mKeyguardMessageAreaController: KeyguardMessageAreaController + @Mock private lateinit var mLockPatternView: LockPatternView + @Mock private lateinit var mPostureController: DevicePostureController @@ -73,15 +84,17 @@ class KeyguardPatternViewControllerTest : SysuiTestCase() { MockitoAnnotations.initMocks(this) `when`(mKeyguardPatternView.isAttachedToWindow).thenReturn(true) `when`(mKeyguardPatternView.findViewById(R.id.keyguard_message_area)) - .thenReturn(mKeyguardMessageArea) + .thenReturn(mKeyguardMessageArea) `when`(mKeyguardPatternView.findViewById(R.id.lockPatternView)) - .thenReturn(mLockPatternView) + .thenReturn(mLockPatternView) `when`(mKeyguardMessageAreaControllerFactory.create(mKeyguardMessageArea)) - .thenReturn(mKeyguardMessageAreaController) - mKeyguardPatternViewController = KeyguardPatternViewController(mKeyguardPatternView, - mKeyguardUpdateMonitor, mSecurityMode, mLockPatternUtils, mKeyguardSecurityCallback, - mLatencyTracker, mFalsingCollector, mEmergencyButtonController, - mKeyguardMessageAreaControllerFactory, mPostureController) + .thenReturn(mKeyguardMessageAreaController) + mKeyguardPatternViewController = KeyguardPatternViewController( + mKeyguardPatternView, + mKeyguardUpdateMonitor, mSecurityMode, mLockPatternUtils, mKeyguardSecurityCallback, + mLatencyTracker, mFalsingCollector, mEmergencyButtonController, + mKeyguardMessageAreaControllerFactory, mPostureController + ) } @Test @@ -90,4 +103,11 @@ class KeyguardPatternViewControllerTest : SysuiTestCase() { mKeyguardPatternViewController.onPause() verify(mKeyguardMessageAreaController).setMessage("") } + + @Test + fun onResume_setInitialText() { + mKeyguardPatternViewController.onResume(KeyguardSecurityView.SCREEN_ON) + verify(mKeyguardMessageAreaController) + .setMessageIfEmpty(R.string.keyguard_enter_your_pattern) + } } diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardPinBasedInputViewControllerTest.java b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardPinBasedInputViewControllerTest.java index 9597cabb2eb8d..7bc8e8a722f08 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardPinBasedInputViewControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardPinBasedInputViewControllerTest.java @@ -113,5 +113,11 @@ public class KeyguardPinBasedInputViewControllerTest extends SysuiTestCase { mKeyguardPinViewController.onResume(KeyguardSecurityView.SCREEN_ON); verify(mPasswordEntry).requestFocus(); } + + @Test + public void onResume_setInitialText() { + mKeyguardPinViewController.onResume(KeyguardSecurityView.SCREEN_ON); + verify(mKeyguardMessageAreaController).setMessageIfEmpty(R.string.keyguard_enter_your_pin); + } } diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.java b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.java index 4d33430597183..7de4586e19019 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.java @@ -104,6 +104,8 @@ public class KeyguardSecurityContainerControllerTest extends SysuiTestCase { @Mock private KeyguardMessageAreaController.Factory mKeyguardMessageAreaControllerFactory; @Mock + private KeyguardMessageAreaController mKeyguardMessageAreaController; + @Mock private KeyguardMessageArea mKeyguardMessageArea; @Mock private ConfigurationController mConfigurationController; @@ -147,6 +149,8 @@ public class KeyguardSecurityContainerControllerTest extends SysuiTestCase { when(mKeyguardPasswordView.getRootView()).thenReturn(mSecurityViewFlipper); when(mKeyguardPasswordView.findViewById(R.id.keyguard_message_area)) .thenReturn(mKeyguardMessageArea); + when(mKeyguardMessageAreaControllerFactory.create(any(KeyguardMessageArea.class))) + .thenReturn(mKeyguardMessageAreaController); when(mKeyguardPasswordView.getWindowInsetsController()).thenReturn(mWindowInsetsController); mKeyguardPasswordViewController = new KeyguardPasswordViewController( (KeyguardPasswordView) mKeyguardPasswordView, mKeyguardUpdateMonitor,