Adding support for strategy name in the BrightnessEvent
Bug: 259619745 Test: com.android.server.display Change-Id: I55b9603ff63d6f252424c3b1cdbd2558fea9fc16
This commit is contained in:
@@ -28,11 +28,13 @@ public final class DisplayBrightnessState {
|
||||
private final float mBrightness;
|
||||
private final float mSdrBrightness;
|
||||
private final BrightnessReason mBrightnessReason;
|
||||
private final String mDisplayBrightnessStrategyName;
|
||||
|
||||
private DisplayBrightnessState(Builder builder) {
|
||||
this.mBrightness = builder.getBrightness();
|
||||
this.mSdrBrightness = builder.getSdrBrightness();
|
||||
this.mBrightnessReason = builder.getBrightnessReason();
|
||||
this.mDisplayBrightnessStrategyName = builder.getDisplayBrightnessStrategyName();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -56,6 +58,14 @@ public final class DisplayBrightnessState {
|
||||
return mBrightnessReason;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the {@link com.android.server.display.brightness.strategy.DisplayBrightnessStrategy}
|
||||
* name
|
||||
*/
|
||||
public String getDisplayBrightnessStrategyName() {
|
||||
return mDisplayBrightnessStrategyName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder stringBuilder = new StringBuilder("DisplayBrightnessState:");
|
||||
@@ -93,6 +103,10 @@ public final class DisplayBrightnessState {
|
||||
if (!mBrightnessReason.equals(displayBrightnessState.getBrightnessReason())) {
|
||||
return false;
|
||||
}
|
||||
if (!mDisplayBrightnessStrategyName.equals(
|
||||
displayBrightnessState.getDisplayBrightnessStrategyName())) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -108,6 +122,7 @@ public final class DisplayBrightnessState {
|
||||
private float mBrightness;
|
||||
private float mSdrBrightness;
|
||||
private BrightnessReason mBrightnessReason = new BrightnessReason();
|
||||
private String mDisplayBrightnessStrategyName;
|
||||
|
||||
/**
|
||||
* Gets the brightness
|
||||
@@ -163,6 +178,27 @@ public final class DisplayBrightnessState {
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the {@link com.android.server.display.brightness.strategy.DisplayBrightnessStrategy}
|
||||
* name
|
||||
*/
|
||||
public String getDisplayBrightnessStrategyName() {
|
||||
return mDisplayBrightnessStrategyName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the
|
||||
* {@link com.android.server.display.brightness.strategy.DisplayBrightnessStrategy}'s name
|
||||
*
|
||||
* @param displayBrightnessStrategyName The name of the
|
||||
* {@link com.android.server.display.brightness.strategy.DisplayBrightnessStrategy} being
|
||||
* used.
|
||||
*/
|
||||
public Builder setDisplayBrightnessStrategyName(String displayBrightnessStrategyName) {
|
||||
this.mDisplayBrightnessStrategyName = displayBrightnessStrategyName;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* This is used to construct an immutable DisplayBrightnessState object from its builder
|
||||
*/
|
||||
|
||||
@@ -1533,6 +1533,8 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
|
||||
? mCdsi.getReduceBrightColorsStrength() : -1);
|
||||
mTempBrightnessEvent.setPowerFactor(mPowerRequest.screenLowPowerBrightnessFactor);
|
||||
mTempBrightnessEvent.setWasShortTermModelActive(hadUserBrightnessPoint);
|
||||
mTempBrightnessEvent.setDisplayBrightnessStrategyName(displayBrightnessState
|
||||
.getDisplayBrightnessStrategyName());
|
||||
// Temporary is what we use during slider interactions. We avoid logging those so that
|
||||
// we don't spam logcat when the slider is being used.
|
||||
boolean tempToTempTransition =
|
||||
|
||||
@@ -53,6 +53,7 @@ public final class BrightnessEvent {
|
||||
private int mFlags;
|
||||
private int mAdjustmentFlags;
|
||||
private boolean mAutomaticBrightnessEnabled;
|
||||
private String mDisplayBrightnessStrategyName;
|
||||
|
||||
public BrightnessEvent(BrightnessEvent that) {
|
||||
copyFrom(that);
|
||||
@@ -92,6 +93,7 @@ public final class BrightnessEvent {
|
||||
mAdjustmentFlags = that.getAdjustmentFlags();
|
||||
// Auto-brightness setting
|
||||
mAutomaticBrightnessEnabled = that.isAutomaticBrightnessEnabled();
|
||||
mDisplayBrightnessStrategyName = that.getDisplayBrightnessStrategyName();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -120,6 +122,7 @@ public final class BrightnessEvent {
|
||||
mAdjustmentFlags = 0;
|
||||
// Auto-brightness setting
|
||||
mAutomaticBrightnessEnabled = true;
|
||||
mDisplayBrightnessStrategyName = "";
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -157,7 +160,8 @@ public final class BrightnessEvent {
|
||||
&& mWasShortTermModelActive == that.mWasShortTermModelActive
|
||||
&& mFlags == that.mFlags
|
||||
&& mAdjustmentFlags == that.mAdjustmentFlags
|
||||
&& mAutomaticBrightnessEnabled == that.mAutomaticBrightnessEnabled;
|
||||
&& mAutomaticBrightnessEnabled == that.mAutomaticBrightnessEnabled
|
||||
&& mDisplayBrightnessStrategyName.equals(that.mDisplayBrightnessStrategyName);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -185,7 +189,8 @@ public final class BrightnessEvent {
|
||||
+ ", wasShortTermModelActive=" + mWasShortTermModelActive
|
||||
+ ", flags=" + flagsToString()
|
||||
+ ", reason=" + mReason.toString(mAdjustmentFlags)
|
||||
+ ", autoBrightness=" + mAutomaticBrightnessEnabled;
|
||||
+ ", autoBrightness=" + mAutomaticBrightnessEnabled
|
||||
+ ", strategy=" + mDisplayBrightnessStrategyName;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -355,6 +360,14 @@ public final class BrightnessEvent {
|
||||
return mAutomaticBrightnessEnabled;
|
||||
}
|
||||
|
||||
public void setDisplayBrightnessStrategyName(String displayBrightnessStrategyName) {
|
||||
mDisplayBrightnessStrategyName = displayBrightnessStrategyName;
|
||||
}
|
||||
|
||||
public String getDisplayBrightnessStrategyName() {
|
||||
return mDisplayBrightnessStrategyName;
|
||||
}
|
||||
|
||||
public void setAutomaticBrightnessEnabled(boolean mAutomaticBrightnessEnabled) {
|
||||
this.mAutomaticBrightnessEnabled = mAutomaticBrightnessEnabled;
|
||||
}
|
||||
|
||||
@@ -45,13 +45,15 @@ public final class BrightnessUtils {
|
||||
* A utility to construct the DisplayBrightnessState
|
||||
*/
|
||||
public static DisplayBrightnessState constructDisplayBrightnessState(
|
||||
int brightnessChangeReason, float brightness, float sdrBrightness) {
|
||||
int brightnessChangeReason, float brightness, float sdrBrightness,
|
||||
String displayBrightnessStrategyName) {
|
||||
BrightnessReason brightnessReason = new BrightnessReason();
|
||||
brightnessReason.setReason(brightnessChangeReason);
|
||||
return new DisplayBrightnessState.Builder()
|
||||
.setBrightness(brightness)
|
||||
.setSdrBrightness(sdrBrightness)
|
||||
.setBrightnessReason(brightnessReason)
|
||||
.setDisplayBrightnessStrategyName(displayBrightnessStrategyName)
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ public class BoostBrightnessStrategy implements DisplayBrightnessStrategy {
|
||||
DisplayBrightnessState displayBrightnessState =
|
||||
BrightnessUtils.constructDisplayBrightnessState(BrightnessReason.REASON_BOOST,
|
||||
PowerManager.BRIGHTNESS_MAX,
|
||||
PowerManager.BRIGHTNESS_MAX);
|
||||
PowerManager.BRIGHTNESS_MAX, getName());
|
||||
return displayBrightnessState;
|
||||
}
|
||||
|
||||
|
||||
@@ -33,7 +33,8 @@ public class DozeBrightnessStrategy implements DisplayBrightnessStrategy {
|
||||
// Todo(b/241308599): Introduce a validator class and add validations before setting
|
||||
// the brightness
|
||||
return BrightnessUtils.constructDisplayBrightnessState(BrightnessReason.REASON_DOZE,
|
||||
displayPowerRequest.dozeScreenBrightness, displayPowerRequest.dozeScreenBrightness);
|
||||
displayPowerRequest.dozeScreenBrightness, displayPowerRequest.dozeScreenBrightness,
|
||||
getName());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -48,7 +48,7 @@ public class FollowerBrightnessStrategy implements DisplayBrightnessStrategy {
|
||||
// Todo(b/241308599): Introduce a validator class and add validations before setting
|
||||
// the brightness
|
||||
return BrightnessUtils.constructDisplayBrightnessState(BrightnessReason.REASON_FOLLOWER,
|
||||
mBrightnessToFollow, mBrightnessToFollow);
|
||||
mBrightnessToFollow, mBrightnessToFollow, getName());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -31,7 +31,8 @@ public class InvalidBrightnessStrategy implements DisplayBrightnessStrategy {
|
||||
public DisplayBrightnessState updateBrightness(
|
||||
DisplayManagerInternal.DisplayPowerRequest displayPowerRequest) {
|
||||
return BrightnessUtils.constructDisplayBrightnessState(BrightnessReason.REASON_UNKNOWN,
|
||||
PowerManager.BRIGHTNESS_INVALID_FLOAT, PowerManager.BRIGHTNESS_INVALID_FLOAT);
|
||||
PowerManager.BRIGHTNESS_INVALID_FLOAT, PowerManager.BRIGHTNESS_INVALID_FLOAT,
|
||||
getName());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -33,7 +33,7 @@ public class OverrideBrightnessStrategy implements DisplayBrightnessStrategy {
|
||||
// the brightness
|
||||
return BrightnessUtils.constructDisplayBrightnessState(BrightnessReason.REASON_OVERRIDE,
|
||||
displayPowerRequest.screenBrightnessOverride,
|
||||
displayPowerRequest.screenBrightnessOverride);
|
||||
displayPowerRequest.screenBrightnessOverride, getName());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -34,7 +34,7 @@ public class ScreenOffBrightnessStrategy implements DisplayBrightnessStrategy {
|
||||
// the brightness
|
||||
return BrightnessUtils.constructDisplayBrightnessState(BrightnessReason.REASON_SCREEN_OFF,
|
||||
PowerManager.BRIGHTNESS_OFF_FLOAT,
|
||||
PowerManager.BRIGHTNESS_OFF_FLOAT);
|
||||
PowerManager.BRIGHTNESS_OFF_FLOAT, getName());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -48,7 +48,7 @@ public class TemporaryBrightnessStrategy implements DisplayBrightnessStrategy {
|
||||
DisplayBrightnessState displayBrightnessState =
|
||||
BrightnessUtils.constructDisplayBrightnessState(BrightnessReason.REASON_TEMPORARY,
|
||||
mTemporaryScreenBrightness,
|
||||
mTemporaryScreenBrightness);
|
||||
mTemporaryScreenBrightness, getName());
|
||||
return displayBrightnessState;
|
||||
}
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ import org.junit.runner.RunWith;
|
||||
@SmallTest
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public final class BrightnessEventTest {
|
||||
private static final String DISPLAY_BRIGHTNESS_STRATEGY_NAME = "strategy_name";
|
||||
private BrightnessEvent mBrightnessEvent;
|
||||
|
||||
@Before
|
||||
@@ -53,6 +54,7 @@ public final class BrightnessEventTest {
|
||||
mBrightnessEvent.setFlags(0);
|
||||
mBrightnessEvent.setAdjustmentFlags(0);
|
||||
mBrightnessEvent.setAutomaticBrightnessEnabled(true);
|
||||
mBrightnessEvent.setDisplayBrightnessStrategyName(DISPLAY_BRIGHTNESS_STRATEGY_NAME);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -70,7 +72,8 @@ public final class BrightnessEventTest {
|
||||
"BrightnessEvent: disp=1, physDisp=test, brt=0.6, initBrt=25.0, rcmdBrt=0.6,"
|
||||
+ " preBrt=NaN, lux=100.0, preLux=150.0, hbmMax=0.62, hbmMode=off, rbcStrength=-1,"
|
||||
+ " thrmMax=0.65, powerFactor=0.2, wasShortTermModelActive=true, flags=,"
|
||||
+ " reason=doze [ low_pwr ], autoBrightness=true";
|
||||
+ " reason=doze [ low_pwr ], autoBrightness=true, strategy="
|
||||
+ DISPLAY_BRIGHTNESS_STRATEGY_NAME;
|
||||
assertEquals(expectedString, actualString);
|
||||
}
|
||||
|
||||
|
||||
@@ -55,6 +55,7 @@ public class BoostBrightnessStrategyTest {
|
||||
.setBrightness(PowerManager.BRIGHTNESS_MAX)
|
||||
.setBrightnessReason(brightnessReason)
|
||||
.setSdrBrightness(PowerManager.BRIGHTNESS_MAX)
|
||||
.setDisplayBrightnessStrategyName(mBoostBrightnessStrategy.getName())
|
||||
.build();
|
||||
DisplayBrightnessState updatedDisplayBrightnessState =
|
||||
mBoostBrightnessStrategy.updateBrightness(displayPowerRequest);
|
||||
|
||||
@@ -52,6 +52,7 @@ public class DozeBrightnessStrategyTest {
|
||||
.setBrightness(dozeScreenBrightness)
|
||||
.setBrightnessReason(brightnessReason)
|
||||
.setSdrBrightness(dozeScreenBrightness)
|
||||
.setDisplayBrightnessStrategyName(mDozeBrightnessModeStrategy.getName())
|
||||
.build();
|
||||
DisplayBrightnessState updatedDisplayBrightnessState =
|
||||
mDozeBrightnessModeStrategy.updateBrightness(displayPowerRequest);
|
||||
|
||||
@@ -54,6 +54,7 @@ public class FollowerBrightnessStrategyTest {
|
||||
.setBrightness(brightnessToFollow)
|
||||
.setBrightnessReason(brightnessReason)
|
||||
.setSdrBrightness(brightnessToFollow)
|
||||
.setDisplayBrightnessStrategyName(mFollowerBrightnessStrategy.getName())
|
||||
.build();
|
||||
DisplayBrightnessState updatedDisplayBrightnessState =
|
||||
mFollowerBrightnessStrategy.updateBrightness(displayPowerRequest);
|
||||
|
||||
@@ -55,6 +55,7 @@ public class OverrideBrightnessStrategyTest {
|
||||
.setBrightness(overrideBrightness)
|
||||
.setBrightnessReason(brightnessReason)
|
||||
.setSdrBrightness(overrideBrightness)
|
||||
.setDisplayBrightnessStrategyName(mOverrideBrightnessStrategy.getName())
|
||||
.build();
|
||||
DisplayBrightnessState updatedDisplayBrightnessState =
|
||||
mOverrideBrightnessStrategy.updateBrightness(displayPowerRequest);
|
||||
|
||||
@@ -52,6 +52,8 @@ public final class ScreenOffBrightnessStrategyTest {
|
||||
.setBrightness(PowerManager.BRIGHTNESS_OFF_FLOAT)
|
||||
.setSdrBrightness(PowerManager.BRIGHTNESS_OFF_FLOAT)
|
||||
.setBrightnessReason(brightnessReason)
|
||||
.setDisplayBrightnessStrategyName(mScreenOffBrightnessModeStrategy
|
||||
.getName())
|
||||
.build();
|
||||
DisplayBrightnessState updatedDisplayBrightnessState =
|
||||
mScreenOffBrightnessModeStrategy.updateBrightness(displayPowerRequest);
|
||||
|
||||
@@ -55,6 +55,7 @@ public class TemporaryBrightnessStrategyTest {
|
||||
.setBrightness(temporaryBrightness)
|
||||
.setBrightnessReason(brightnessReason)
|
||||
.setSdrBrightness(temporaryBrightness)
|
||||
.setDisplayBrightnessStrategyName(mTemporaryBrightnessStrategy.getName())
|
||||
.build();
|
||||
DisplayBrightnessState updatedDisplayBrightnessState =
|
||||
mTemporaryBrightnessStrategy.updateBrightness(displayPowerRequest);
|
||||
|
||||
Reference in New Issue
Block a user