Merge "Clear authentication data whenever the phone transitions to DOZE_AOD or DOZE." into qt-r1-dev
This commit is contained in:
@@ -2325,6 +2325,13 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
|
||||
mUserFaceAuthenticated.clear();
|
||||
mTrustManager.clearAllBiometricRecognized(BiometricSourceType.FINGERPRINT);
|
||||
mTrustManager.clearAllBiometricRecognized(BiometricSourceType.FACE);
|
||||
|
||||
for (int i = 0; i < mCallbacks.size(); i++) {
|
||||
KeyguardUpdateMonitorCallback cb = mCallbacks.get(i).get();
|
||||
if (cb != null) {
|
||||
cb.onBiometricsCleared();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isSimPinVoiceSecure() {
|
||||
|
||||
@@ -314,4 +314,9 @@ public class KeyguardUpdateMonitorCallback {
|
||||
*/
|
||||
public void onLogoutEnabledChanged() { }
|
||||
|
||||
/**
|
||||
* Called when authenticated biometrics are cleared.
|
||||
*/
|
||||
public void onBiometricsCleared() { }
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
* Copyright (C) 2019 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.systemui.doze;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.android.keyguard.KeyguardUpdateMonitor;
|
||||
|
||||
/**
|
||||
* Controls removing Keyguard authorization when the phone goes to sleep.
|
||||
*/
|
||||
public class DozeAuthRemover implements DozeMachine.Part {
|
||||
|
||||
KeyguardUpdateMonitor mKeyguardUpdateMonitor;
|
||||
|
||||
public DozeAuthRemover(Context context) {
|
||||
mKeyguardUpdateMonitor = KeyguardUpdateMonitor.getInstance(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void transitionTo(DozeMachine.State oldState, DozeMachine.State newState) {
|
||||
if (newState == DozeMachine.State.DOZE || newState == DozeMachine.State.DOZE_AOD) {
|
||||
int currentUser = KeyguardUpdateMonitor.getCurrentUser();
|
||||
if (mKeyguardUpdateMonitor.getUserUnlockedWithBiometric(currentUser)) {
|
||||
mKeyguardUpdateMonitor.clearBiometricRecognized();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -71,7 +71,8 @@ public class DozeFactory {
|
||||
createDozeScreenBrightness(context, wrappedService, sensorManager, host, params,
|
||||
handler),
|
||||
new DozeWallpaperState(context),
|
||||
new DozeDockHandler(context, machine, host, config, handler, dockManager)
|
||||
new DozeDockHandler(context, machine, host, config, handler, dockManager),
|
||||
new DozeAuthRemover(dozeService)
|
||||
});
|
||||
|
||||
return machine;
|
||||
|
||||
@@ -149,6 +149,11 @@ public class LockIcon extends KeyguardAffordanceView implements OnUserInfoChange
|
||||
public void onStrongAuthStateChanged(int userId) {
|
||||
update();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBiometricsCleared() {
|
||||
update();
|
||||
}
|
||||
};
|
||||
|
||||
@Inject
|
||||
|
||||
Reference in New Issue
Block a user