diff options
-rw-r--r-- | packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java | 7 | ||||
-rw-r--r-- | services/core/java/com/android/server/trust/TrustManagerService.java | 6 |
2 files changed, 12 insertions, 1 deletions
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java index c7adc98..113b1f4 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java @@ -548,6 +548,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { private final BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() { + @Override public void onReceive(Context context, Intent intent) { final String action = intent.getAction(); if (DEBUG) Log.d(TAG, "received broadcast " + action); @@ -599,6 +600,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { private final BroadcastReceiver mBroadcastAllReceiver = new BroadcastReceiver() { + @Override public void onReceive(Context context, Intent intent) { final String action = intent.getAction(); if (AlarmManager.ACTION_NEXT_ALARM_CLOCK_CHANGED.equals(action)) { @@ -713,6 +715,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { return new SimData(state, slotId, subId); } + @Override public String toString() { return "SimData{state=" + simState + ",slotId=" + slotId + ",subId=" + subId + "}"; } @@ -895,7 +898,9 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener { } private boolean shouldListenForFingerprint() { - return mKeyguardIsVisible && !mSwitchingUser; + return mKeyguardIsVisible && !mSwitchingUser && + mTrustManager.hasUserAuthenticatedSinceBoot( + ActivityManager.getCurrentUser()); } private void startListeningForFingerprint() { diff --git a/services/core/java/com/android/server/trust/TrustManagerService.java b/services/core/java/com/android/server/trust/TrustManagerService.java index 15da829..174bf16 100644 --- a/services/core/java/com/android/server/trust/TrustManagerService.java +++ b/services/core/java/com/android/server/trust/TrustManagerService.java @@ -579,8 +579,14 @@ public class TrustManagerService extends SystemService { private void clearUserHasAuthenticated(int userId) { if (userId == UserHandle.USER_ALL) { mUserHasAuthenticated.clear(); + synchronized (mUserHasAuthenticatedSinceBoot) { + mUserHasAuthenticatedSinceBoot.clear(); + } } else { mUserHasAuthenticated.put(userId, false); + synchronized (mUserHasAuthenticatedSinceBoot) { + mUserHasAuthenticatedSinceBoot.put(userId, false); + } } } |