AOD: Disable if device is not yet provisioned

Change-Id: If1563d9558205936a8c78d1232eb0879700ff6b3
Fixes: 62263216
Test: adb shell settings put user_setup_complete 0; turn off screen; verify AOD does not show
This commit is contained in:
Adrian Roos
2017-07-05 16:45:42 +02:00
parent 2f19ad4aed
commit f2d545e307
4 changed files with 19 additions and 15 deletions

View File

@@ -31,6 +31,7 @@ public interface DozeHost {
void dozeTimeTick();
boolean isPowerSaveActive();
boolean isPulsingBlocked();
boolean isProvisioned();
void startPendingIntentDismissingKeyguard(PendingIntent intent);
void abortPulsing();
@@ -40,6 +41,7 @@ public interface DozeHost {
void onDoubleTap(float x, float y);
interface Callback {
default void onNotificationHeadsUp() {}
default void onPowerSaveChanged(boolean active) {}

View File

@@ -172,14 +172,6 @@ public class DozeTriggers implements DozeMachine.Part {
}
}
private void onCarMode() {
mMachine.requestState(DozeMachine.State.FINISH);
}
private void onPowerSave() {
mMachine.requestState(DozeMachine.State.FINISH);
}
@Override
public void transitionTo(DozeMachine.State oldState, DozeMachine.State newState) {
switch (newState) {
@@ -215,11 +207,10 @@ public class DozeTriggers implements DozeMachine.Part {
}
private void checkTriggersAtInit() {
if (mUiModeManager.getCurrentModeType() == Configuration.UI_MODE_TYPE_CAR) {
onCarMode();
}
if (mDozeHost.isPowerSaveActive()) {
onPowerSave();
if (mUiModeManager.getCurrentModeType() == Configuration.UI_MODE_TYPE_CAR
|| mDozeHost.isPowerSaveActive()
|| !mDozeHost.isProvisioned()) {
mMachine.requestState(DozeMachine.State.FINISH);
}
}
@@ -355,7 +346,7 @@ public class DozeTriggers implements DozeMachine.Part {
requestPulse(DozeLog.PULSE_REASON_INTENT, false /* performedProxCheck */);
}
if (UiModeManager.ACTION_ENTER_CAR_MODE.equals(intent.getAction())) {
onCarMode();
mMachine.requestState(DozeMachine.State.FINISH);
}
if (Intent.ACTION_USER_SWITCHED.equals(intent.getAction())) {
mDozeSensors.onUserSwitched();
@@ -391,7 +382,7 @@ public class DozeTriggers implements DozeMachine.Part {
@Override
public void onPowerSaveChanged(boolean active) {
if (active) {
onPowerSave();
mMachine.requestState(DozeMachine.State.FINISH);
}
}
};

View File

@@ -5368,6 +5368,12 @@ public class StatusBar extends SystemUI implements DemoMode,
== FingerprintUnlockController.MODE_WAKE_AND_UNLOCK;
}
@Override
public boolean isProvisioned() {
return mDeviceProvisionedController.isDeviceProvisioned()
&& mDeviceProvisionedController.isCurrentUserSetup();
}
@Override
public void startPendingIntentDismissingKeyguard(PendingIntent intent) {
StatusBar.this.startPendingIntentDismissingKeyguard(intent);

View File

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