Merge "Report brightness event to StatsLog" into udc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
e618d251ac
@@ -167,6 +167,51 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
|
||||
private static final int RINGBUFFER_MAX = 100;
|
||||
|
||||
private static final float[] BRIGHTNESS_RANGE_BOUNDARIES = {
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80,
|
||||
90, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1200,
|
||||
1400, 1600, 1800, 2000, 2250, 2500, 2750, 3000};
|
||||
private static final int[] BRIGHTNESS_RANGE_INDEX = {
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_UNKNOWN,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_0_1,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_1_2,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_2_3,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_3_4,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_4_5,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_5_6,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_6_7,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_7_8,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_8_9,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_9_10,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_10_20,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_20_30,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_30_40,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_40_50,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_50_60,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_60_70,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_70_80,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_80_90,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_90_100,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_100_200,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_200_300,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_300_400,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_400_500,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_500_600,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_600_700,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_700_800,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_800_900,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_900_1000,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_1000_1200,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_1200_1400,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_1400_1600,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_1600_1800,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_1800_2000,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_2000_2250,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_2250_2500,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_2500_2750,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_2750_3000,
|
||||
};
|
||||
|
||||
private final String mTag;
|
||||
|
||||
private final Object mLock = new Object();
|
||||
@@ -1937,8 +1982,9 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
? BrightnessEvent.FLAG_USER_SET : 0));
|
||||
Slog.i(mTag, newEvent.toString(/* includeTime= */ false));
|
||||
|
||||
if (userSetBrightnessChanged) {
|
||||
logManualBrightnessEvent(newEvent);
|
||||
if (userSetBrightnessChanged
|
||||
|| newEvent.getReason().getReason() != BrightnessReason.REASON_TEMPORARY) {
|
||||
logBrightnessEvent(newEvent, unthrottledBrightnessState);
|
||||
}
|
||||
if (mBrightnessEventRingBuffer != null) {
|
||||
mBrightnessEventRingBuffer.append(newEvent);
|
||||
@@ -3091,7 +3137,63 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
}
|
||||
}
|
||||
|
||||
private void logManualBrightnessEvent(BrightnessEvent event) {
|
||||
// Return bucket index of range_[left]_[right] where
|
||||
// left <= nits < right
|
||||
private int nitsToRangeIndex(float nits) {
|
||||
for (int i = 0; i < BRIGHTNESS_RANGE_BOUNDARIES.length; i++) {
|
||||
if (nits < BRIGHTNESS_RANGE_BOUNDARIES[i]) {
|
||||
return BRIGHTNESS_RANGE_INDEX[i];
|
||||
}
|
||||
}
|
||||
return FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_3000_INF;
|
||||
}
|
||||
|
||||
private int convertBrightnessReasonToStatsEnum(int brightnessReason) {
|
||||
switch(brightnessReason) {
|
||||
case BrightnessReason.REASON_UNKNOWN:
|
||||
return FrameworkStatsLog
|
||||
.DISPLAY_BRIGHTNESS_CHANGED__ENTIRE_REASON__REASON_UNKNOWN;
|
||||
case BrightnessReason.REASON_MANUAL:
|
||||
return FrameworkStatsLog
|
||||
.DISPLAY_BRIGHTNESS_CHANGED__ENTIRE_REASON__REASON_MANUAL;
|
||||
case BrightnessReason.REASON_DOZE:
|
||||
return FrameworkStatsLog
|
||||
.DISPLAY_BRIGHTNESS_CHANGED__ENTIRE_REASON__REASON_DOZE;
|
||||
case BrightnessReason.REASON_DOZE_DEFAULT:
|
||||
return FrameworkStatsLog
|
||||
.DISPLAY_BRIGHTNESS_CHANGED__ENTIRE_REASON__REASON_DOZE_DEFAULT;
|
||||
case BrightnessReason.REASON_AUTOMATIC:
|
||||
return FrameworkStatsLog
|
||||
.DISPLAY_BRIGHTNESS_CHANGED__ENTIRE_REASON__REASON_AUTOMATIC;
|
||||
case BrightnessReason.REASON_SCREEN_OFF:
|
||||
return FrameworkStatsLog
|
||||
.DISPLAY_BRIGHTNESS_CHANGED__ENTIRE_REASON__REASON_SCREEN_OFF;
|
||||
case BrightnessReason.REASON_OVERRIDE:
|
||||
return FrameworkStatsLog
|
||||
.DISPLAY_BRIGHTNESS_CHANGED__ENTIRE_REASON__REASON_OVERRIDE;
|
||||
case BrightnessReason.REASON_TEMPORARY:
|
||||
return FrameworkStatsLog
|
||||
.DISPLAY_BRIGHTNESS_CHANGED__ENTIRE_REASON__REASON_TEMPORARY;
|
||||
case BrightnessReason.REASON_BOOST:
|
||||
return FrameworkStatsLog
|
||||
.DISPLAY_BRIGHTNESS_CHANGED__ENTIRE_REASON__REASON_BOOST;
|
||||
case BrightnessReason.REASON_SCREEN_OFF_BRIGHTNESS_SENSOR:
|
||||
return FrameworkStatsLog
|
||||
.DISPLAY_BRIGHTNESS_CHANGED__ENTIRE_REASON__REASON_SCREEN_OFF_BRIGHTNESS_SENSOR;
|
||||
case BrightnessReason.REASON_FOLLOWER:
|
||||
return FrameworkStatsLog
|
||||
.DISPLAY_BRIGHTNESS_CHANGED__ENTIRE_REASON__REASON_FOLLOWER;
|
||||
}
|
||||
return FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__ENTIRE_REASON__REASON_UNKNOWN;
|
||||
}
|
||||
|
||||
private void logBrightnessEvent(BrightnessEvent event, float unmodifiedBrightness) {
|
||||
int modifier = event.getReason().getModifier();
|
||||
int flags = event.getFlags();
|
||||
// It's easier to check if the brightness is at maximum level using the brightness
|
||||
// value untouched by any modifiers
|
||||
boolean brightnessIsMax = unmodifiedBrightness == event.getHbmMax();
|
||||
float brightnessInNits = convertToAdjustedNits(event.getBrightness());
|
||||
float appliedLowPowerMode = event.isLowPowerModeSet() ? event.getPowerFactor() : -1f;
|
||||
int appliedRbcStrength = event.isRbcEnabled() ? event.getRbcStrength() : -1;
|
||||
float appliedHbmMaxNits =
|
||||
@@ -3105,7 +3207,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
if (mIsDisplayInternal) {
|
||||
FrameworkStatsLog.write(FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED,
|
||||
convertToAdjustedNits(event.getInitialBrightness()),
|
||||
convertToAdjustedNits(event.getBrightness()),
|
||||
brightnessInNits,
|
||||
event.getLux(),
|
||||
event.getPhysicalDisplayId(),
|
||||
event.wasShortTermModelActive(),
|
||||
@@ -3114,7 +3216,21 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
appliedHbmMaxNits,
|
||||
appliedThermalCapNits,
|
||||
event.isAutomaticBrightnessEnabled(),
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__REASON__REASON_MANUAL);
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__REASON__REASON_MANUAL,
|
||||
convertBrightnessReasonToStatsEnum(event.getReason().getReason()),
|
||||
nitsToRangeIndex(brightnessInNits),
|
||||
brightnessIsMax,
|
||||
event.getHbmMode() == BrightnessInfo.HIGH_BRIGHTNESS_MODE_SUNLIGHT,
|
||||
event.getHbmMode() == BrightnessInfo.HIGH_BRIGHTNESS_MODE_HDR,
|
||||
(modifier & BrightnessReason.MODIFIER_LOW_POWER) > 0,
|
||||
mBrightnessThrottler.getBrightnessMaxReason(),
|
||||
(modifier & BrightnessReason.MODIFIER_DIMMED) > 0,
|
||||
event.isRbcEnabled(),
|
||||
(flags & BrightnessEvent.FLAG_INVALID_LUX) > 0,
|
||||
(flags & BrightnessEvent.FLAG_DOZE_SCALE) > 0,
|
||||
(flags & BrightnessEvent.FLAG_USER_SET) > 0,
|
||||
(flags & BrightnessEvent.FLAG_IDLE_CURVE) > 0,
|
||||
(flags & BrightnessEvent.FLAG_LOW_POWER_MODE) > 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -157,6 +157,51 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
|
||||
|
||||
private static final int RINGBUFFER_MAX = 100;
|
||||
|
||||
private static final float[] BRIGHTNESS_RANGE_BOUNDARIES = {
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80,
|
||||
90, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1200,
|
||||
1400, 1600, 1800, 2000, 2250, 2500, 2750, 3000};
|
||||
private static final int[] BRIGHTNESS_RANGE_INDEX = {
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_UNKNOWN,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_0_1,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_1_2,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_2_3,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_3_4,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_4_5,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_5_6,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_6_7,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_7_8,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_8_9,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_9_10,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_10_20,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_20_30,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_30_40,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_40_50,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_50_60,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_60_70,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_70_80,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_80_90,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_90_100,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_100_200,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_200_300,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_300_400,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_400_500,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_500_600,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_600_700,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_700_800,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_800_900,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_900_1000,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_1000_1200,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_1200_1400,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_1400_1600,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_1600_1800,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_1800_2000,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_2000_2250,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_2250_2500,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_2500_2750,
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_2750_3000,
|
||||
};
|
||||
|
||||
private final String mTag;
|
||||
|
||||
private final Object mLock = new Object();
|
||||
@@ -1570,8 +1615,9 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
|
||||
? BrightnessEvent.FLAG_USER_SET : 0));
|
||||
Slog.i(mTag, newEvent.toString(/* includeTime= */ false));
|
||||
|
||||
if (userSetBrightnessChanged) {
|
||||
logManualBrightnessEvent(newEvent);
|
||||
if (userSetBrightnessChanged
|
||||
|| newEvent.getReason().getReason() != BrightnessReason.REASON_TEMPORARY) {
|
||||
logBrightnessEvent(newEvent, unthrottledBrightnessState);
|
||||
}
|
||||
if (mBrightnessEventRingBuffer != null) {
|
||||
mBrightnessEventRingBuffer.append(newEvent);
|
||||
@@ -2448,7 +2494,64 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
|
||||
}
|
||||
}
|
||||
|
||||
private void logManualBrightnessEvent(BrightnessEvent event) {
|
||||
// Return bucket index of range_[left]_[right] where
|
||||
// left <= nits < right
|
||||
private int nitsToRangeIndex(float nits) {
|
||||
for (int i = 0; i < BRIGHTNESS_RANGE_BOUNDARIES.length; i++) {
|
||||
if (nits < BRIGHTNESS_RANGE_BOUNDARIES[i]) {
|
||||
return BRIGHTNESS_RANGE_INDEX[i];
|
||||
}
|
||||
}
|
||||
return FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__BUCKET_INDEX__RANGE_3000_INF;
|
||||
}
|
||||
|
||||
private int convertBrightnessReasonToStatsEnum(int brightnessReason) {
|
||||
switch(brightnessReason) {
|
||||
case BrightnessReason.REASON_UNKNOWN:
|
||||
return FrameworkStatsLog
|
||||
.DISPLAY_BRIGHTNESS_CHANGED__ENTIRE_REASON__REASON_UNKNOWN;
|
||||
case BrightnessReason.REASON_MANUAL:
|
||||
return FrameworkStatsLog
|
||||
.DISPLAY_BRIGHTNESS_CHANGED__ENTIRE_REASON__REASON_MANUAL;
|
||||
case BrightnessReason.REASON_DOZE:
|
||||
return FrameworkStatsLog
|
||||
.DISPLAY_BRIGHTNESS_CHANGED__ENTIRE_REASON__REASON_DOZE;
|
||||
case BrightnessReason.REASON_DOZE_DEFAULT:
|
||||
return FrameworkStatsLog
|
||||
.DISPLAY_BRIGHTNESS_CHANGED__ENTIRE_REASON__REASON_DOZE_DEFAULT;
|
||||
case BrightnessReason.REASON_AUTOMATIC:
|
||||
return FrameworkStatsLog
|
||||
.DISPLAY_BRIGHTNESS_CHANGED__ENTIRE_REASON__REASON_AUTOMATIC;
|
||||
case BrightnessReason.REASON_SCREEN_OFF:
|
||||
return FrameworkStatsLog
|
||||
.DISPLAY_BRIGHTNESS_CHANGED__ENTIRE_REASON__REASON_SCREEN_OFF;
|
||||
case BrightnessReason.REASON_OVERRIDE:
|
||||
return FrameworkStatsLog
|
||||
.DISPLAY_BRIGHTNESS_CHANGED__ENTIRE_REASON__REASON_OVERRIDE;
|
||||
case BrightnessReason.REASON_TEMPORARY:
|
||||
return FrameworkStatsLog
|
||||
.DISPLAY_BRIGHTNESS_CHANGED__ENTIRE_REASON__REASON_TEMPORARY;
|
||||
case BrightnessReason.REASON_BOOST:
|
||||
return FrameworkStatsLog
|
||||
.DISPLAY_BRIGHTNESS_CHANGED__ENTIRE_REASON__REASON_BOOST;
|
||||
case BrightnessReason.REASON_SCREEN_OFF_BRIGHTNESS_SENSOR:
|
||||
return FrameworkStatsLog
|
||||
.DISPLAY_BRIGHTNESS_CHANGED__ENTIRE_REASON__REASON_SCREEN_OFF_BRIGHTNESS_SENSOR;
|
||||
case BrightnessReason.REASON_FOLLOWER:
|
||||
return FrameworkStatsLog
|
||||
.DISPLAY_BRIGHTNESS_CHANGED__ENTIRE_REASON__REASON_FOLLOWER;
|
||||
}
|
||||
return FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__ENTIRE_REASON__REASON_UNKNOWN;
|
||||
}
|
||||
|
||||
private void logBrightnessEvent(BrightnessEvent event, float unmodifiedBrightness) {
|
||||
int modifier = event.getReason().getModifier();
|
||||
int flags = event.getFlags();
|
||||
// It's easier to check if the brightness is at maximum level using the brightness
|
||||
// value untouched by any modifiers
|
||||
boolean brightnessIsMax = unmodifiedBrightness == event.getHbmMax();
|
||||
float brightnessInNits =
|
||||
mDisplayBrightnessController.convertToAdjustedNits(event.getBrightness());
|
||||
float appliedLowPowerMode = event.isLowPowerModeSet() ? event.getPowerFactor() : -1f;
|
||||
int appliedRbcStrength = event.isRbcEnabled() ? event.getRbcStrength() : -1;
|
||||
float appliedHbmMaxNits =
|
||||
@@ -2462,7 +2565,7 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
|
||||
FrameworkStatsLog.write(FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED,
|
||||
mDisplayBrightnessController
|
||||
.convertToAdjustedNits(event.getInitialBrightness()),
|
||||
mDisplayBrightnessController.convertToAdjustedNits(event.getBrightness()),
|
||||
brightnessInNits,
|
||||
event.getLux(),
|
||||
event.getPhysicalDisplayId(),
|
||||
event.wasShortTermModelActive(),
|
||||
@@ -2471,7 +2574,21 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
|
||||
appliedHbmMaxNits,
|
||||
appliedThermalCapNits,
|
||||
event.isAutomaticBrightnessEnabled(),
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__REASON__REASON_MANUAL);
|
||||
FrameworkStatsLog.DISPLAY_BRIGHTNESS_CHANGED__REASON__REASON_MANUAL,
|
||||
convertBrightnessReasonToStatsEnum(event.getReason().getReason()),
|
||||
nitsToRangeIndex(brightnessInNits),
|
||||
brightnessIsMax,
|
||||
event.getHbmMode() == BrightnessInfo.HIGH_BRIGHTNESS_MODE_SUNLIGHT,
|
||||
event.getHbmMode() == BrightnessInfo.HIGH_BRIGHTNESS_MODE_HDR,
|
||||
(modifier & BrightnessReason.MODIFIER_LOW_POWER) > 0,
|
||||
mBrightnessThrottler.getBrightnessMaxReason(),
|
||||
(modifier & BrightnessReason.MODIFIER_DIMMED) > 0,
|
||||
event.isRbcEnabled(),
|
||||
(flags & BrightnessEvent.FLAG_INVALID_LUX) > 0,
|
||||
(flags & BrightnessEvent.FLAG_DOZE_SCALE) > 0,
|
||||
(flags & BrightnessEvent.FLAG_USER_SET) > 0,
|
||||
(flags & BrightnessEvent.FLAG_IDLE_CURVE) > 0,
|
||||
(flags & BrightnessEvent.FLAG_LOW_POWER_MODE) > 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user