Revert "Do not refetch pin length"

This reverts commit 15a27cdeaf.

Reason for revert:  (b/289033300) and (b/288959895)

Change-Id: Ic5e34557df120b89120fe5a4dad398b2651da61e
This commit is contained in:
Aaron Liu
2023-06-28 15:12:39 +00:00
committed by Android (Google) Code Review
parent 15a27cdeaf
commit e63272fc55
2 changed files with 38 additions and 41 deletions

View File

@@ -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());
}
}

View File

@@ -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
)
}
}