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
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeHost.java b/packages/SystemUI/src/com/android/systemui/doze/DozeHost.java
index 5aaa6c7..180b3ca 100644
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeHost.java
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeHost.java
@@ -31,6 +31,7 @@
void dozeTimeTick();
boolean isPowerSaveActive();
boolean isPulsingBlocked();
+ boolean isProvisioned();
void startPendingIntentDismissingKeyguard(PendingIntent intent);
void abortPulsing();
@@ -40,6 +41,7 @@
void onDoubleTap(float x, float y);
+
interface Callback {
default void onNotificationHeadsUp() {}
default void onPowerSaveChanged(boolean active) {}
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java b/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
index 9981972..179f5b8 100644
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
@@ -172,14 +172,6 @@
}
}
- 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 @@
}
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 @@
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 @@
@Override
public void onPowerSaveChanged(boolean active) {
if (active) {
- onPowerSave();
+ mMachine.requestState(DozeMachine.State.FINISH);
}
}
};
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
index bcba789..de23e10 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
@@ -5369,6 +5369,12 @@
}
@Override
+ public boolean isProvisioned() {
+ return mDeviceProvisionedController.isDeviceProvisioned()
+ && mDeviceProvisionedController.isCurrentUserSetup();
+ }
+
+ @Override
public void startPendingIntentDismissingKeyguard(PendingIntent intent) {
StatusBar.this.startPendingIntentDismissingKeyguard(intent);
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeHostFake.java b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeHostFake.java
index 2345110..8ff9fa9 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeHostFake.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeHostFake.java
@@ -72,6 +72,11 @@
}
@Override
+ public boolean isProvisioned() {
+ return false;
+ }
+
+ @Override
public void startPendingIntentDismissingKeyguard(PendingIntent intent) {
throw new RuntimeException("not implemented");
}