Loading packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java +23 −4 Original line number Original line Diff line number Diff line Loading @@ -132,6 +132,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { private static final int MSG_DREAMING_STATE_CHANGED = 333; private static final int MSG_DREAMING_STATE_CHANGED = 333; private static final int MSG_USER_UNLOCKED = 334; private static final int MSG_USER_UNLOCKED = 334; private static final int MSG_ASSISTANT_STACK_CHANGED = 335; private static final int MSG_ASSISTANT_STACK_CHANGED = 335; private static final int MSG_FINGERPRINT_AUTHENTICATION_CONTINUE = 336; /** Fingerprint state: Not listening to fingerprint. */ /** Fingerprint state: Not listening to fingerprint. */ private static final int FINGERPRINT_STATE_STOPPED = 0; private static final int FINGERPRINT_STATE_STOPPED = 0; Loading Loading @@ -200,6 +201,13 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { private int mFingerprintRunningState = FINGERPRINT_STATE_STOPPED; private int mFingerprintRunningState = FINGERPRINT_STATE_STOPPED; private LockPatternUtils mLockPatternUtils; private LockPatternUtils mLockPatternUtils; /** * Short delay before restarting fingerprint authentication after a successful try * This should be slightly longer than the time between onFingerprintAuthenticated and * setKeyguardGoingAway(true). */ private static final int FINGERPRINT_CONTINUE_DELAY_MS = 500; // If FP daemon dies, keyguard should retry after a short delay // If FP daemon dies, keyguard should retry after a short delay private int mHardwareUnavailableRetryCount = 0; private int mHardwareUnavailableRetryCount = 0; private static final int HW_UNAVAILABLE_TIMEOUT = 3000; // ms private static final int HW_UNAVAILABLE_TIMEOUT = 3000; // ms Loading Loading @@ -294,6 +302,9 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { mAssistantVisible = (boolean)msg.obj; mAssistantVisible = (boolean)msg.obj; updateFingerprintListeningState(); updateFingerprintListeningState(); break; break; case MSG_FINGERPRINT_AUTHENTICATION_CONTINUE: updateFingerprintListeningState(); break; } } } } }; }; Loading Loading @@ -446,9 +457,11 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { } } } } mHandler.sendMessageDelayed(mHandler.obtainMessage(MSG_FINGERPRINT_AUTHENTICATION_CONTINUE), FINGERPRINT_CONTINUE_DELAY_MS); // Only authenticate fingerprint once when assistant is visible // Only authenticate fingerprint once when assistant is visible mAssistantVisible = false; mAssistantVisible = false; updateFingerprintListeningState(); Trace.endSection(); Trace.endSection(); } } Loading Loading @@ -1136,6 +1149,11 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { } } private void updateFingerprintListeningState() { private void updateFingerprintListeningState() { // If this message exists, we should not authenticate again until this message is // consumed by the handler if (mHandler.hasMessages(MSG_FINGERPRINT_AUTHENTICATION_CONTINUE)) { return; } mHandler.removeCallbacks(mRetryFingerprintAuthentication); mHandler.removeCallbacks(mRetryFingerprintAuthentication); boolean shouldListenForFingerprint = shouldListenForFingerprint(); boolean shouldListenForFingerprint = shouldListenForFingerprint(); if (mFingerprintRunningState == FINGERPRINT_STATE_RUNNING && !shouldListenForFingerprint) { if (mFingerprintRunningState == FINGERPRINT_STATE_RUNNING && !shouldListenForFingerprint) { Loading @@ -1150,7 +1168,8 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { return (mKeyguardIsVisible || !mDeviceInteractive || return (mKeyguardIsVisible || !mDeviceInteractive || (mBouncer && !mKeyguardGoingAway) || mGoingToSleep || (mBouncer && !mKeyguardGoingAway) || mGoingToSleep || (mAssistantVisible && mKeyguardOccluded)) (mAssistantVisible && mKeyguardOccluded)) && !mSwitchingUser && !isFingerprintDisabled(getCurrentUser()); && !mSwitchingUser && !isFingerprintDisabled(getCurrentUser()) && !mKeyguardGoingAway; } } private void startListeningForFingerprint() { private void startListeningForFingerprint() { Loading Loading
packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java +23 −4 Original line number Original line Diff line number Diff line Loading @@ -132,6 +132,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { private static final int MSG_DREAMING_STATE_CHANGED = 333; private static final int MSG_DREAMING_STATE_CHANGED = 333; private static final int MSG_USER_UNLOCKED = 334; private static final int MSG_USER_UNLOCKED = 334; private static final int MSG_ASSISTANT_STACK_CHANGED = 335; private static final int MSG_ASSISTANT_STACK_CHANGED = 335; private static final int MSG_FINGERPRINT_AUTHENTICATION_CONTINUE = 336; /** Fingerprint state: Not listening to fingerprint. */ /** Fingerprint state: Not listening to fingerprint. */ private static final int FINGERPRINT_STATE_STOPPED = 0; private static final int FINGERPRINT_STATE_STOPPED = 0; Loading Loading @@ -200,6 +201,13 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { private int mFingerprintRunningState = FINGERPRINT_STATE_STOPPED; private int mFingerprintRunningState = FINGERPRINT_STATE_STOPPED; private LockPatternUtils mLockPatternUtils; private LockPatternUtils mLockPatternUtils; /** * Short delay before restarting fingerprint authentication after a successful try * This should be slightly longer than the time between onFingerprintAuthenticated and * setKeyguardGoingAway(true). */ private static final int FINGERPRINT_CONTINUE_DELAY_MS = 500; // If FP daemon dies, keyguard should retry after a short delay // If FP daemon dies, keyguard should retry after a short delay private int mHardwareUnavailableRetryCount = 0; private int mHardwareUnavailableRetryCount = 0; private static final int HW_UNAVAILABLE_TIMEOUT = 3000; // ms private static final int HW_UNAVAILABLE_TIMEOUT = 3000; // ms Loading Loading @@ -294,6 +302,9 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { mAssistantVisible = (boolean)msg.obj; mAssistantVisible = (boolean)msg.obj; updateFingerprintListeningState(); updateFingerprintListeningState(); break; break; case MSG_FINGERPRINT_AUTHENTICATION_CONTINUE: updateFingerprintListeningState(); break; } } } } }; }; Loading Loading @@ -446,9 +457,11 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { } } } } mHandler.sendMessageDelayed(mHandler.obtainMessage(MSG_FINGERPRINT_AUTHENTICATION_CONTINUE), FINGERPRINT_CONTINUE_DELAY_MS); // Only authenticate fingerprint once when assistant is visible // Only authenticate fingerprint once when assistant is visible mAssistantVisible = false; mAssistantVisible = false; updateFingerprintListeningState(); Trace.endSection(); Trace.endSection(); } } Loading Loading @@ -1136,6 +1149,11 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { } } private void updateFingerprintListeningState() { private void updateFingerprintListeningState() { // If this message exists, we should not authenticate again until this message is // consumed by the handler if (mHandler.hasMessages(MSG_FINGERPRINT_AUTHENTICATION_CONTINUE)) { return; } mHandler.removeCallbacks(mRetryFingerprintAuthentication); mHandler.removeCallbacks(mRetryFingerprintAuthentication); boolean shouldListenForFingerprint = shouldListenForFingerprint(); boolean shouldListenForFingerprint = shouldListenForFingerprint(); if (mFingerprintRunningState == FINGERPRINT_STATE_RUNNING && !shouldListenForFingerprint) { if (mFingerprintRunningState == FINGERPRINT_STATE_RUNNING && !shouldListenForFingerprint) { Loading @@ -1150,7 +1168,8 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { return (mKeyguardIsVisible || !mDeviceInteractive || return (mKeyguardIsVisible || !mDeviceInteractive || (mBouncer && !mKeyguardGoingAway) || mGoingToSleep || (mBouncer && !mKeyguardGoingAway) || mGoingToSleep || (mAssistantVisible && mKeyguardOccluded)) (mAssistantVisible && mKeyguardOccluded)) && !mSwitchingUser && !isFingerprintDisabled(getCurrentUser()); && !mSwitchingUser && !isFingerprintDisabled(getCurrentUser()) && !mKeyguardGoingAway; } } private void startListeningForFingerprint() { private void startListeningForFingerprint() { Loading