Merge "Update FP listening right after POWER_PRESSED err" into tm-qpr-dev am: 3971c56c12
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20612798 Change-Id: I03c06e59aa6ae9cef66416521198aafff38c8282 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -955,12 +955,16 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
|
|||||||
setFingerprintRunningState(BIOMETRIC_STATE_STOPPED);
|
setFingerprintRunningState(BIOMETRIC_STATE_STOPPED);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (msgId == FingerprintManager.FINGERPRINT_ERROR_HW_UNAVAILABLE
|
if (msgId == FingerprintManager.FINGERPRINT_ERROR_HW_UNAVAILABLE) {
|
||||||
|| msgId == FingerprintManager.BIOMETRIC_ERROR_POWER_PRESSED) {
|
mLogger.logRetryAfterFpErrorWithDelay(msgId, errString, HAL_ERROR_RETRY_TIMEOUT);
|
||||||
mLogger.logRetryAfterFpError(msgId, errString);
|
|
||||||
mHandler.postDelayed(mRetryFingerprintAuthentication, HAL_ERROR_RETRY_TIMEOUT);
|
mHandler.postDelayed(mRetryFingerprintAuthentication, HAL_ERROR_RETRY_TIMEOUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (msgId == FingerprintManager.BIOMETRIC_ERROR_POWER_PRESSED) {
|
||||||
|
mLogger.logRetryAfterFpErrorWithDelay(msgId, errString, 0);
|
||||||
|
updateFingerprintListeningState(BIOMETRIC_ACTION_START);
|
||||||
|
}
|
||||||
|
|
||||||
boolean lockedOutStateChanged = false;
|
boolean lockedOutStateChanged = false;
|
||||||
if (msgId == FingerprintManager.FINGERPRINT_ERROR_LOCKOUT_PERMANENT) {
|
if (msgId == FingerprintManager.FINGERPRINT_ERROR_LOCKOUT_PERMANENT) {
|
||||||
lockedOutStateChanged = !mFingerprintLockedOutPermanent;
|
lockedOutStateChanged = !mFingerprintLockedOutPermanent;
|
||||||
|
|||||||
@@ -225,12 +225,13 @@ class KeyguardUpdateMonitorLogger @Inject constructor(
|
|||||||
{ "Retrying face after HW unavailable, attempt $int1" })
|
{ "Retrying face after HW unavailable, attempt $int1" })
|
||||||
}
|
}
|
||||||
|
|
||||||
fun logRetryAfterFpError(msgId: Int, errString: String?) {
|
fun logRetryAfterFpErrorWithDelay(msgId: Int, errString: String?, delay: Int) {
|
||||||
logBuffer.log(TAG, DEBUG, {
|
logBuffer.log(TAG, DEBUG, {
|
||||||
int1 = msgId
|
int1 = msgId
|
||||||
|
int2 = delay
|
||||||
str1 = "$errString"
|
str1 = "$errString"
|
||||||
}, {
|
}, {
|
||||||
"Fingerprint retrying auth due to($int1) -> $str1"
|
"Fingerprint retrying auth after $int2 ms due to($int1) -> $str1"
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -837,6 +837,15 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
|
|||||||
verify(mFaceManager).authenticate(any(), any(), any(), any(), anyInt(), anyBoolean());
|
verify(mFaceManager).authenticate(any(), any(), any(), any(), anyInt(), anyBoolean());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testFingerprintPowerPressed_restartsFingerprintListeningStateImmediately() {
|
||||||
|
mKeyguardUpdateMonitor.mFingerprintAuthenticationCallback
|
||||||
|
.onAuthenticationError(FingerprintManager.BIOMETRIC_ERROR_POWER_PRESSED, "");
|
||||||
|
|
||||||
|
verify(mFingerprintManager).authenticate(any(), any(), any(), any(), anyInt(), anyInt(),
|
||||||
|
anyInt());
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testOnFaceAuthenticated_skipsFaceWhenAuthenticated() {
|
public void testOnFaceAuthenticated_skipsFaceWhenAuthenticated() {
|
||||||
// test whether face will be skipped if authenticated, so the value of isStrongBiometric
|
// test whether face will be skipped if authenticated, so the value of isStrongBiometric
|
||||||
@@ -977,8 +986,6 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
|
|||||||
verify(mFaceManager).authenticate(any(), any(), any(), any(), anyInt(), anyBoolean());
|
verify(mFaceManager).authenticate(any(), any(), any(), any(), anyInt(), anyBoolean());
|
||||||
verify(mFingerprintManager).authenticate(any(), any(), any(), any(), anyInt(), anyInt(),
|
verify(mFingerprintManager).authenticate(any(), any(), any(), any(), anyInt(), anyInt(),
|
||||||
anyInt());
|
anyInt());
|
||||||
// resetFaceManager();
|
|
||||||
// resetFingerprintManager();
|
|
||||||
|
|
||||||
when(mFingerprintManager.getLockoutModeForUser(eq(FINGERPRINT_SENSOR_ID), eq(newUser)))
|
when(mFingerprintManager.getLockoutModeForUser(eq(FINGERPRINT_SENSOR_ID), eq(newUser)))
|
||||||
.thenReturn(fingerprintLockoutMode);
|
.thenReturn(fingerprintLockoutMode);
|
||||||
|
|||||||
Reference in New Issue
Block a user