summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJorim Jaggi <jjaggi@google.com>2015-04-28 23:01:41 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-04-28 23:01:51 +0000
commit420f2688f0ecfafff6b07755e47f0bd0d34b2fc8 (patch)
tree246a914fc74b89a028121aea354c98b651af12db
parent9a1df48620d07d743f2da5bec2cc9c8a68591c97 (diff)
parentea65706d89dc1ab3f295eb53dca548ea39fcb456 (diff)
downloadframeworks_base-420f2688f0ecfafff6b07755e47f0bd0d34b2fc8.zip
frameworks_base-420f2688f0ecfafff6b07755e47f0bd0d34b2fc8.tar.gz
frameworks_base-420f2688f0ecfafff6b07755e47f0bd0d34b2fc8.tar.bz2
Merge "Only listen for fingerprint if needed." into mnc-dev
-rw-r--r--packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java26
-rw-r--r--packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java5
2 files changed, 20 insertions, 11 deletions
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
index e5cca23..b8d9053 100644
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
@@ -679,7 +679,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
cb.onScreenTurnedOn();
}
}
- startListeningForFingerprint();
+ updateFingerprintListeningState();
}
protected void handleScreenTurnedOff(int arg1) {
@@ -691,7 +691,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
cb.onScreenTurnedOff(arg1);
}
}
- stopListeningForFingerprint();
+ updateFingerprintListeningState();
}
/**
@@ -764,14 +764,14 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
mHandler.sendMessage(mHandler.obtainMessage(MSG_USER_SWITCHING,
newUserId, 0, reply));
mSwitchingUser = true;
- stopListeningForFingerprint();
+ updateFingerprintListeningState();
}
@Override
public void onUserSwitchComplete(int newUserId) throws RemoteException {
mHandler.sendMessage(mHandler.obtainMessage(MSG_USER_SWITCH_COMPLETE,
newUserId, 0));
mSwitchingUser = false;
- startListeningForFingerprint();
+ updateFingerprintListeningState();
}
@Override
public void onForegroundProfileSwitch(int newProfileId) {
@@ -787,7 +787,20 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
trustManager.registerTrustListener(this);
mFpm = (FingerprintManager) context.getSystemService(Context.FINGERPRINT_SERVICE);
- startListeningForFingerprint();
+ updateFingerprintListeningState();
+ }
+
+ private void updateFingerprintListeningState() {
+ boolean shouldListenForFingerprint = shouldListenForFingerprint();
+ if (mFingerprintDetectionRunning && !shouldListenForFingerprint) {
+ stopListeningForFingerprint();
+ } else if (!mFingerprintDetectionRunning && shouldListenForFingerprint) {
+ startListeningForFingerprint();
+ }
+ }
+
+ private boolean shouldListenForFingerprint() {
+ return mScreenOn && mKeyguardIsVisible && !mSwitchingUser;
}
private void startListeningForFingerprint() {
@@ -804,7 +817,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
}
}
- public void stopListeningForFingerprint() {
+ private void stopListeningForFingerprint() {
if (DEBUG) Log.v(TAG, "stopListeningForFingerprint()");
if (isFingerprintDetectionRunning()) {
mFingerprintCancelSignal.cancel();
@@ -1062,6 +1075,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
cb.onKeyguardVisibilityChangedRaw(isShowing);
}
}
+ updateFingerprintListeningState();
}
/**
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
index 40b867c..6479dc5 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
@@ -1398,14 +1398,9 @@ public class KeyguardViewMediator extends SystemUI {
updateActivityLockScreenState();
adjustStatusBarLocked();
sendUserPresentBroadcast();
- maybeStopListeningForFingerprint();
}
}
- private void maybeStopListeningForFingerprint() {
- mUpdateMonitor.stopListeningForFingerprint();
- }
-
private void adjustStatusBarLocked() {
if (mStatusBarManager == null) {
mStatusBarManager = (StatusBarManager)