Fix: refreshBatteryInfo was uncovering backup
The onRefreshBatteryInfo() function hides the biometric sensor area so the biometric sensor isn't shown when the screen turns on during a plug/unplug. However, sometimes the function is called when there is no plug/unplug. This fix makes it only hide the biometric sensor area (thus exposing the backup lock) on plug/unplug. Note that this does not fix b/5465535 although it may help reduce its frequency. Change-Id: Iccff382c23d71257593dc1595ed8fec57adaf5bd
This commit is contained in:
@@ -667,20 +667,21 @@ public class LockPatternKeyguardView extends KeyguardViewBase {
|
||||
|
||||
InfoCallbackImpl mInfoCallback = new InfoCallbackImpl() {
|
||||
|
||||
/**
|
||||
* When somebody plugs in or unplugs the device, we don't want to display the biometric
|
||||
* unlock.
|
||||
*/
|
||||
@Override
|
||||
public void onRefreshBatteryInfo(boolean showBatteryInfo, boolean pluggedIn,
|
||||
int batteryLevel) {
|
||||
mSupressBiometricUnlock |= mPluggedIn != pluggedIn;
|
||||
mPluggedIn = pluggedIn;
|
||||
// If it's already running, don't close it down: the unplug didn't start it
|
||||
if (!mBiometricUnlock.isRunning()) {
|
||||
// When someone plugs in or unplugs the device, we hide the biometric sensor area and
|
||||
// suppress its startup for the next onScreenTurnedOn(). Since plugging/unplugging
|
||||
// causes the screen to turn on, the biometric unlock would start if it wasn't
|
||||
// suppressed.
|
||||
//
|
||||
// However, if the biometric unlock is already running, we do not want to interrupt it.
|
||||
if (mPluggedIn != pluggedIn && !mBiometricUnlock.isRunning()) {
|
||||
mBiometricUnlock.stop();
|
||||
mBiometricUnlock.hide();
|
||||
mSupressBiometricUnlock = true;
|
||||
}
|
||||
mPluggedIn = pluggedIn;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user