Loading services/core/java/com/android/server/display/DisplayBrightnessState.java +33 −3 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ public final class DisplayBrightnessState { private final float mCustomAnimationRate; private final BrightnessEvent mBrightnessEvent; private final int mBrightnessAdjustmentFlag; private DisplayBrightnessState(Builder builder) { mBrightness = builder.getBrightness(); Loading @@ -58,6 +59,7 @@ public final class DisplayBrightnessState { mCustomAnimationRate = builder.getCustomAnimationRate(); mShouldUpdateScreenBrightnessSetting = builder.shouldUpdateScreenBrightnessSetting(); mBrightnessEvent = builder.getBrightnessEvent(); mBrightnessAdjustmentFlag = builder.getBrightnessAdjustmentFlag(); } /** Loading Loading @@ -138,6 +140,14 @@ public final class DisplayBrightnessState { return mBrightnessEvent; } /** * Gets the flag representing the reason for the brightness adjustment. This can be * automatic(e.g. because of the change in the lux), or user initiated(e.g. moving the slider) */ public int getBrightnessAdjustmentFlag() { return mBrightnessAdjustmentFlag; } @Override public String toString() { StringBuilder stringBuilder = new StringBuilder("DisplayBrightnessState:"); Loading @@ -157,6 +167,7 @@ public final class DisplayBrightnessState { .append(mShouldUpdateScreenBrightnessSetting); stringBuilder.append("\n mBrightnessEvent:") .append(Objects.toString(mBrightnessEvent, "null")); stringBuilder.append("\n mBrightnessAdjustmentFlag:").append(mBrightnessAdjustmentFlag); return stringBuilder.toString(); } Loading Loading @@ -187,7 +198,8 @@ public final class DisplayBrightnessState { && mCustomAnimationRate == otherState.getCustomAnimationRate() && mShouldUpdateScreenBrightnessSetting == otherState.shouldUpdateScreenBrightnessSetting() && Objects.equals(mBrightnessEvent, otherState.getBrightnessEvent()); && Objects.equals(mBrightnessEvent, otherState.getBrightnessEvent()) && mBrightnessAdjustmentFlag == otherState.getBrightnessAdjustmentFlag(); } @Override Loading @@ -195,7 +207,7 @@ public final class DisplayBrightnessState { return Objects.hash(mBrightness, mSdrBrightness, mBrightnessReason, mShouldUseAutoBrightness, mIsSlowChange, mMaxBrightness, mMinBrightness, mCustomAnimationRate, mShouldUpdateScreenBrightnessSetting, mBrightnessEvent); mShouldUpdateScreenBrightnessSetting, mBrightnessEvent, mBrightnessAdjustmentFlag); } /** Loading @@ -222,6 +234,8 @@ public final class DisplayBrightnessState { private BrightnessEvent mBrightnessEvent; public int mBrightnessAdjustmentFlag = 0; /** * Create a builder starting with the values from the specified {@link * DisplayBrightnessState}. Loading @@ -242,6 +256,7 @@ public final class DisplayBrightnessState { builder.setShouldUpdateScreenBrightnessSetting( state.shouldUpdateScreenBrightnessSetting()); builder.setBrightnessEvent(state.getBrightnessEvent()); builder.setBrightnessAdjustmentFlag(state.getBrightnessAdjustmentFlag()); return builder; } Loading Loading @@ -418,7 +433,6 @@ public final class DisplayBrightnessState { return new DisplayBrightnessState(this); } /** * This is used to get the BrightnessEvent object from its builder */ Loading @@ -434,5 +448,21 @@ public final class DisplayBrightnessState { mBrightnessEvent = brightnessEvent; return this; } /** * This is used to get the brightness adjustment flag from its builder */ public int getBrightnessAdjustmentFlag() { return mBrightnessAdjustmentFlag; } /** * This is used to set the brightness adjustment flag */ public Builder setBrightnessAdjustmentFlag(int brightnessAdjustmentFlag) { mBrightnessAdjustmentFlag = brightnessAdjustmentFlag; return this; } } } services/core/java/com/android/server/display/DisplayPowerController.java +1 −5 Original line number Diff line number Diff line Loading @@ -1345,6 +1345,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call boolean slowChange = displayBrightnessState.isSlowChange(); // custom transition duration float customAnimationRate = displayBrightnessState.getCustomAnimationRate(); int brightnessAdjustmentFlags = displayBrightnessState.getBrightnessAdjustmentFlag(); final boolean userSetBrightnessChanged = mDisplayBrightnessController.getIsUserSetScreenBrightnessUpdated(); if (displayBrightnessState.getBrightnessEvent() != null) { Loading Loading @@ -1392,15 +1393,10 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call displayBrightnessState.shouldUpdateScreenBrightnessSetting(); float currentBrightnessSetting = mDisplayBrightnessController.getCurrentBrightness(); // Apply auto-brightness. int brightnessAdjustmentFlags = 0; // All the conditions inside this if block will be moved to AutomaticBrightnessStrategy if (mFlags.isRefactorDisplayPowerControllerEnabled() && displayBrightnessState.getBrightnessReason().getReason() == BrightnessReason.REASON_AUTOMATIC) { brightnessAdjustmentFlags = mAutomaticBrightnessStrategy.getAutoBrightnessAdjustmentReasonsFlags(); updateScreenBrightnessSetting = currentBrightnessSetting != brightnessState; mBrightnessReasonTemp.setReason(BrightnessReason.REASON_AUTOMATIC); if (mScreenOffBrightnessSensorController != null) { mScreenOffBrightnessSensorController.setLightSensorEnabled(false); } Loading services/core/java/com/android/server/display/brightness/DisplayBrightnessController.java +8 −1 Original line number Diff line number Diff line Loading @@ -146,7 +146,8 @@ public final class DisplayBrightnessController { synchronized (mLock) { mDisplayBrightnessStrategy = mDisplayBrightnessStrategySelector.selectStrategy( constructStrategySelectionRequest(displayPowerRequest, targetDisplayState)); state = mDisplayBrightnessStrategy.updateBrightness(displayPowerRequest); state = mDisplayBrightnessStrategy .updateBrightness(constructStrategyExecutionRequest(displayPowerRequest)); } // This is a temporary measure until AutomaticBrightnessStrategy works as a traditional Loading Loading @@ -550,4 +551,10 @@ public final class DisplayBrightnessController { return new StrategySelectionRequest(displayPowerRequest, targetDisplayState, lastUserSetScreenBrightness, userSetBrightnessChanged); } private StrategyExecutionRequest constructStrategyExecutionRequest( DisplayManagerInternal.DisplayPowerRequest displayPowerRequest) { float currentScreenBrightness = getCurrentBrightness(); return new StrategyExecutionRequest(displayPowerRequest, currentScreenBrightness); } } services/core/java/com/android/server/display/brightness/StrategyExecutionRequest.java 0 → 100644 +60 −0 Original line number Diff line number Diff line /* * Copyright (C) 2024 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.hardware.display.DisplayManagerInternal; import java.util.Objects; /** * A wrapper class to encapsulate the request to execute the selected strategy */ public final class StrategyExecutionRequest { // The request to change the associated display's state and brightness private final DisplayManagerInternal.DisplayPowerRequest mDisplayPowerRequest; private final float mCurrentScreenBrightness; public StrategyExecutionRequest(DisplayManagerInternal.DisplayPowerRequest displayPowerRequest, float currentScreenBrightness) { mDisplayPowerRequest = displayPowerRequest; mCurrentScreenBrightness = currentScreenBrightness; } public DisplayManagerInternal.DisplayPowerRequest getDisplayPowerRequest() { return mDisplayPowerRequest; } public float getCurrentScreenBrightness() { return mCurrentScreenBrightness; } @Override public boolean equals(Object obj) { if (!(obj instanceof StrategyExecutionRequest)) { return false; } StrategyExecutionRequest other = (StrategyExecutionRequest) obj; return Objects.equals(mDisplayPowerRequest, other.getDisplayPowerRequest()) && mCurrentScreenBrightness == other.getCurrentScreenBrightness(); } @Override public int hashCode() { return Objects.hash(mDisplayPowerRequest, mCurrentScreenBrightness); } } services/core/java/com/android/server/display/brightness/strategy/AutomaticBrightnessStrategy.java +26 −11 Original line number Diff line number Diff line Loading @@ -20,7 +20,6 @@ import static android.hardware.display.DisplayManagerInternal.DisplayPowerReques import android.annotation.Nullable; import android.content.Context; import android.hardware.display.BrightnessConfiguration; import android.hardware.display.DisplayManagerInternal; import android.os.PowerManager; import android.os.UserHandle; import android.provider.Settings; Loading @@ -32,6 +31,7 @@ import com.android.server.display.DisplayBrightnessState; import com.android.server.display.brightness.BrightnessEvent; import com.android.server.display.brightness.BrightnessReason; import com.android.server.display.brightness.BrightnessUtils; import com.android.server.display.brightness.StrategyExecutionRequest; import com.android.server.display.brightness.StrategySelectionNotifyRequest; import java.io.PrintWriter; Loading Loading @@ -96,13 +96,21 @@ public class AutomaticBrightnessStrategy extends AutomaticBrightnessStrategy2 // want to re-evaluate the auto-brightness state private boolean mIsConfigured; public AutomaticBrightnessStrategy(Context context, int displayId) { private Injector mInjector; @VisibleForTesting AutomaticBrightnessStrategy(Context context, int displayId, Injector injector) { super(context, displayId); mContext = context; mDisplayId = displayId; mAutoBrightnessAdjustment = getAutoBrightnessAdjustmentSetting(); mPendingAutoBrightnessAdjustment = PowerManager.BRIGHTNESS_INVALID_FLOAT; mTemporaryAutoBrightnessAdjustment = PowerManager.BRIGHTNESS_INVALID_FLOAT; mInjector = (injector == null) ? new RealInjector() : injector; } public AutomaticBrightnessStrategy(Context context, int displayId) { this(context, displayId, null); } /** Loading Loading @@ -252,10 +260,10 @@ public class AutomaticBrightnessStrategy extends AutomaticBrightnessStrategy2 @Override public DisplayBrightnessState updateBrightness( DisplayManagerInternal.DisplayPowerRequest displayPowerRequest) { StrategyExecutionRequest strategyExecutionRequest) { BrightnessReason brightnessReason = new BrightnessReason(); brightnessReason.setReason(BrightnessReason.REASON_AUTOMATIC); BrightnessEvent brightnessEvent = new BrightnessEvent(mDisplayId); BrightnessEvent brightnessEvent = mInjector.getBrightnessEvent(mDisplayId); float brightness = getAutomaticScreenBrightness(brightnessEvent); return new DisplayBrightnessState.Builder() .setBrightness(brightness) Loading @@ -265,6 +273,9 @@ public class AutomaticBrightnessStrategy extends AutomaticBrightnessStrategy2 .setIsSlowChange(hasAppliedAutoBrightness() && !getAutoBrightnessAdjustmentChanged()) .setBrightnessEvent(brightnessEvent) .setBrightnessAdjustmentFlag(mAutoBrightnessAdjustmentReasonsFlags) .setShouldUpdateScreenBrightnessSetting( brightness != strategyExecutionRequest.getCurrentScreenBrightness()) .build(); } Loading Loading @@ -359,13 +370,6 @@ public class AutomaticBrightnessStrategy extends AutomaticBrightnessStrategy2 return brightness; } /** * Gets the auto-brightness adjustment flag change reason */ public int getAutoBrightnessAdjustmentReasonsFlags() { return mAutoBrightnessAdjustmentReasonsFlags; } /** * Returns if the auto brightness has been applied */ Loading Loading @@ -497,4 +501,15 @@ public class AutomaticBrightnessStrategy extends AutomaticBrightnessStrategy2 Settings.System.SCREEN_AUTO_BRIGHTNESS_ADJ, 0.0f, UserHandle.USER_CURRENT); return Float.isNaN(adj) ? 0.0f : BrightnessUtils.clampBrightnessAdjustment(adj); } @VisibleForTesting interface Injector { BrightnessEvent getBrightnessEvent(int displayId); } static class RealInjector implements Injector { public BrightnessEvent getBrightnessEvent(int displayId) { return new BrightnessEvent(displayId); } } } Loading
services/core/java/com/android/server/display/DisplayBrightnessState.java +33 −3 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ public final class DisplayBrightnessState { private final float mCustomAnimationRate; private final BrightnessEvent mBrightnessEvent; private final int mBrightnessAdjustmentFlag; private DisplayBrightnessState(Builder builder) { mBrightness = builder.getBrightness(); Loading @@ -58,6 +59,7 @@ public final class DisplayBrightnessState { mCustomAnimationRate = builder.getCustomAnimationRate(); mShouldUpdateScreenBrightnessSetting = builder.shouldUpdateScreenBrightnessSetting(); mBrightnessEvent = builder.getBrightnessEvent(); mBrightnessAdjustmentFlag = builder.getBrightnessAdjustmentFlag(); } /** Loading Loading @@ -138,6 +140,14 @@ public final class DisplayBrightnessState { return mBrightnessEvent; } /** * Gets the flag representing the reason for the brightness adjustment. This can be * automatic(e.g. because of the change in the lux), or user initiated(e.g. moving the slider) */ public int getBrightnessAdjustmentFlag() { return mBrightnessAdjustmentFlag; } @Override public String toString() { StringBuilder stringBuilder = new StringBuilder("DisplayBrightnessState:"); Loading @@ -157,6 +167,7 @@ public final class DisplayBrightnessState { .append(mShouldUpdateScreenBrightnessSetting); stringBuilder.append("\n mBrightnessEvent:") .append(Objects.toString(mBrightnessEvent, "null")); stringBuilder.append("\n mBrightnessAdjustmentFlag:").append(mBrightnessAdjustmentFlag); return stringBuilder.toString(); } Loading Loading @@ -187,7 +198,8 @@ public final class DisplayBrightnessState { && mCustomAnimationRate == otherState.getCustomAnimationRate() && mShouldUpdateScreenBrightnessSetting == otherState.shouldUpdateScreenBrightnessSetting() && Objects.equals(mBrightnessEvent, otherState.getBrightnessEvent()); && Objects.equals(mBrightnessEvent, otherState.getBrightnessEvent()) && mBrightnessAdjustmentFlag == otherState.getBrightnessAdjustmentFlag(); } @Override Loading @@ -195,7 +207,7 @@ public final class DisplayBrightnessState { return Objects.hash(mBrightness, mSdrBrightness, mBrightnessReason, mShouldUseAutoBrightness, mIsSlowChange, mMaxBrightness, mMinBrightness, mCustomAnimationRate, mShouldUpdateScreenBrightnessSetting, mBrightnessEvent); mShouldUpdateScreenBrightnessSetting, mBrightnessEvent, mBrightnessAdjustmentFlag); } /** Loading @@ -222,6 +234,8 @@ public final class DisplayBrightnessState { private BrightnessEvent mBrightnessEvent; public int mBrightnessAdjustmentFlag = 0; /** * Create a builder starting with the values from the specified {@link * DisplayBrightnessState}. Loading @@ -242,6 +256,7 @@ public final class DisplayBrightnessState { builder.setShouldUpdateScreenBrightnessSetting( state.shouldUpdateScreenBrightnessSetting()); builder.setBrightnessEvent(state.getBrightnessEvent()); builder.setBrightnessAdjustmentFlag(state.getBrightnessAdjustmentFlag()); return builder; } Loading Loading @@ -418,7 +433,6 @@ public final class DisplayBrightnessState { return new DisplayBrightnessState(this); } /** * This is used to get the BrightnessEvent object from its builder */ Loading @@ -434,5 +448,21 @@ public final class DisplayBrightnessState { mBrightnessEvent = brightnessEvent; return this; } /** * This is used to get the brightness adjustment flag from its builder */ public int getBrightnessAdjustmentFlag() { return mBrightnessAdjustmentFlag; } /** * This is used to set the brightness adjustment flag */ public Builder setBrightnessAdjustmentFlag(int brightnessAdjustmentFlag) { mBrightnessAdjustmentFlag = brightnessAdjustmentFlag; return this; } } }
services/core/java/com/android/server/display/DisplayPowerController.java +1 −5 Original line number Diff line number Diff line Loading @@ -1345,6 +1345,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call boolean slowChange = displayBrightnessState.isSlowChange(); // custom transition duration float customAnimationRate = displayBrightnessState.getCustomAnimationRate(); int brightnessAdjustmentFlags = displayBrightnessState.getBrightnessAdjustmentFlag(); final boolean userSetBrightnessChanged = mDisplayBrightnessController.getIsUserSetScreenBrightnessUpdated(); if (displayBrightnessState.getBrightnessEvent() != null) { Loading Loading @@ -1392,15 +1393,10 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call displayBrightnessState.shouldUpdateScreenBrightnessSetting(); float currentBrightnessSetting = mDisplayBrightnessController.getCurrentBrightness(); // Apply auto-brightness. int brightnessAdjustmentFlags = 0; // All the conditions inside this if block will be moved to AutomaticBrightnessStrategy if (mFlags.isRefactorDisplayPowerControllerEnabled() && displayBrightnessState.getBrightnessReason().getReason() == BrightnessReason.REASON_AUTOMATIC) { brightnessAdjustmentFlags = mAutomaticBrightnessStrategy.getAutoBrightnessAdjustmentReasonsFlags(); updateScreenBrightnessSetting = currentBrightnessSetting != brightnessState; mBrightnessReasonTemp.setReason(BrightnessReason.REASON_AUTOMATIC); if (mScreenOffBrightnessSensorController != null) { mScreenOffBrightnessSensorController.setLightSensorEnabled(false); } Loading
services/core/java/com/android/server/display/brightness/DisplayBrightnessController.java +8 −1 Original line number Diff line number Diff line Loading @@ -146,7 +146,8 @@ public final class DisplayBrightnessController { synchronized (mLock) { mDisplayBrightnessStrategy = mDisplayBrightnessStrategySelector.selectStrategy( constructStrategySelectionRequest(displayPowerRequest, targetDisplayState)); state = mDisplayBrightnessStrategy.updateBrightness(displayPowerRequest); state = mDisplayBrightnessStrategy .updateBrightness(constructStrategyExecutionRequest(displayPowerRequest)); } // This is a temporary measure until AutomaticBrightnessStrategy works as a traditional Loading Loading @@ -550,4 +551,10 @@ public final class DisplayBrightnessController { return new StrategySelectionRequest(displayPowerRequest, targetDisplayState, lastUserSetScreenBrightness, userSetBrightnessChanged); } private StrategyExecutionRequest constructStrategyExecutionRequest( DisplayManagerInternal.DisplayPowerRequest displayPowerRequest) { float currentScreenBrightness = getCurrentBrightness(); return new StrategyExecutionRequest(displayPowerRequest, currentScreenBrightness); } }
services/core/java/com/android/server/display/brightness/StrategyExecutionRequest.java 0 → 100644 +60 −0 Original line number Diff line number Diff line /* * Copyright (C) 2024 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.hardware.display.DisplayManagerInternal; import java.util.Objects; /** * A wrapper class to encapsulate the request to execute the selected strategy */ public final class StrategyExecutionRequest { // The request to change the associated display's state and brightness private final DisplayManagerInternal.DisplayPowerRequest mDisplayPowerRequest; private final float mCurrentScreenBrightness; public StrategyExecutionRequest(DisplayManagerInternal.DisplayPowerRequest displayPowerRequest, float currentScreenBrightness) { mDisplayPowerRequest = displayPowerRequest; mCurrentScreenBrightness = currentScreenBrightness; } public DisplayManagerInternal.DisplayPowerRequest getDisplayPowerRequest() { return mDisplayPowerRequest; } public float getCurrentScreenBrightness() { return mCurrentScreenBrightness; } @Override public boolean equals(Object obj) { if (!(obj instanceof StrategyExecutionRequest)) { return false; } StrategyExecutionRequest other = (StrategyExecutionRequest) obj; return Objects.equals(mDisplayPowerRequest, other.getDisplayPowerRequest()) && mCurrentScreenBrightness == other.getCurrentScreenBrightness(); } @Override public int hashCode() { return Objects.hash(mDisplayPowerRequest, mCurrentScreenBrightness); } }
services/core/java/com/android/server/display/brightness/strategy/AutomaticBrightnessStrategy.java +26 −11 Original line number Diff line number Diff line Loading @@ -20,7 +20,6 @@ import static android.hardware.display.DisplayManagerInternal.DisplayPowerReques import android.annotation.Nullable; import android.content.Context; import android.hardware.display.BrightnessConfiguration; import android.hardware.display.DisplayManagerInternal; import android.os.PowerManager; import android.os.UserHandle; import android.provider.Settings; Loading @@ -32,6 +31,7 @@ import com.android.server.display.DisplayBrightnessState; import com.android.server.display.brightness.BrightnessEvent; import com.android.server.display.brightness.BrightnessReason; import com.android.server.display.brightness.BrightnessUtils; import com.android.server.display.brightness.StrategyExecutionRequest; import com.android.server.display.brightness.StrategySelectionNotifyRequest; import java.io.PrintWriter; Loading Loading @@ -96,13 +96,21 @@ public class AutomaticBrightnessStrategy extends AutomaticBrightnessStrategy2 // want to re-evaluate the auto-brightness state private boolean mIsConfigured; public AutomaticBrightnessStrategy(Context context, int displayId) { private Injector mInjector; @VisibleForTesting AutomaticBrightnessStrategy(Context context, int displayId, Injector injector) { super(context, displayId); mContext = context; mDisplayId = displayId; mAutoBrightnessAdjustment = getAutoBrightnessAdjustmentSetting(); mPendingAutoBrightnessAdjustment = PowerManager.BRIGHTNESS_INVALID_FLOAT; mTemporaryAutoBrightnessAdjustment = PowerManager.BRIGHTNESS_INVALID_FLOAT; mInjector = (injector == null) ? new RealInjector() : injector; } public AutomaticBrightnessStrategy(Context context, int displayId) { this(context, displayId, null); } /** Loading Loading @@ -252,10 +260,10 @@ public class AutomaticBrightnessStrategy extends AutomaticBrightnessStrategy2 @Override public DisplayBrightnessState updateBrightness( DisplayManagerInternal.DisplayPowerRequest displayPowerRequest) { StrategyExecutionRequest strategyExecutionRequest) { BrightnessReason brightnessReason = new BrightnessReason(); brightnessReason.setReason(BrightnessReason.REASON_AUTOMATIC); BrightnessEvent brightnessEvent = new BrightnessEvent(mDisplayId); BrightnessEvent brightnessEvent = mInjector.getBrightnessEvent(mDisplayId); float brightness = getAutomaticScreenBrightness(brightnessEvent); return new DisplayBrightnessState.Builder() .setBrightness(brightness) Loading @@ -265,6 +273,9 @@ public class AutomaticBrightnessStrategy extends AutomaticBrightnessStrategy2 .setIsSlowChange(hasAppliedAutoBrightness() && !getAutoBrightnessAdjustmentChanged()) .setBrightnessEvent(brightnessEvent) .setBrightnessAdjustmentFlag(mAutoBrightnessAdjustmentReasonsFlags) .setShouldUpdateScreenBrightnessSetting( brightness != strategyExecutionRequest.getCurrentScreenBrightness()) .build(); } Loading Loading @@ -359,13 +370,6 @@ public class AutomaticBrightnessStrategy extends AutomaticBrightnessStrategy2 return brightness; } /** * Gets the auto-brightness adjustment flag change reason */ public int getAutoBrightnessAdjustmentReasonsFlags() { return mAutoBrightnessAdjustmentReasonsFlags; } /** * Returns if the auto brightness has been applied */ Loading Loading @@ -497,4 +501,15 @@ public class AutomaticBrightnessStrategy extends AutomaticBrightnessStrategy2 Settings.System.SCREEN_AUTO_BRIGHTNESS_ADJ, 0.0f, UserHandle.USER_CURRENT); return Float.isNaN(adj) ? 0.0f : BrightnessUtils.clampBrightnessAdjustment(adj); } @VisibleForTesting interface Injector { BrightnessEvent getBrightnessEvent(int displayId); } static class RealInjector implements Injector { public BrightnessEvent getBrightnessEvent(int displayId) { return new BrightnessEvent(displayId); } } }