summaryrefslogtreecommitdiffstats
path: root/packages/Keyguard
diff options
context:
space:
mode:
authorJorim Jaggi <jjaggi@google.com>2015-08-11 22:46:41 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-08-11 22:46:41 +0000
commitf306cef4c215c77049024d28617af29a7b03b96f (patch)
tree47726b3a10889e91e096b645bf175c443fa4934b /packages/Keyguard
parentebd0b26bf32910ee6285bdf09e4252127480941a (diff)
parent959431bcca9fc7b3491b1501957b1f4b45efee65 (diff)
downloadframeworks_base-f306cef4c215c77049024d28617af29a7b03b96f.zip
frameworks_base-f306cef4c215c77049024d28617af29a7b03b96f.tar.gz
frameworks_base-f306cef4c215c77049024d28617af29a7b03b96f.tar.bz2
am 959431bc: Wake device when Keyguard invisible and getting fingerprint
* commit '959431bcca9fc7b3491b1501957b1f4b45efee65': Wake device when Keyguard invisible and getting fingerprint
Diffstat (limited to 'packages/Keyguard')
-rw-r--r--packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java19
1 files changed, 12 insertions, 7 deletions
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
index 55d8520..0ee68fd 100644
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
@@ -118,7 +118,13 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
* Mode in which we wake up the device, but play the normal dismiss animation. Active when we
* acquire a fingerprint pulsing in doze mode.
* */
- private static final int FP_WAKE_WAKE_TO_BOUNCER = 2;
+ private static final int FP_WAKE_TO_BOUNCER = 2;
+
+ /**
+ * Mode in which we only wake up the device, and keyguard was not showing when we acquired a
+ * fingerprint.
+ * */
+ private static final int FP_ONLY_WAKE = 3;
// Callback messages
private static final int MSG_TIME_UPDATE = 301;
@@ -401,14 +407,14 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
mWakeLock = mPowerManager.newWakeLock(
PowerManager.PARTIAL_WAKE_LOCK, FINGERPRINT_WAKE_LOCK_NAME);
mWakeLock.acquire();
- mFpWakeMode = FP_WAKE_DIRECT_UNLOCK;
+ mFpWakeMode = mKeyguardIsVisible ? FP_WAKE_DIRECT_UNLOCK : FP_ONLY_WAKE;
if (DEBUG_FP_WAKELOCK) {
Log.i(TAG, "fingerprint acquired, grabbing fp wakelock");
}
mHandler.postDelayed(mReleaseFingerprintWakeLockRunnable,
FINGERPRINT_WAKELOCK_TIMEOUT_MS);
} else if (!mDeviceInteractive) {
- mFpWakeMode = FP_WAKE_WAKE_TO_BOUNCER;
+ mFpWakeMode = FP_WAKE_TO_BOUNCER;
} else {
mFpWakeMode = FP_WAKE_NONE;
}
@@ -436,7 +442,8 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
}
private void handleFingerprintAuthenticated() {
- if (mFpWakeMode == FP_WAKE_WAKE_TO_BOUNCER || mFpWakeMode == FP_WAKE_DIRECT_UNLOCK) {
+ if (mFpWakeMode == FP_WAKE_TO_BOUNCER || mFpWakeMode == FP_WAKE_DIRECT_UNLOCK
+ || mFpWakeMode == FP_ONLY_WAKE) {
if (DEBUG_FP_WAKELOCK) {
Log.i(TAG, "fp wakelock: Authenticated, waking up...");
}
@@ -942,9 +949,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
}
private boolean shouldListenForFingerprint() {
- return mKeyguardIsVisible && !mSwitchingUser &&
- mTrustManager.hasUserAuthenticatedSinceBoot(
- ActivityManager.getCurrentUser());
+ return (mKeyguardIsVisible || !mDeviceInteractive) && !mSwitchingUser;
}
private void startListeningForFingerprint() {