summaryrefslogtreecommitdiffstats
path: root/packages/Keyguard
diff options
context:
space:
mode:
Diffstat (limited to 'packages/Keyguard')
-rw-r--r--packages/Keyguard/res/values/config.xml6
-rw-r--r--packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java13
2 files changed, 16 insertions, 3 deletions
diff --git a/packages/Keyguard/res/values/config.xml b/packages/Keyguard/res/values/config.xml
index b398ab2..ca7f204 100644
--- a/packages/Keyguard/res/values/config.xml
+++ b/packages/Keyguard/res/values/config.xml
@@ -28,4 +28,10 @@
<!-- Threshold in micro amperes above which a charger is rated as "fast" -->
<integer name="config_chargingFastThreshold">1500000</integer>
+
+ <!-- Should we listen for fingerprints when the screen is off? Devices
+ with a rear-mounted sensor want this, but certain devices have
+ the sensor embedded in the power key and listening all the time
+ causes a poor experience. -->
+ <bool name="config_fingerprintWakeAndUnlock">true</bool>
</resources>
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
index d515d19..be8ded3 100644
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
@@ -1050,9 +1050,16 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
}
private boolean shouldListenForFingerprint() {
- return (mKeyguardIsVisible || !mDeviceInteractive || mBouncer || mGoingToSleep)
- && !mSwitchingUser && !mFingerprintAlreadyAuthenticated
- && !isFingerprintDisabled(getCurrentUser());
+ if (!mSwitchingUser && !mFingerprintAlreadyAuthenticated
+ && !isFingerprintDisabled(getCurrentUser())) {
+ if (mContext.getResources().getBoolean(
+ com.android.keyguard.R.bool.config_fingerprintWakeAndUnlock)) {
+ return mKeyguardIsVisible || !mDeviceInteractive || mBouncer || mGoingToSleep;
+ } else {
+ return mDeviceInteractive && (mKeyguardIsVisible || mBouncer);
+ }
+ }
+ return false;
}
private void startListeningForFingerprint() {