notifyEnabledOnKeyguardCallbacks when user switches
The setting is per-user and the source of truth is in BiometricService. Keyguard's cache needs to be updated when user switch occurs Fixes: 5268106 Test: Builds Change-Id: I8a5678375989221e5b502fa683697cf4ca664def
This commit is contained in:
@@ -406,12 +406,7 @@ public class BiometricService extends SystemService {
|
||||
userId) != 0);
|
||||
|
||||
if (userId == ActivityManager.getCurrentUser()) {
|
||||
List<EnabledOnKeyguardCallback> callbacks = mEnabledOnKeyguardCallbacks;
|
||||
for (int i = 0; i < callbacks.size(); i++) {
|
||||
callbacks.get(i).notify(BiometricSourceType.FACE,
|
||||
mFaceEnabledOnKeyguard.getOrDefault(userId,
|
||||
DEFAULT_KEYGUARD_ENABLED));
|
||||
}
|
||||
notifyEnabledOnKeyguardCallbacks(userId);
|
||||
}
|
||||
} else if (FACE_UNLOCK_APP_ENABLED.equals(uri)) {
|
||||
mFaceEnabledForApps.put(userId, Settings.Secure.getIntForUser(
|
||||
@@ -441,6 +436,15 @@ public class BiometricService extends SystemService {
|
||||
return mFaceAlwaysRequireConfirmation
|
||||
.getOrDefault(userId, DEFAULT_ALWAYS_REQUIRE_CONFIRMATION);
|
||||
}
|
||||
|
||||
void notifyEnabledOnKeyguardCallbacks(int userId) {
|
||||
List<EnabledOnKeyguardCallback> callbacks = mEnabledOnKeyguardCallbacks;
|
||||
for (int i = 0; i < callbacks.size(); i++) {
|
||||
callbacks.get(i).notify(BiometricSourceType.FACE,
|
||||
mFaceEnabledOnKeyguard.getOrDefault(userId,
|
||||
DEFAULT_KEYGUARD_ENABLED));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private final class EnabledOnKeyguardCallback implements IBinder.DeathRecipient {
|
||||
@@ -809,6 +813,7 @@ public class BiometricService extends SystemService {
|
||||
@Override
|
||||
public void onUserSwitchComplete(int newUserId) {
|
||||
mSettingObserver.updateContentObserver();
|
||||
mSettingObserver.notifyEnabledOnKeyguardCallbacks(newUserId);
|
||||
}
|
||||
}, BiometricService.class.getName()
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user