Loading services/core/java/com/android/server/display/DisplayBrightnessState.java +33 −2 Original line number Diff line number Diff line Loading @@ -47,6 +47,8 @@ public final class DisplayBrightnessState { private final BrightnessEvent mBrightnessEvent; private final int mBrightnessAdjustmentFlag; private final boolean mIsUserInitiatedChange; private DisplayBrightnessState(Builder builder) { mBrightness = builder.getBrightness(); mSdrBrightness = builder.getSdrBrightness(); Loading @@ -60,6 +62,7 @@ public final class DisplayBrightnessState { mShouldUpdateScreenBrightnessSetting = builder.shouldUpdateScreenBrightnessSetting(); mBrightnessEvent = builder.getBrightnessEvent(); mBrightnessAdjustmentFlag = builder.getBrightnessAdjustmentFlag(); mIsUserInitiatedChange = builder.isUserInitiatedChange(); } /** Loading Loading @@ -148,6 +151,13 @@ public final class DisplayBrightnessState { return mBrightnessAdjustmentFlag; } /** * Gets if the current brightness changes are because of a user initiated change */ public boolean isUserInitiatedChange() { return mIsUserInitiatedChange; } @Override public String toString() { StringBuilder stringBuilder = new StringBuilder("DisplayBrightnessState:"); Loading @@ -168,6 +178,7 @@ public final class DisplayBrightnessState { stringBuilder.append("\n mBrightnessEvent:") .append(Objects.toString(mBrightnessEvent, "null")); stringBuilder.append("\n mBrightnessAdjustmentFlag:").append(mBrightnessAdjustmentFlag); stringBuilder.append("\n mIsUserInitiatedChange:").append(mIsUserInitiatedChange); return stringBuilder.toString(); } Loading Loading @@ -199,7 +210,8 @@ public final class DisplayBrightnessState { && mShouldUpdateScreenBrightnessSetting == otherState.shouldUpdateScreenBrightnessSetting() && Objects.equals(mBrightnessEvent, otherState.getBrightnessEvent()) && mBrightnessAdjustmentFlag == otherState.getBrightnessAdjustmentFlag(); && mBrightnessAdjustmentFlag == otherState.getBrightnessAdjustmentFlag() && mIsUserInitiatedChange == otherState.isUserInitiatedChange(); } @Override Loading @@ -207,7 +219,8 @@ public final class DisplayBrightnessState { return Objects.hash(mBrightness, mSdrBrightness, mBrightnessReason, mShouldUseAutoBrightness, mIsSlowChange, mMaxBrightness, mMinBrightness, mCustomAnimationRate, mShouldUpdateScreenBrightnessSetting, mBrightnessEvent, mBrightnessAdjustmentFlag); mShouldUpdateScreenBrightnessSetting, mBrightnessEvent, mBrightnessAdjustmentFlag, mIsUserInitiatedChange); } /** Loading Loading @@ -236,6 +249,8 @@ public final class DisplayBrightnessState { public int mBrightnessAdjustmentFlag = 0; private boolean mIsUserInitiatedChange; /** * Create a builder starting with the values from the specified {@link * DisplayBrightnessState}. Loading @@ -257,6 +272,7 @@ public final class DisplayBrightnessState { state.shouldUpdateScreenBrightnessSetting()); builder.setBrightnessEvent(state.getBrightnessEvent()); builder.setBrightnessAdjustmentFlag(state.getBrightnessAdjustmentFlag()); builder.setIsUserInitiatedChange(state.isUserInitiatedChange()); return builder; } Loading Loading @@ -464,5 +480,20 @@ public final class DisplayBrightnessState { mBrightnessAdjustmentFlag = brightnessAdjustmentFlag; return this; } /** * Gets if the current change is a user initiated change */ public boolean isUserInitiatedChange() { return mIsUserInitiatedChange; } /** * This is used to set if the current change is a user initiated change */ public Builder setIsUserInitiatedChange(boolean isUserInitiatedChange) { mIsUserInitiatedChange = isUserInitiatedChange; return this; } } } services/core/java/com/android/server/display/DisplayPowerController.java +7 −5 Original line number Diff line number Diff line Loading @@ -1391,6 +1391,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call // request changes. final boolean wasShortTermModelActive = mAutomaticBrightnessStrategy.isShortTermModelActive(); boolean userInitiatedChange = displayBrightnessState.isUserInitiatedChange(); boolean allowAutoBrightnessWhileDozing = mDisplayBrightnessController.isAllowAutoBrightnessWhileDozingConfig(); if (mFlags.offloadControlsDozeAutoBrightness() && mFlags.isDisplayOffloadEnabled() Loading @@ -1413,13 +1414,14 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call mPowerRequest.policy, mDisplayBrightnessController.getLastUserSetScreenBrightness(), userSetBrightnessChanged); } // If the brightness is already set then it's been overridden by something other than the // user, or is a temporary adjustment. boolean userInitiatedChange = (Float.isNaN(brightnessState)) // If the brightness is already set then it's been overridden by something other than // the user, or is a temporary adjustment. userInitiatedChange = (Float.isNaN(brightnessState)) && (mAutomaticBrightnessStrategy.getAutoBrightnessAdjustmentChanged() || userSetBrightnessChanged); } final int autoBrightnessState = mAutomaticBrightnessStrategy.isAutoBrightnessEnabled() ? AutomaticBrightnessController.AUTO_BRIGHTNESS_ENABLED Loading services/core/java/com/android/server/display/brightness/DisplayBrightnessController.java +2 −1 Original line number Diff line number Diff line Loading @@ -600,6 +600,7 @@ public final class DisplayBrightnessController { private StrategyExecutionRequest constructStrategyExecutionRequest( DisplayManagerInternal.DisplayPowerRequest displayPowerRequest) { float currentScreenBrightness = getCurrentBrightness(); return new StrategyExecutionRequest(displayPowerRequest, currentScreenBrightness); return new StrategyExecutionRequest(displayPowerRequest, currentScreenBrightness, mUserSetScreenBrightnessUpdated); } } services/core/java/com/android/server/display/brightness/StrategyExecutionRequest.java +13 −3 Original line number Diff line number Diff line Loading @@ -29,10 +29,14 @@ public final class StrategyExecutionRequest { private final float mCurrentScreenBrightness; // Represents if the user set screen brightness was changed or not. private boolean mUserSetBrightnessChanged; public StrategyExecutionRequest(DisplayManagerInternal.DisplayPowerRequest displayPowerRequest, float currentScreenBrightness) { float currentScreenBrightness, boolean userSetBrightnessChanged) { mDisplayPowerRequest = displayPowerRequest; mCurrentScreenBrightness = currentScreenBrightness; mUserSetBrightnessChanged = userSetBrightnessChanged; } public DisplayManagerInternal.DisplayPowerRequest getDisplayPowerRequest() { Loading @@ -43,6 +47,10 @@ public final class StrategyExecutionRequest { return mCurrentScreenBrightness; } public boolean isUserSetBrightnessChanged() { return mUserSetBrightnessChanged; } @Override public boolean equals(Object obj) { if (!(obj instanceof StrategyExecutionRequest)) { Loading @@ -50,11 +58,13 @@ public final class StrategyExecutionRequest { } StrategyExecutionRequest other = (StrategyExecutionRequest) obj; return Objects.equals(mDisplayPowerRequest, other.getDisplayPowerRequest()) && mCurrentScreenBrightness == other.getCurrentScreenBrightness(); && mCurrentScreenBrightness == other.getCurrentScreenBrightness() && mUserSetBrightnessChanged == other.isUserSetBrightnessChanged(); } @Override public int hashCode() { return Objects.hash(mDisplayPowerRequest, mCurrentScreenBrightness); return Objects.hash(mDisplayPowerRequest, mCurrentScreenBrightness, mUserSetBrightnessChanged); } } services/core/java/com/android/server/display/brightness/strategy/AutomaticBrightnessStrategy.java +2 −0 Original line number Diff line number Diff line Loading @@ -290,6 +290,8 @@ public class AutomaticBrightnessStrategy extends AutomaticBrightnessStrategy2 .setBrightnessAdjustmentFlag(mAutoBrightnessAdjustmentReasonsFlags) .setShouldUpdateScreenBrightnessSetting( brightness != strategyExecutionRequest.getCurrentScreenBrightness()) .setIsUserInitiatedChange(getAutoBrightnessAdjustmentChanged() || strategyExecutionRequest.isUserSetBrightnessChanged()) .build(); } Loading Loading
services/core/java/com/android/server/display/DisplayBrightnessState.java +33 −2 Original line number Diff line number Diff line Loading @@ -47,6 +47,8 @@ public final class DisplayBrightnessState { private final BrightnessEvent mBrightnessEvent; private final int mBrightnessAdjustmentFlag; private final boolean mIsUserInitiatedChange; private DisplayBrightnessState(Builder builder) { mBrightness = builder.getBrightness(); mSdrBrightness = builder.getSdrBrightness(); Loading @@ -60,6 +62,7 @@ public final class DisplayBrightnessState { mShouldUpdateScreenBrightnessSetting = builder.shouldUpdateScreenBrightnessSetting(); mBrightnessEvent = builder.getBrightnessEvent(); mBrightnessAdjustmentFlag = builder.getBrightnessAdjustmentFlag(); mIsUserInitiatedChange = builder.isUserInitiatedChange(); } /** Loading Loading @@ -148,6 +151,13 @@ public final class DisplayBrightnessState { return mBrightnessAdjustmentFlag; } /** * Gets if the current brightness changes are because of a user initiated change */ public boolean isUserInitiatedChange() { return mIsUserInitiatedChange; } @Override public String toString() { StringBuilder stringBuilder = new StringBuilder("DisplayBrightnessState:"); Loading @@ -168,6 +178,7 @@ public final class DisplayBrightnessState { stringBuilder.append("\n mBrightnessEvent:") .append(Objects.toString(mBrightnessEvent, "null")); stringBuilder.append("\n mBrightnessAdjustmentFlag:").append(mBrightnessAdjustmentFlag); stringBuilder.append("\n mIsUserInitiatedChange:").append(mIsUserInitiatedChange); return stringBuilder.toString(); } Loading Loading @@ -199,7 +210,8 @@ public final class DisplayBrightnessState { && mShouldUpdateScreenBrightnessSetting == otherState.shouldUpdateScreenBrightnessSetting() && Objects.equals(mBrightnessEvent, otherState.getBrightnessEvent()) && mBrightnessAdjustmentFlag == otherState.getBrightnessAdjustmentFlag(); && mBrightnessAdjustmentFlag == otherState.getBrightnessAdjustmentFlag() && mIsUserInitiatedChange == otherState.isUserInitiatedChange(); } @Override Loading @@ -207,7 +219,8 @@ public final class DisplayBrightnessState { return Objects.hash(mBrightness, mSdrBrightness, mBrightnessReason, mShouldUseAutoBrightness, mIsSlowChange, mMaxBrightness, mMinBrightness, mCustomAnimationRate, mShouldUpdateScreenBrightnessSetting, mBrightnessEvent, mBrightnessAdjustmentFlag); mShouldUpdateScreenBrightnessSetting, mBrightnessEvent, mBrightnessAdjustmentFlag, mIsUserInitiatedChange); } /** Loading Loading @@ -236,6 +249,8 @@ public final class DisplayBrightnessState { public int mBrightnessAdjustmentFlag = 0; private boolean mIsUserInitiatedChange; /** * Create a builder starting with the values from the specified {@link * DisplayBrightnessState}. Loading @@ -257,6 +272,7 @@ public final class DisplayBrightnessState { state.shouldUpdateScreenBrightnessSetting()); builder.setBrightnessEvent(state.getBrightnessEvent()); builder.setBrightnessAdjustmentFlag(state.getBrightnessAdjustmentFlag()); builder.setIsUserInitiatedChange(state.isUserInitiatedChange()); return builder; } Loading Loading @@ -464,5 +480,20 @@ public final class DisplayBrightnessState { mBrightnessAdjustmentFlag = brightnessAdjustmentFlag; return this; } /** * Gets if the current change is a user initiated change */ public boolean isUserInitiatedChange() { return mIsUserInitiatedChange; } /** * This is used to set if the current change is a user initiated change */ public Builder setIsUserInitiatedChange(boolean isUserInitiatedChange) { mIsUserInitiatedChange = isUserInitiatedChange; return this; } } }
services/core/java/com/android/server/display/DisplayPowerController.java +7 −5 Original line number Diff line number Diff line Loading @@ -1391,6 +1391,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call // request changes. final boolean wasShortTermModelActive = mAutomaticBrightnessStrategy.isShortTermModelActive(); boolean userInitiatedChange = displayBrightnessState.isUserInitiatedChange(); boolean allowAutoBrightnessWhileDozing = mDisplayBrightnessController.isAllowAutoBrightnessWhileDozingConfig(); if (mFlags.offloadControlsDozeAutoBrightness() && mFlags.isDisplayOffloadEnabled() Loading @@ -1413,13 +1414,14 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call mPowerRequest.policy, mDisplayBrightnessController.getLastUserSetScreenBrightness(), userSetBrightnessChanged); } // If the brightness is already set then it's been overridden by something other than the // user, or is a temporary adjustment. boolean userInitiatedChange = (Float.isNaN(brightnessState)) // If the brightness is already set then it's been overridden by something other than // the user, or is a temporary adjustment. userInitiatedChange = (Float.isNaN(brightnessState)) && (mAutomaticBrightnessStrategy.getAutoBrightnessAdjustmentChanged() || userSetBrightnessChanged); } final int autoBrightnessState = mAutomaticBrightnessStrategy.isAutoBrightnessEnabled() ? AutomaticBrightnessController.AUTO_BRIGHTNESS_ENABLED Loading
services/core/java/com/android/server/display/brightness/DisplayBrightnessController.java +2 −1 Original line number Diff line number Diff line Loading @@ -600,6 +600,7 @@ public final class DisplayBrightnessController { private StrategyExecutionRequest constructStrategyExecutionRequest( DisplayManagerInternal.DisplayPowerRequest displayPowerRequest) { float currentScreenBrightness = getCurrentBrightness(); return new StrategyExecutionRequest(displayPowerRequest, currentScreenBrightness); return new StrategyExecutionRequest(displayPowerRequest, currentScreenBrightness, mUserSetScreenBrightnessUpdated); } }
services/core/java/com/android/server/display/brightness/StrategyExecutionRequest.java +13 −3 Original line number Diff line number Diff line Loading @@ -29,10 +29,14 @@ public final class StrategyExecutionRequest { private final float mCurrentScreenBrightness; // Represents if the user set screen brightness was changed or not. private boolean mUserSetBrightnessChanged; public StrategyExecutionRequest(DisplayManagerInternal.DisplayPowerRequest displayPowerRequest, float currentScreenBrightness) { float currentScreenBrightness, boolean userSetBrightnessChanged) { mDisplayPowerRequest = displayPowerRequest; mCurrentScreenBrightness = currentScreenBrightness; mUserSetBrightnessChanged = userSetBrightnessChanged; } public DisplayManagerInternal.DisplayPowerRequest getDisplayPowerRequest() { Loading @@ -43,6 +47,10 @@ public final class StrategyExecutionRequest { return mCurrentScreenBrightness; } public boolean isUserSetBrightnessChanged() { return mUserSetBrightnessChanged; } @Override public boolean equals(Object obj) { if (!(obj instanceof StrategyExecutionRequest)) { Loading @@ -50,11 +58,13 @@ public final class StrategyExecutionRequest { } StrategyExecutionRequest other = (StrategyExecutionRequest) obj; return Objects.equals(mDisplayPowerRequest, other.getDisplayPowerRequest()) && mCurrentScreenBrightness == other.getCurrentScreenBrightness(); && mCurrentScreenBrightness == other.getCurrentScreenBrightness() && mUserSetBrightnessChanged == other.isUserSetBrightnessChanged(); } @Override public int hashCode() { return Objects.hash(mDisplayPowerRequest, mCurrentScreenBrightness); return Objects.hash(mDisplayPowerRequest, mCurrentScreenBrightness, mUserSetBrightnessChanged); } }
services/core/java/com/android/server/display/brightness/strategy/AutomaticBrightnessStrategy.java +2 −0 Original line number Diff line number Diff line Loading @@ -290,6 +290,8 @@ public class AutomaticBrightnessStrategy extends AutomaticBrightnessStrategy2 .setBrightnessAdjustmentFlag(mAutoBrightnessAdjustmentReasonsFlags) .setShouldUpdateScreenBrightnessSetting( brightness != strategyExecutionRequest.getCurrentScreenBrightness()) .setIsUserInitiatedChange(getAutoBrightnessAdjustmentChanged() || strategyExecutionRequest.isUserSetBrightnessChanged()) .build(); } Loading