Merge "AOD: Block when fingerprint is already authenticated but waiting for goingToSleep to complete" into oc-dr1-dev

This commit is contained in:
TreeHugger Robot
2017-07-07 19:07:32 +00:00
committed by Android (Google) Code Review
5 changed files with 22 additions and 0 deletions

View File

@@ -32,6 +32,7 @@ public interface DozeHost {
boolean isPowerSaveActive();
boolean isPulsingBlocked();
boolean isProvisioned();
boolean isBlockingDoze();
void startPendingIntentDismissingKeyguard(PendingIntent intent);
void abortPulsing();

View File

@@ -209,6 +209,7 @@ public class DozeTriggers implements DozeMachine.Part {
private void checkTriggersAtInit() {
if (mUiModeManager.getCurrentModeType() == Configuration.UI_MODE_TYPE_CAR
|| mDozeHost.isPowerSaveActive()
|| mDozeHost.isBlockingDoze()
|| !mDozeHost.isProvisioned()) {
mMachine.requestState(DozeMachine.State.FINISH);
}

View File

@@ -269,6 +269,12 @@ public class FingerprintUnlockController extends KeyguardUpdateMonitorCallback {
Trace.endSection();
}
public boolean hasPendingAuthentication() {
return mPendingAuthenticatedUserId != -1
&& mUpdateMonitor.isUnlockingWithFingerprintAllowed()
&& mPendingAuthenticatedUserId == KeyguardUpdateMonitor.getCurrentUser();
}
public int getMode() {
return mMode;
}

View File

@@ -5400,6 +5400,15 @@ public class StatusBar extends SystemUI implements DemoMode,
&& mDeviceProvisionedController.isCurrentUserSetup();
}
@Override
public boolean isBlockingDoze() {
if (mFingerprintUnlockController.hasPendingAuthentication()) {
Log.i(TAG, "Blocking AOD because fingerprint has authenticated");
return true;
}
return false;
}
@Override
public void startPendingIntentDismissingKeyguard(PendingIntent intent) {
StatusBar.this.startPendingIntentDismissingKeyguard(intent);

View File

@@ -76,6 +76,11 @@ class DozeHostFake implements DozeHost {
return false;
}
@Override
public boolean isBlockingDoze() {
return false;
}
@Override
public void startPendingIntentDismissingKeyguard(PendingIntent intent) {
throw new RuntimeException("not implemented");