Merge "DOZE instead of DOZE_AOD when batterySaver=active" into tm-dev
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeLog.java b/packages/SystemUI/src/com/android/systemui/doze/DozeLog.java
index 0a2e69f..8e1d645 100644
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeLog.java
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeLog.java
@@ -319,9 +319,10 @@
/**
* Appends the doze state that was suppressed to the doze event log
* @param suppressedState The {@link DozeMachine.State} that was suppressed
+ * @param reason what suppressed always on
*/
- public void traceAlwaysOnSuppressed(DozeMachine.State suppressedState) {
- mLogger.logAlwaysOnSuppressed(suppressedState);
+ public void traceAlwaysOnSuppressed(DozeMachine.State suppressedState, String reason) {
+ mLogger.logAlwaysOnSuppressed(suppressedState, reason);
}
/**
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeLogger.kt b/packages/SystemUI/src/com/android/systemui/doze/DozeLogger.kt
index f3f6be2..4c81563 100644
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeLogger.kt
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeLogger.kt
@@ -267,11 +267,12 @@
})
}
- fun logAlwaysOnSuppressed(state: DozeMachine.State) {
+ fun logAlwaysOnSuppressed(state: DozeMachine.State, reason: String) {
buffer.log(TAG, INFO, {
str1 = state.name
+ str2 = reason
}, {
- "Always-on state suppressed, suppressed state=$str1"
+ "Always-on state suppressed, suppressed state=$str1 reason=$str2"
})
}
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeMachine.java b/packages/SystemUI/src/com/android/systemui/doze/DozeMachine.java
index ae01f0a..5779bb3 100644
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeMachine.java
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeMachine.java
@@ -358,8 +358,13 @@
return State.FINISH;
}
if (mDozeHost.isAlwaysOnSuppressed() && requestedState.isAlwaysOn()) {
- Log.i(TAG, "Doze is suppressed. Suppressing state: " + requestedState);
- mDozeLog.traceAlwaysOnSuppressed(requestedState);
+ Log.i(TAG, "Doze is suppressed by an app. Suppressing state: " + requestedState);
+ mDozeLog.traceAlwaysOnSuppressed(requestedState, "app");
+ return State.DOZE;
+ }
+ if (mDozeHost.isPowerSaveActive() && requestedState.isAlwaysOn()) {
+ Log.i(TAG, "Doze is suppressed by battery saver. Suppressing state: " + requestedState);
+ mDozeLog.traceAlwaysOnSuppressed(requestedState, "batterySaver");
return State.DOZE;
}
if ((mState == State.DOZE_AOD_PAUSED || mState == State.DOZE_AOD_PAUSING
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeService.java b/packages/SystemUI/src/com/android/systemui/doze/DozeService.java
index 19b0ea1..b06bf89 100644
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeService.java
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeService.java
@@ -136,6 +136,8 @@
@Override
public void setDozeScreenState(int state) {
super.setDozeScreenState(state);
- mDozeMachine.onScreenState(state);
+ if (mDozeMachine != null) {
+ mDozeMachine.onScreenState(state);
+ }
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeSuppressor.java b/packages/SystemUI/src/com/android/systemui/doze/DozeSuppressor.java
index 31d43b5..89f50ad 100644
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeSuppressor.java
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeSuppressor.java
@@ -166,6 +166,8 @@
private DozeHost.Callback mHostCallback = new DozeHost.Callback() {
@Override
public void onPowerSaveChanged(boolean active) {
+ // handles suppression changes, while DozeMachine#transitionPolicy handles gating
+ // transitions to DOZE_AOD
DozeMachine.State nextState = null;
if (mDozeHost.isPowerSaveActive()) {
nextState = DozeMachine.State.DOZE;
@@ -182,6 +184,8 @@
@Override
public void onAlwaysOnSuppressedChanged(boolean suppressed) {
+ // handles suppression changes, while DozeMachine#transitionPolicy handles gating
+ // transitions to DOZE_AOD
final DozeMachine.State nextState;
if (mConfig.alwaysOnEnabled(UserHandle.USER_CURRENT) && !suppressed) {
nextState = DozeMachine.State.DOZE_AOD;