diff options
author | 2022-03-21 15:36:43 +0000 | |
---|---|---|
committer | 2022-03-21 15:36:43 +0000 | |
commit | edbe5bf3072e5ca7d49ffd2c88dfba3ef4a9c2f4 (patch) | |
tree | fd0d833beaff87d53ead14abfce4c8e27c051cbf | |
parent | c16f2dedb175acff840d607345b4837e8c40a7b5 (diff) | |
parent | 9d914c47baa4966c075b74c8bea9c16b51d12240 (diff) |
Merge "DOZE instead of DOZE_AOD when batterySaver=active" into tm-dev
5 files changed, 20 insertions, 7 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeLog.java b/packages/SystemUI/src/com/android/systemui/doze/DozeLog.java index 0a2e69f943c6..8e1d645d1e97 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 @@ public class DozeLog implements Dumpable { /** * 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 f3f6be210fed..4c81563e4f93 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 @@ class DozeLogger @Inject constructor( }) } - 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 ae01f0ad84c7..5779bb307790 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 @@ public class DozeMachine { 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 19b0ea1db04e..b06bf89ffdeb 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 @@ public class DozeService extends DreamService @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 31d43b5475e0..89f50ad9fc21 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 @@ public class DozeSuppressor implements DozeMachine.Part { 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 @@ public class DozeSuppressor implements DozeMachine.Part { @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; |