Loading packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java +21 −6 Original line number Diff line number Diff line Loading @@ -88,6 +88,7 @@ import com.android.internal.widget.LockPatternUtils; import com.android.settingslib.WirelessUtils; import com.android.systemui.shared.system.ActivityManagerWrapper; import com.android.systemui.shared.system.TaskStackChangeListener; import com.google.android.collect.Lists; import java.io.FileDescriptor; Loading Loading @@ -236,6 +237,8 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { private boolean mIsDreaming; private final DevicePolicyManager mDevicePolicyManager; private boolean mLogoutEnabled; private boolean mFingerprintLockedOut; private boolean mFaceLockedOut; /** * Short delay before restarting biometric authentication after a successful try Loading Loading @@ -624,7 +627,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { if (msgId == FingerprintManager.FINGERPRINT_ERROR_CANCELED && mFingerprintRunningState == BIOMETRIC_STATE_CANCELLING_RESTARTING) { setFingerprintRunningState(BIOMETRIC_STATE_STOPPED); startListeningForFingerprint(); updateFingerprintListeningState(); } else { setFingerprintRunningState(BIOMETRIC_STATE_STOPPED); } Loading @@ -637,6 +640,11 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { } } if (msgId == FingerprintManager.FINGERPRINT_ERROR_LOCKOUT || msgId == FingerprintManager.FINGERPRINT_ERROR_LOCKOUT_PERMANENT) { mFingerprintLockedOut = true; } if (msgId == FingerprintManager.FINGERPRINT_ERROR_LOCKOUT_PERMANENT) { mLockPatternUtils.requireStrongAuth( LockPatternUtils.StrongAuthTracker.STRONG_AUTH_REQUIRED_AFTER_LOCKOUT, Loading @@ -652,6 +660,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { } private void handleFingerprintLockoutReset() { mFingerprintLockedOut = false; updateFingerprintListeningState(); } Loading @@ -659,7 +668,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { boolean wasRunning = mFingerprintRunningState == BIOMETRIC_STATE_RUNNING; boolean isRunning = fingerprintRunningState == BIOMETRIC_STATE_RUNNING; mFingerprintRunningState = fingerprintRunningState; if (DEBUG) Log.v(TAG, "Fingerprint State: " + mFingerprintRunningState); // Clients of KeyguardUpdateMonitor don't care about the internal state about the // asynchronousness of the cancel cycle. So only notify them if the actualy running state // has changed. Loading Loading @@ -774,7 +783,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { if (msgId == FaceManager.FACE_ERROR_CANCELED && mFaceRunningState == BIOMETRIC_STATE_CANCELLING_RESTARTING) { setFaceRunningState(BIOMETRIC_STATE_STOPPED); startListeningForFace(); updateFaceListeningState(); } else { setFaceRunningState(BIOMETRIC_STATE_STOPPED); } Loading @@ -787,6 +796,11 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { } } if (msgId == FaceManager.FACE_ERROR_LOCKOUT || msgId == FaceManager.FACE_ERROR_LOCKOUT_PERMANENT) { mFaceLockedOut = true; } if (msgId == FaceManager.FACE_ERROR_LOCKOUT_PERMANENT) { mLockPatternUtils.requireStrongAuth( LockPatternUtils.StrongAuthTracker.STRONG_AUTH_REQUIRED_AFTER_LOCKOUT, Loading @@ -803,6 +817,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { } private void handleFaceLockoutReset() { mFaceLockedOut = false; updateFaceListeningState(); } Loading @@ -810,7 +825,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { boolean wasRunning = mFaceRunningState == BIOMETRIC_STATE_RUNNING; boolean isRunning = faceRunningState == BIOMETRIC_STATE_RUNNING; mFaceRunningState = faceRunningState; if (DEBUG) Log.v(TAG, "Face State: " + mFaceRunningState); // Clients of KeyguardUpdateMonitor don't care about the internal state or about the // asynchronousness of the cancel cycle. So only notify them if the actualy running state // has changed. Loading Loading @@ -1557,7 +1572,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { (mBouncer && !mKeyguardGoingAway) || mGoingToSleep || shouldListenForFingerprintAssistant() || (mKeyguardOccluded && mIsDreaming)) && !mSwitchingUser && !isFingerprintDisabled(getCurrentUser()) && !mKeyguardGoingAway; && !mKeyguardGoingAway && !mFingerprintLockedOut; } private boolean shouldListenForFace() { Loading @@ -1565,7 +1580,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { (mBouncer && !mKeyguardGoingAway) || mGoingToSleep || shouldListenForFaceAssistant() || (mKeyguardOccluded && mIsDreaming)) && !mSwitchingUser && !isFaceDisabled(getCurrentUser()) && !mKeyguardGoingAway && mFaceSettingEnabledForUser; && !mKeyguardGoingAway && !mFaceLockedOut && mFaceSettingEnabledForUser; } Loading Loading
packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java +21 −6 Original line number Diff line number Diff line Loading @@ -88,6 +88,7 @@ import com.android.internal.widget.LockPatternUtils; import com.android.settingslib.WirelessUtils; import com.android.systemui.shared.system.ActivityManagerWrapper; import com.android.systemui.shared.system.TaskStackChangeListener; import com.google.android.collect.Lists; import java.io.FileDescriptor; Loading Loading @@ -236,6 +237,8 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { private boolean mIsDreaming; private final DevicePolicyManager mDevicePolicyManager; private boolean mLogoutEnabled; private boolean mFingerprintLockedOut; private boolean mFaceLockedOut; /** * Short delay before restarting biometric authentication after a successful try Loading Loading @@ -624,7 +627,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { if (msgId == FingerprintManager.FINGERPRINT_ERROR_CANCELED && mFingerprintRunningState == BIOMETRIC_STATE_CANCELLING_RESTARTING) { setFingerprintRunningState(BIOMETRIC_STATE_STOPPED); startListeningForFingerprint(); updateFingerprintListeningState(); } else { setFingerprintRunningState(BIOMETRIC_STATE_STOPPED); } Loading @@ -637,6 +640,11 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { } } if (msgId == FingerprintManager.FINGERPRINT_ERROR_LOCKOUT || msgId == FingerprintManager.FINGERPRINT_ERROR_LOCKOUT_PERMANENT) { mFingerprintLockedOut = true; } if (msgId == FingerprintManager.FINGERPRINT_ERROR_LOCKOUT_PERMANENT) { mLockPatternUtils.requireStrongAuth( LockPatternUtils.StrongAuthTracker.STRONG_AUTH_REQUIRED_AFTER_LOCKOUT, Loading @@ -652,6 +660,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { } private void handleFingerprintLockoutReset() { mFingerprintLockedOut = false; updateFingerprintListeningState(); } Loading @@ -659,7 +668,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { boolean wasRunning = mFingerprintRunningState == BIOMETRIC_STATE_RUNNING; boolean isRunning = fingerprintRunningState == BIOMETRIC_STATE_RUNNING; mFingerprintRunningState = fingerprintRunningState; if (DEBUG) Log.v(TAG, "Fingerprint State: " + mFingerprintRunningState); // Clients of KeyguardUpdateMonitor don't care about the internal state about the // asynchronousness of the cancel cycle. So only notify them if the actualy running state // has changed. Loading Loading @@ -774,7 +783,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { if (msgId == FaceManager.FACE_ERROR_CANCELED && mFaceRunningState == BIOMETRIC_STATE_CANCELLING_RESTARTING) { setFaceRunningState(BIOMETRIC_STATE_STOPPED); startListeningForFace(); updateFaceListeningState(); } else { setFaceRunningState(BIOMETRIC_STATE_STOPPED); } Loading @@ -787,6 +796,11 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { } } if (msgId == FaceManager.FACE_ERROR_LOCKOUT || msgId == FaceManager.FACE_ERROR_LOCKOUT_PERMANENT) { mFaceLockedOut = true; } if (msgId == FaceManager.FACE_ERROR_LOCKOUT_PERMANENT) { mLockPatternUtils.requireStrongAuth( LockPatternUtils.StrongAuthTracker.STRONG_AUTH_REQUIRED_AFTER_LOCKOUT, Loading @@ -803,6 +817,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { } private void handleFaceLockoutReset() { mFaceLockedOut = false; updateFaceListeningState(); } Loading @@ -810,7 +825,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { boolean wasRunning = mFaceRunningState == BIOMETRIC_STATE_RUNNING; boolean isRunning = faceRunningState == BIOMETRIC_STATE_RUNNING; mFaceRunningState = faceRunningState; if (DEBUG) Log.v(TAG, "Face State: " + mFaceRunningState); // Clients of KeyguardUpdateMonitor don't care about the internal state or about the // asynchronousness of the cancel cycle. So only notify them if the actualy running state // has changed. Loading Loading @@ -1557,7 +1572,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { (mBouncer && !mKeyguardGoingAway) || mGoingToSleep || shouldListenForFingerprintAssistant() || (mKeyguardOccluded && mIsDreaming)) && !mSwitchingUser && !isFingerprintDisabled(getCurrentUser()) && !mKeyguardGoingAway; && !mKeyguardGoingAway && !mFingerprintLockedOut; } private boolean shouldListenForFace() { Loading @@ -1565,7 +1580,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { (mBouncer && !mKeyguardGoingAway) || mGoingToSleep || shouldListenForFaceAssistant() || (mKeyguardOccluded && mIsDreaming)) && !mSwitchingUser && !isFaceDisabled(getCurrentUser()) && !mKeyguardGoingAway && mFaceSettingEnabledForUser; && !mKeyguardGoingAway && !mFaceLockedOut && mFaceSettingEnabledForUser; } Loading