Loading services/core/java/com/android/server/display/DisplayPowerController2.java +0 −11 Original line number Diff line number Diff line Loading @@ -299,7 +299,6 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal private boolean mAppliedAutoBrightness; private boolean mAppliedDimming; private boolean mAppliedLowPower; private boolean mAppliedScreenBrightnessOverride; private boolean mAppliedTemporaryBrightness; private boolean mAppliedTemporaryAutoBrightnessAdjustment; private boolean mAppliedBrightnessBoost; Loading Loading @@ -1202,15 +1201,6 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal mBrightnessReasonTemp.setReason(BrightnessReason.REASON_VR); } if ((Float.isNaN(brightnessState)) && isValidBrightnessValue(mPowerRequest.screenBrightnessOverride)) { brightnessState = mPowerRequest.screenBrightnessOverride; mBrightnessReasonTemp.setReason(BrightnessReason.REASON_OVERRIDE); mAppliedScreenBrightnessOverride = true; } else { mAppliedScreenBrightnessOverride = false; } final boolean autoBrightnessEnabledInDoze = mDisplayBrightnessController.isAllowAutoBrightnessWhileDozingConfig() && Display.isDozeState(state); Loading Loading @@ -2316,7 +2306,6 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal pw.println(" mAppliedDimming=" + mAppliedDimming); pw.println(" mAppliedLowPower=" + mAppliedLowPower); pw.println(" mAppliedThrottling=" + mAppliedThrottling); pw.println(" mAppliedScreenBrightnessOverride=" + mAppliedScreenBrightnessOverride); pw.println(" mAppliedTemporaryBrightness=" + mAppliedTemporaryBrightness); pw.println(" mAppliedTemporaryAutoBrightnessAdjustment=" + mAppliedTemporaryAutoBrightnessAdjustment); Loading services/core/java/com/android/server/display/brightness/BrightnessUtils.java 0 → 100644 +48 −0 Original line number Diff line number Diff line /* * Copyright (C) 2022 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.server.display.brightness; import android.os.PowerManager; import com.android.server.display.DisplayBrightnessState; /** * A helper class for eualuating brightness utilities */ public final class BrightnessUtils { /** * Checks whether the brightness is within the valid brightness range, not including off. */ public static boolean isValidBrightnessValue(float brightness) { return brightness >= PowerManager.BRIGHTNESS_MIN && brightness <= PowerManager.BRIGHTNESS_MAX; } /** * A utility to construct the DisplayBrightnessState */ public static DisplayBrightnessState constructDisplayBrightnessState( int brightnessChangeReason, float brightness, float sdrBrightness) { BrightnessReason brightnessReason = new BrightnessReason(); brightnessReason.setReason(brightnessChangeReason); return new DisplayBrightnessState.Builder() .setBrightness(brightness) .setSdrBrightness(sdrBrightness) .setBrightnessReason(brightnessReason) .build(); } } services/core/java/com/android/server/display/brightness/DisplayBrightnessController.java +8 −2 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ public final class DisplayBrightnessController { private final int mDisplayId; // Selects an appropriate strategy based on the request provided by the clients. private DisplayBrightnessStrategySelector mDisplayBrightnessStrategySelector; private DisplayBrightnessStrategy mDisplayBrightnessStrategy; /** * The constructor of DisplayBrightnessController. Loading @@ -60,10 +61,10 @@ public final class DisplayBrightnessController { public DisplayBrightnessState updateBrightness( DisplayManagerInternal.DisplayPowerRequest displayPowerRequest, int targetDisplayState) { DisplayBrightnessStrategy displayBrightnessStrategy = mDisplayBrightnessStrategy = mDisplayBrightnessStrategySelector.selectStrategy(displayPowerRequest, targetDisplayState); return displayBrightnessStrategy.updateBrightness(displayPowerRequest); return mDisplayBrightnessStrategy.updateBrightness(displayPowerRequest); } /** Loading @@ -82,6 +83,11 @@ public final class DisplayBrightnessController { public void dump(PrintWriter writer) { writer.println(); writer.println("DisplayBrightnessController:"); writer.println(" mDisplayId=: " + mDisplayId); if (mDisplayBrightnessStrategy != null) { writer.println(" Last selected DisplayBrightnessStrategy= " + mDisplayBrightnessStrategy.getName()); } IndentingPrintWriter ipw = new IndentingPrintWriter(writer, " "); mDisplayBrightnessStrategySelector.dump(ipw); } Loading services/core/java/com/android/server/display/brightness/DisplayBrightnessStrategySelector.java +15 −1 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import com.android.internal.annotations.VisibleForTesting; import com.android.server.display.brightness.strategy.DisplayBrightnessStrategy; import com.android.server.display.brightness.strategy.DozeBrightnessStrategy; import com.android.server.display.brightness.strategy.InvalidBrightnessStrategy; import com.android.server.display.brightness.strategy.OverrideBrightnessStrategy; import com.android.server.display.brightness.strategy.ScreenOffBrightnessStrategy; import java.io.PrintWriter; Loading @@ -46,6 +47,8 @@ public class DisplayBrightnessStrategySelector { private final ScreenOffBrightnessStrategy mScreenOffBrightnessStrategy; // The brightness strategy used to manage the brightness state when the request state is // invalid. private final OverrideBrightnessStrategy mOverrideBrightnessStrategy; // The brightness strategy used to manage the brightness state request is invalid. private final InvalidBrightnessStrategy mInvalidBrightnessStrategy; // We take note of the old brightness strategy so that we can know when the strategy changes. Loading @@ -63,6 +66,7 @@ public class DisplayBrightnessStrategySelector { mDisplayId = displayId; mDozeBrightnessStrategy = injector.getDozeBrightnessStrategy(); mScreenOffBrightnessStrategy = injector.getScreenOffBrightnessStrategy(); mOverrideBrightnessStrategy = injector.getOverrideBrightnessStrategy(); mInvalidBrightnessStrategy = injector.getInvalidBrightnessStrategy(); mAllowAutoBrightnessWhileDozingConfig = context.getResources().getBoolean( R.bool.config_allowAutoBrightnessWhileDozing); Loading @@ -82,6 +86,9 @@ public class DisplayBrightnessStrategySelector { displayBrightnessStrategy = mScreenOffBrightnessStrategy; } else if (shouldUseDozeBrightnessStrategy(displayPowerRequest)) { displayBrightnessStrategy = mDozeBrightnessStrategy; } else if (BrightnessUtils .isValidBrightnessValue(displayPowerRequest.screenBrightnessOverride)) { displayBrightnessStrategy = mOverrideBrightnessStrategy; } if (!mOldBrightnessStrategyName.equals(displayBrightnessStrategy.getName())) { Loading @@ -108,8 +115,11 @@ public class DisplayBrightnessStrategySelector { public void dump(PrintWriter writer) { writer.println(); writer.println("DisplayBrightnessStrategySelector:"); writer.println(" mDisplayId= " + mDisplayId); writer.println(" mOldBrightnessStrategyName= " + mOldBrightnessStrategyName); writer.println( " mAllowAutoBrightnessWhileDozingConfig=" + mAllowAutoBrightnessWhileDozingConfig); " mAllowAutoBrightnessWhileDozingConfig= " + mAllowAutoBrightnessWhileDozingConfig); } /** Loading Loading @@ -138,6 +148,10 @@ public class DisplayBrightnessStrategySelector { return new DozeBrightnessStrategy(); } OverrideBrightnessStrategy getOverrideBrightnessStrategy() { return new OverrideBrightnessStrategy(); } InvalidBrightnessStrategy getInvalidBrightnessStrategy() { return new InvalidBrightnessStrategy(); } Loading services/core/java/com/android/server/display/brightness/strategy/DozeBrightnessStrategy.java +3 −7 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.hardware.display.DisplayManagerInternal; import com.android.server.display.DisplayBrightnessState; import com.android.server.display.brightness.BrightnessReason; import com.android.server.display.brightness.BrightnessUtils; /** * Manages the brightness of the display when the system is in the doze state. Loading @@ -30,13 +31,8 @@ public class DozeBrightnessStrategy implements DisplayBrightnessStrategy { public DisplayBrightnessState updateBrightness( DisplayManagerInternal.DisplayPowerRequest displayPowerRequest) { // Todo(brup): Introduce a validator class and add validations before setting the brightness BrightnessReason brightnessReason = new BrightnessReason(); brightnessReason.setReason(BrightnessReason.REASON_DOZE); return new DisplayBrightnessState.Builder() .setBrightness(displayPowerRequest.dozeScreenBrightness) .setSdrBrightness(displayPowerRequest.dozeScreenBrightness) .setBrightnessReason(brightnessReason) .build(); return BrightnessUtils.constructDisplayBrightnessState(BrightnessReason.REASON_DOZE, displayPowerRequest.dozeScreenBrightness, displayPowerRequest.dozeScreenBrightness); } @Override Loading Loading
services/core/java/com/android/server/display/DisplayPowerController2.java +0 −11 Original line number Diff line number Diff line Loading @@ -299,7 +299,6 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal private boolean mAppliedAutoBrightness; private boolean mAppliedDimming; private boolean mAppliedLowPower; private boolean mAppliedScreenBrightnessOverride; private boolean mAppliedTemporaryBrightness; private boolean mAppliedTemporaryAutoBrightnessAdjustment; private boolean mAppliedBrightnessBoost; Loading Loading @@ -1202,15 +1201,6 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal mBrightnessReasonTemp.setReason(BrightnessReason.REASON_VR); } if ((Float.isNaN(brightnessState)) && isValidBrightnessValue(mPowerRequest.screenBrightnessOverride)) { brightnessState = mPowerRequest.screenBrightnessOverride; mBrightnessReasonTemp.setReason(BrightnessReason.REASON_OVERRIDE); mAppliedScreenBrightnessOverride = true; } else { mAppliedScreenBrightnessOverride = false; } final boolean autoBrightnessEnabledInDoze = mDisplayBrightnessController.isAllowAutoBrightnessWhileDozingConfig() && Display.isDozeState(state); Loading Loading @@ -2316,7 +2306,6 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal pw.println(" mAppliedDimming=" + mAppliedDimming); pw.println(" mAppliedLowPower=" + mAppliedLowPower); pw.println(" mAppliedThrottling=" + mAppliedThrottling); pw.println(" mAppliedScreenBrightnessOverride=" + mAppliedScreenBrightnessOverride); pw.println(" mAppliedTemporaryBrightness=" + mAppliedTemporaryBrightness); pw.println(" mAppliedTemporaryAutoBrightnessAdjustment=" + mAppliedTemporaryAutoBrightnessAdjustment); Loading
services/core/java/com/android/server/display/brightness/BrightnessUtils.java 0 → 100644 +48 −0 Original line number Diff line number Diff line /* * Copyright (C) 2022 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.server.display.brightness; import android.os.PowerManager; import com.android.server.display.DisplayBrightnessState; /** * A helper class for eualuating brightness utilities */ public final class BrightnessUtils { /** * Checks whether the brightness is within the valid brightness range, not including off. */ public static boolean isValidBrightnessValue(float brightness) { return brightness >= PowerManager.BRIGHTNESS_MIN && brightness <= PowerManager.BRIGHTNESS_MAX; } /** * A utility to construct the DisplayBrightnessState */ public static DisplayBrightnessState constructDisplayBrightnessState( int brightnessChangeReason, float brightness, float sdrBrightness) { BrightnessReason brightnessReason = new BrightnessReason(); brightnessReason.setReason(brightnessChangeReason); return new DisplayBrightnessState.Builder() .setBrightness(brightness) .setSdrBrightness(sdrBrightness) .setBrightnessReason(brightnessReason) .build(); } }
services/core/java/com/android/server/display/brightness/DisplayBrightnessController.java +8 −2 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ public final class DisplayBrightnessController { private final int mDisplayId; // Selects an appropriate strategy based on the request provided by the clients. private DisplayBrightnessStrategySelector mDisplayBrightnessStrategySelector; private DisplayBrightnessStrategy mDisplayBrightnessStrategy; /** * The constructor of DisplayBrightnessController. Loading @@ -60,10 +61,10 @@ public final class DisplayBrightnessController { public DisplayBrightnessState updateBrightness( DisplayManagerInternal.DisplayPowerRequest displayPowerRequest, int targetDisplayState) { DisplayBrightnessStrategy displayBrightnessStrategy = mDisplayBrightnessStrategy = mDisplayBrightnessStrategySelector.selectStrategy(displayPowerRequest, targetDisplayState); return displayBrightnessStrategy.updateBrightness(displayPowerRequest); return mDisplayBrightnessStrategy.updateBrightness(displayPowerRequest); } /** Loading @@ -82,6 +83,11 @@ public final class DisplayBrightnessController { public void dump(PrintWriter writer) { writer.println(); writer.println("DisplayBrightnessController:"); writer.println(" mDisplayId=: " + mDisplayId); if (mDisplayBrightnessStrategy != null) { writer.println(" Last selected DisplayBrightnessStrategy= " + mDisplayBrightnessStrategy.getName()); } IndentingPrintWriter ipw = new IndentingPrintWriter(writer, " "); mDisplayBrightnessStrategySelector.dump(ipw); } Loading
services/core/java/com/android/server/display/brightness/DisplayBrightnessStrategySelector.java +15 −1 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import com.android.internal.annotations.VisibleForTesting; import com.android.server.display.brightness.strategy.DisplayBrightnessStrategy; import com.android.server.display.brightness.strategy.DozeBrightnessStrategy; import com.android.server.display.brightness.strategy.InvalidBrightnessStrategy; import com.android.server.display.brightness.strategy.OverrideBrightnessStrategy; import com.android.server.display.brightness.strategy.ScreenOffBrightnessStrategy; import java.io.PrintWriter; Loading @@ -46,6 +47,8 @@ public class DisplayBrightnessStrategySelector { private final ScreenOffBrightnessStrategy mScreenOffBrightnessStrategy; // The brightness strategy used to manage the brightness state when the request state is // invalid. private final OverrideBrightnessStrategy mOverrideBrightnessStrategy; // The brightness strategy used to manage the brightness state request is invalid. private final InvalidBrightnessStrategy mInvalidBrightnessStrategy; // We take note of the old brightness strategy so that we can know when the strategy changes. Loading @@ -63,6 +66,7 @@ public class DisplayBrightnessStrategySelector { mDisplayId = displayId; mDozeBrightnessStrategy = injector.getDozeBrightnessStrategy(); mScreenOffBrightnessStrategy = injector.getScreenOffBrightnessStrategy(); mOverrideBrightnessStrategy = injector.getOverrideBrightnessStrategy(); mInvalidBrightnessStrategy = injector.getInvalidBrightnessStrategy(); mAllowAutoBrightnessWhileDozingConfig = context.getResources().getBoolean( R.bool.config_allowAutoBrightnessWhileDozing); Loading @@ -82,6 +86,9 @@ public class DisplayBrightnessStrategySelector { displayBrightnessStrategy = mScreenOffBrightnessStrategy; } else if (shouldUseDozeBrightnessStrategy(displayPowerRequest)) { displayBrightnessStrategy = mDozeBrightnessStrategy; } else if (BrightnessUtils .isValidBrightnessValue(displayPowerRequest.screenBrightnessOverride)) { displayBrightnessStrategy = mOverrideBrightnessStrategy; } if (!mOldBrightnessStrategyName.equals(displayBrightnessStrategy.getName())) { Loading @@ -108,8 +115,11 @@ public class DisplayBrightnessStrategySelector { public void dump(PrintWriter writer) { writer.println(); writer.println("DisplayBrightnessStrategySelector:"); writer.println(" mDisplayId= " + mDisplayId); writer.println(" mOldBrightnessStrategyName= " + mOldBrightnessStrategyName); writer.println( " mAllowAutoBrightnessWhileDozingConfig=" + mAllowAutoBrightnessWhileDozingConfig); " mAllowAutoBrightnessWhileDozingConfig= " + mAllowAutoBrightnessWhileDozingConfig); } /** Loading Loading @@ -138,6 +148,10 @@ public class DisplayBrightnessStrategySelector { return new DozeBrightnessStrategy(); } OverrideBrightnessStrategy getOverrideBrightnessStrategy() { return new OverrideBrightnessStrategy(); } InvalidBrightnessStrategy getInvalidBrightnessStrategy() { return new InvalidBrightnessStrategy(); } Loading
services/core/java/com/android/server/display/brightness/strategy/DozeBrightnessStrategy.java +3 −7 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.hardware.display.DisplayManagerInternal; import com.android.server.display.DisplayBrightnessState; import com.android.server.display.brightness.BrightnessReason; import com.android.server.display.brightness.BrightnessUtils; /** * Manages the brightness of the display when the system is in the doze state. Loading @@ -30,13 +31,8 @@ public class DozeBrightnessStrategy implements DisplayBrightnessStrategy { public DisplayBrightnessState updateBrightness( DisplayManagerInternal.DisplayPowerRequest displayPowerRequest) { // Todo(brup): Introduce a validator class and add validations before setting the brightness BrightnessReason brightnessReason = new BrightnessReason(); brightnessReason.setReason(BrightnessReason.REASON_DOZE); return new DisplayBrightnessState.Builder() .setBrightness(displayPowerRequest.dozeScreenBrightness) .setSdrBrightness(displayPowerRequest.dozeScreenBrightness) .setBrightnessReason(brightnessReason) .build(); return BrightnessUtils.constructDisplayBrightnessState(BrightnessReason.REASON_DOZE, displayPowerRequest.dozeScreenBrightness, displayPowerRequest.dozeScreenBrightness); } @Override Loading