summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Aaron Liu <aaronjli@google.com> 2023-06-28 15:12:39 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2023-06-28 15:12:39 +0000
commite63272fc556edfaa0e3c9030a249269ee9c70854 (patch)
tree8e4cee9d3727698a059bcdbb9b272720b24f2598
parent15a27cdeafcde515623d378a74db3f2da0b111ec (diff)
Revert "Do not refetch pin length"
This reverts commit 15a27cdeafcde515623d378a74db3f2da0b111ec. Reason for revert: (b/289033300) and (b/288959895) Change-Id: Ic5e34557df120b89120fe5a4dad398b2651da61e
-rw-r--r--packages/SystemUI/src/com/android/keyguard/KeyguardPinViewController.java41
-rw-r--r--packages/SystemUI/tests/src/com/android/keyguard/KeyguardPinViewControllerTest.kt38
2 files changed, 38 insertions, 41 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardPinViewController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardPinViewController.java
index 6f596843bf9f..3e16d559742d 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardPinViewController.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardPinViewController.java
@@ -43,15 +43,6 @@ public class KeyguardPinViewController
private long mPinLength;
private boolean mDisabledAutoConfirmation;
- /**
- * Responsible for identifying if PIN hinting is to be enabled or not
- */
- private boolean mIsPinHinting;
-
- /**
- * Responsible for identifying if auto confirm is enabled or not in Settings
- */
- private boolean mIsAutoPinConfirmEnabledInSettings;
protected KeyguardPinViewController(KeyguardPINView view,
KeyguardUpdateMonitor keyguardUpdateMonitor,
@@ -72,9 +63,6 @@ public class KeyguardPinViewController
mFeatureFlags = featureFlags;
mBackspaceKey = view.findViewById(R.id.delete_button);
mPinLength = mLockPatternUtils.getPinLength(KeyguardUpdateMonitor.getCurrentUser());
- mIsPinHinting = mPinLength == DEFAULT_PIN_LENGTH;
- mIsAutoPinConfirmEnabledInSettings = mLockPatternUtils.isAutoPinConfirmEnabled(
- KeyguardUpdateMonitor.getCurrentUser());
}
@Override
@@ -94,7 +82,7 @@ public class KeyguardPinViewController
protected void onUserInput() {
super.onUserInput();
- if (mIsAutoPinConfirmEnabledInSettings) {
+ if (isAutoPinConfirmEnabledInSettings()) {
updateAutoConfirmationState();
if (mPasswordEntry.getText().length() == mPinLength
&& mOkButton.getVisibility() == View.INVISIBLE) {
@@ -142,7 +130,7 @@ public class KeyguardPinViewController
* Updates the visibility of the OK button for auto confirm feature
*/
private void updateOKButtonVisibility() {
- if (mIsPinHinting && !mDisabledAutoConfirmation) {
+ if (isAutoPinConfirmEnabledInSettings() && !mDisabledAutoConfirmation) {
mOkButton.setVisibility(View.INVISIBLE);
} else {
mOkButton.setVisibility(View.VISIBLE);
@@ -154,9 +142,10 @@ public class KeyguardPinViewController
* Visibility changes are only for auto confirmation configuration.
*/
private void updateBackSpaceVisibility() {
+ boolean isAutoConfirmation = isAutoPinConfirmEnabledInSettings();
mBackspaceKey.setTransparentMode(/* isTransparentMode= */
- mIsAutoPinConfirmEnabledInSettings && !mDisabledAutoConfirmation);
- if (mIsAutoPinConfirmEnabledInSettings) {
+ isAutoConfirmation && !mDisabledAutoConfirmation);
+ if (isAutoConfirmation) {
if (mPasswordEntry.getText().length() > 0
|| mDisabledAutoConfirmation) {
mBackspaceKey.setVisibility(View.VISIBLE);
@@ -166,8 +155,24 @@ public class KeyguardPinViewController
}
}
/** Updates whether to use pin hinting or not. */
- private void updatePinHinting() {
- mPasswordEntry.setIsPinHinting(mIsAutoPinConfirmEnabledInSettings && mIsPinHinting
+ void updatePinHinting() {
+ mPasswordEntry.setIsPinHinting(isAutoPinConfirmEnabledInSettings() && isPinHinting()
&& !mDisabledAutoConfirmation);
}
+
+ /**
+ * Responsible for identifying if PIN hinting is to be enabled or not
+ */
+ private boolean isPinHinting() {
+ return mLockPatternUtils.getPinLength(KeyguardUpdateMonitor.getCurrentUser())
+ == DEFAULT_PIN_LENGTH;
+ }
+
+ /**
+ * Responsible for identifying if auto confirm is enabled or not in Settings
+ */
+ private boolean isAutoPinConfirmEnabledInSettings() {
+ //Checks if user has enabled the auto confirm in Settings
+ return mLockPatternUtils.isAutoPinConfirmEnabled(KeyguardUpdateMonitor.getCurrentUser());
+ }
}
diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardPinViewControllerTest.kt b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardPinViewControllerTest.kt
index 5a56bafc1992..d3b41902499c 100644
--- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardPinViewControllerTest.kt
+++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardPinViewControllerTest.kt
@@ -97,7 +97,21 @@ class KeyguardPinViewControllerTest : SysuiTestCase() {
`when`(keyguardPinView.findViewById<NumPadButton>(R.id.delete_button))
.thenReturn(deleteButton)
`when`(keyguardPinView.findViewById<View>(R.id.key_enter)).thenReturn(enterButton)
- constructViewController()
+ pinViewController =
+ KeyguardPinViewController(
+ keyguardPinView,
+ keyguardUpdateMonitor,
+ securityMode,
+ lockPatternUtils,
+ mKeyguardSecurityCallback,
+ keyguardMessageAreaControllerFactory,
+ mLatencyTracker,
+ liftToActivateListener,
+ mEmergencyButtonController,
+ falsingCollector,
+ postureController,
+ featureFlags
+ )
}
@Test
@@ -121,10 +135,8 @@ class KeyguardPinViewControllerTest : SysuiTestCase() {
`when`(lockPatternUtils.isAutoPinConfirmEnabled(anyInt())).thenReturn(true)
`when`(lockPatternUtils.getCurrentFailedPasswordAttempts(anyInt())).thenReturn(3)
`when`(passwordTextView.text).thenReturn("")
- constructViewController()
pinViewController.startAppearAnimation()
-
verify(deleteButton).visibility = View.INVISIBLE
verify(enterButton).visibility = View.INVISIBLE
verify(passwordTextView).setUsePinShapes(true)
@@ -138,10 +150,8 @@ class KeyguardPinViewControllerTest : SysuiTestCase() {
`when`(lockPatternUtils.isAutoPinConfirmEnabled(anyInt())).thenReturn(true)
`when`(lockPatternUtils.getCurrentFailedPasswordAttempts(anyInt())).thenReturn(6)
`when`(passwordTextView.text).thenReturn("")
- constructViewController()
pinViewController.startAppearAnimation()
-
verify(deleteButton).visibility = View.VISIBLE
verify(enterButton).visibility = View.VISIBLE
verify(passwordTextView).setUsePinShapes(true)
@@ -153,22 +163,4 @@ class KeyguardPinViewControllerTest : SysuiTestCase() {
pinViewController.handleAttemptLockout(0)
verify(lockPatternUtils).getCurrentFailedPasswordAttempts(anyInt())
}
-
- fun constructViewController() {
- pinViewController =
- KeyguardPinViewController(
- keyguardPinView,
- keyguardUpdateMonitor,
- securityMode,
- lockPatternUtils,
- mKeyguardSecurityCallback,
- keyguardMessageAreaControllerFactory,
- mLatencyTracker,
- liftToActivateListener,
- mEmergencyButtonController,
- falsingCollector,
- postureController,
- featureFlags
- )
- }
}