Merge "Revert "Report brightness event to StatsLog"" into udc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
1e86ba6fe9
@@ -1886,10 +1886,6 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
? BrightnessEvent.FLAG_USER_SET : 0));
|
||||
Slog.i(mTag, newEvent.toString(/* includeTime= */ false));
|
||||
|
||||
// Log all events which are not temporary
|
||||
if (newEvent.getReason().getReason() != BrightnessReason.REASON_TEMPORARY) {
|
||||
logBrightnessEvent(newEvent, unthrottledBrightnessState);
|
||||
}
|
||||
if (userSetBrightnessChanged) {
|
||||
logManualBrightnessEvent(newEvent);
|
||||
}
|
||||
@@ -3002,154 +2998,6 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
|
||||
}
|
||||
}
|
||||
|
||||
// Return bucket index of range_[left]_[right] where
|
||||
// left <= nits < right
|
||||
private int nitsToRangeIndex(float nits) {
|
||||
float[] 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};
|
||||
int[] rangeIndex = {
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_UNKNOWN,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_0_1,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_1_2,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_2_3,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_3_4,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_4_5,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_5_6,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_6_7,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_7_8,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_8_9,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_9_10,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_10_20,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_20_30,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_30_40,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_40_50,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_50_60,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_60_70,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_70_80,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_80_90,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_90_100,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_100_200,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_200_300,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_300_400,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_400_500,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_500_600,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_600_700,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_700_800,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_800_900,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_900_1000,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_1000_1200,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_1200_1400,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_1400_1600,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_1600_1800,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_1800_2000,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_2000_2250,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_2250_2500,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_2500_2750,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_2750_3000,
|
||||
};
|
||||
for (int i = 0; i < boundaries.length; i++) {
|
||||
if (nits < boundaries[i]) {
|
||||
return rangeIndex[i];
|
||||
}
|
||||
}
|
||||
return FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_3000_INF;
|
||||
}
|
||||
|
||||
private int convertBrightnessReasonToStatsEnum(int brightnessReason) {
|
||||
switch(brightnessReason) {
|
||||
case BrightnessReason.REASON_UNKNOWN:
|
||||
return FrameworkStatsLog
|
||||
.SCREEN_BRIGHTNESS_CHANGED_V2__REASON__REASON_UNKNOWN;
|
||||
case BrightnessReason.REASON_MANUAL:
|
||||
return FrameworkStatsLog
|
||||
.SCREEN_BRIGHTNESS_CHANGED_V2__REASON__REASON_MANUAL;
|
||||
case BrightnessReason.REASON_DOZE:
|
||||
return FrameworkStatsLog
|
||||
.SCREEN_BRIGHTNESS_CHANGED_V2__REASON__REASON_DOZE;
|
||||
case BrightnessReason.REASON_DOZE_DEFAULT:
|
||||
return FrameworkStatsLog
|
||||
.SCREEN_BRIGHTNESS_CHANGED_V2__REASON__REASON_DOZE_DEFAULT;
|
||||
case BrightnessReason.REASON_AUTOMATIC:
|
||||
return FrameworkStatsLog
|
||||
.SCREEN_BRIGHTNESS_CHANGED_V2__REASON__REASON_AUTOMATIC;
|
||||
case BrightnessReason.REASON_SCREEN_OFF:
|
||||
return FrameworkStatsLog
|
||||
.SCREEN_BRIGHTNESS_CHANGED_V2__REASON__REASON_SCREEN_OFF;
|
||||
case BrightnessReason.REASON_OVERRIDE:
|
||||
return FrameworkStatsLog
|
||||
.SCREEN_BRIGHTNESS_CHANGED_V2__REASON__REASON_OVERRIDE;
|
||||
case BrightnessReason.REASON_TEMPORARY:
|
||||
return FrameworkStatsLog
|
||||
.SCREEN_BRIGHTNESS_CHANGED_V2__REASON__REASON_TEMPORARY;
|
||||
case BrightnessReason.REASON_BOOST:
|
||||
return FrameworkStatsLog
|
||||
.SCREEN_BRIGHTNESS_CHANGED_V2__REASON__REASON_BOOST;
|
||||
case BrightnessReason.REASON_SCREEN_OFF_BRIGHTNESS_SENSOR:
|
||||
return FrameworkStatsLog
|
||||
.SCREEN_BRIGHTNESS_CHANGED_V2__REASON__REASON_SCREEN_OFF_BRIGHTNESS_SENSOR;
|
||||
case BrightnessReason.REASON_FOLLOWER:
|
||||
return FrameworkStatsLog
|
||||
.SCREEN_BRIGHTNESS_CHANGED_V2__REASON__REASON_FOLLOWER;
|
||||
}
|
||||
return FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__REASON__REASON_UNKNOWN;
|
||||
}
|
||||
|
||||
private int convertHbmModeToStatsEnum(int mode) {
|
||||
switch(mode) {
|
||||
case BrightnessInfo.HIGH_BRIGHTNESS_MODE_OFF:
|
||||
return FrameworkStatsLog
|
||||
.SCREEN_BRIGHTNESS_CHANGED_V2__HBM_MODE__HIGH_BRIGHTNESS_MODE_OFF;
|
||||
case BrightnessInfo.HIGH_BRIGHTNESS_MODE_SUNLIGHT:
|
||||
return FrameworkStatsLog
|
||||
.SCREEN_BRIGHTNESS_CHANGED_V2__HBM_MODE__HIGH_BRIGHTNESS_MODE_SUNLIGHT;
|
||||
case BrightnessInfo.HIGH_BRIGHTNESS_MODE_HDR:
|
||||
return FrameworkStatsLog
|
||||
.SCREEN_BRIGHTNESS_CHANGED_V2__HBM_MODE__HIGH_BRIGHTNESS_MODE_HDR;
|
||||
}
|
||||
return FrameworkStatsLog
|
||||
.SCREEN_BRIGHTNESS_CHANGED_V2__HBM_MODE__HIGH_BRIGHTNESS_MODE_OFF;
|
||||
}
|
||||
|
||||
// unmodifiedBrightness: the brightness value that has not been
|
||||
// modified by any modifiers(dimming/throttling/low-power-mode)
|
||||
private void logBrightnessEvent(BrightnessEvent event, float unmodifiedBrightness) {
|
||||
int modifier = event.getReason().getModifier();
|
||||
// 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 = convertToNits(event.getBrightness());
|
||||
float lowPowerModeFactor = event.getPowerFactor();
|
||||
int rbcStrength = event.getRbcStrength();
|
||||
float hbmMaxNits = convertToNits(event.getHbmMax());
|
||||
float thermalCapNits = convertToNits(event.getThermalMax());
|
||||
|
||||
if (mLogicalDisplay.getPrimaryDisplayDeviceLocked() != null
|
||||
&& mLogicalDisplay.getPrimaryDisplayDeviceLocked()
|
||||
.getDisplayDeviceInfoLocked().type == Display.TYPE_INTERNAL) {
|
||||
FrameworkStatsLog.write(FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2,
|
||||
event.getPhysicalDisplayId().hashCode(),
|
||||
brightnessInNits,
|
||||
convertToNits(unmodifiedBrightness),
|
||||
nitsToRangeIndex(brightnessInNits),
|
||||
brightnessIsMax,
|
||||
(event.getFlags() & BrightnessEvent.FLAG_USER_SET) > 0,
|
||||
convertBrightnessReasonToStatsEnum(event.getReason().getReason()),
|
||||
convertHbmModeToStatsEnum(event.getHbmMode()),
|
||||
(modifier & BrightnessReason.MODIFIER_LOW_POWER) > 0,
|
||||
(modifier & BrightnessReason.MODIFIER_THROTTLED) > 0,
|
||||
event.isRbcEnabled(),
|
||||
event.getLux(),
|
||||
event.wasShortTermModelActive(),
|
||||
lowPowerModeFactor,
|
||||
rbcStrength,
|
||||
hbmMaxNits,
|
||||
thermalCapNits,
|
||||
event.isAutomaticBrightnessEnabled());
|
||||
}
|
||||
}
|
||||
|
||||
private void logManualBrightnessEvent(BrightnessEvent event) {
|
||||
float appliedLowPowerMode = event.isLowPowerModeSet() ? event.getPowerFactor() : -1f;
|
||||
int appliedRbcStrength = event.isRbcEnabled() ? event.getRbcStrength() : -1;
|
||||
|
||||
@@ -1601,10 +1601,6 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
|
||||
? BrightnessEvent.FLAG_USER_SET : 0));
|
||||
Slog.i(mTag, newEvent.toString(/* includeTime= */ false));
|
||||
|
||||
// Log all events which are not temporary
|
||||
if (newEvent.getReason().getReason() != BrightnessReason.REASON_TEMPORARY) {
|
||||
logBrightnessEvent(newEvent, unthrottledBrightnessState);
|
||||
}
|
||||
if (userSetBrightnessChanged) {
|
||||
logManualBrightnessEvent(newEvent);
|
||||
}
|
||||
@@ -2541,154 +2537,6 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
|
||||
return mDisplayId == Display.DEFAULT_DISPLAY || mBootCompleted;
|
||||
}
|
||||
|
||||
// Return bucket index of range_[left]_[right] where
|
||||
// left <= nits < right
|
||||
private int nitsToRangeIndex(float nits) {
|
||||
float[] 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};
|
||||
int[] rangeIndex = {
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_UNKNOWN,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_0_1,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_1_2,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_2_3,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_3_4,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_4_5,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_5_6,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_6_7,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_7_8,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_8_9,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_9_10,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_10_20,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_20_30,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_30_40,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_40_50,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_50_60,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_60_70,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_70_80,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_80_90,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_90_100,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_100_200,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_200_300,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_300_400,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_400_500,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_500_600,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_600_700,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_700_800,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_800_900,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_900_1000,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_1000_1200,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_1200_1400,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_1400_1600,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_1600_1800,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_1800_2000,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_2000_2250,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_2250_2500,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_2500_2750,
|
||||
FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_2750_3000,
|
||||
};
|
||||
for (int i = 0; i < boundaries.length; i++) {
|
||||
if (nits < boundaries[i]) {
|
||||
return rangeIndex[i];
|
||||
}
|
||||
}
|
||||
return FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__BUCKET_INDEX__RANGE_3000_INF;
|
||||
}
|
||||
|
||||
private int convertBrightnessReasonToStatsEnum(int brightnessReason) {
|
||||
switch(brightnessReason) {
|
||||
case BrightnessReason.REASON_UNKNOWN:
|
||||
return FrameworkStatsLog
|
||||
.SCREEN_BRIGHTNESS_CHANGED_V2__REASON__REASON_UNKNOWN;
|
||||
case BrightnessReason.REASON_MANUAL:
|
||||
return FrameworkStatsLog
|
||||
.SCREEN_BRIGHTNESS_CHANGED_V2__REASON__REASON_MANUAL;
|
||||
case BrightnessReason.REASON_DOZE:
|
||||
return FrameworkStatsLog
|
||||
.SCREEN_BRIGHTNESS_CHANGED_V2__REASON__REASON_DOZE;
|
||||
case BrightnessReason.REASON_DOZE_DEFAULT:
|
||||
return FrameworkStatsLog
|
||||
.SCREEN_BRIGHTNESS_CHANGED_V2__REASON__REASON_DOZE_DEFAULT;
|
||||
case BrightnessReason.REASON_AUTOMATIC:
|
||||
return FrameworkStatsLog
|
||||
.SCREEN_BRIGHTNESS_CHANGED_V2__REASON__REASON_AUTOMATIC;
|
||||
case BrightnessReason.REASON_SCREEN_OFF:
|
||||
return FrameworkStatsLog
|
||||
.SCREEN_BRIGHTNESS_CHANGED_V2__REASON__REASON_SCREEN_OFF;
|
||||
case BrightnessReason.REASON_OVERRIDE:
|
||||
return FrameworkStatsLog
|
||||
.SCREEN_BRIGHTNESS_CHANGED_V2__REASON__REASON_OVERRIDE;
|
||||
case BrightnessReason.REASON_TEMPORARY:
|
||||
return FrameworkStatsLog
|
||||
.SCREEN_BRIGHTNESS_CHANGED_V2__REASON__REASON_TEMPORARY;
|
||||
case BrightnessReason.REASON_BOOST:
|
||||
return FrameworkStatsLog
|
||||
.SCREEN_BRIGHTNESS_CHANGED_V2__REASON__REASON_BOOST;
|
||||
case BrightnessReason.REASON_SCREEN_OFF_BRIGHTNESS_SENSOR:
|
||||
return FrameworkStatsLog
|
||||
.SCREEN_BRIGHTNESS_CHANGED_V2__REASON__REASON_SCREEN_OFF_BRIGHTNESS_SENSOR;
|
||||
case BrightnessReason.REASON_FOLLOWER:
|
||||
return FrameworkStatsLog
|
||||
.SCREEN_BRIGHTNESS_CHANGED_V2__REASON__REASON_FOLLOWER;
|
||||
}
|
||||
return FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2__REASON__REASON_UNKNOWN;
|
||||
}
|
||||
|
||||
private int convertHbmModeToStatsEnum(int mode) {
|
||||
switch(mode) {
|
||||
case BrightnessInfo.HIGH_BRIGHTNESS_MODE_OFF:
|
||||
return FrameworkStatsLog
|
||||
.SCREEN_BRIGHTNESS_CHANGED_V2__HBM_MODE__HIGH_BRIGHTNESS_MODE_OFF;
|
||||
case BrightnessInfo.HIGH_BRIGHTNESS_MODE_SUNLIGHT:
|
||||
return FrameworkStatsLog
|
||||
.SCREEN_BRIGHTNESS_CHANGED_V2__HBM_MODE__HIGH_BRIGHTNESS_MODE_SUNLIGHT;
|
||||
case BrightnessInfo.HIGH_BRIGHTNESS_MODE_HDR:
|
||||
return FrameworkStatsLog
|
||||
.SCREEN_BRIGHTNESS_CHANGED_V2__HBM_MODE__HIGH_BRIGHTNESS_MODE_HDR;
|
||||
}
|
||||
return FrameworkStatsLog
|
||||
.SCREEN_BRIGHTNESS_CHANGED_V2__HBM_MODE__HIGH_BRIGHTNESS_MODE_OFF;
|
||||
}
|
||||
|
||||
// unmodifiedBrightness: the brightness value that has not been
|
||||
// modified by any modifiers(dimming/throttling/low-power-mode)
|
||||
private void logBrightnessEvent(BrightnessEvent event, float unmodifiedBrightness) {
|
||||
int modifier = event.getReason().getModifier();
|
||||
// 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 = convertToNits(event.getBrightness());
|
||||
float lowPowerModeFactor = event.getPowerFactor();
|
||||
int rbcStrength = event.getRbcStrength();
|
||||
float hbmMaxNits = convertToNits(event.getHbmMax());
|
||||
float thermalCapNits = convertToNits(event.getThermalMax());
|
||||
|
||||
if (mLogicalDisplay.getPrimaryDisplayDeviceLocked() != null
|
||||
&& mLogicalDisplay.getPrimaryDisplayDeviceLocked()
|
||||
.getDisplayDeviceInfoLocked().type == Display.TYPE_INTERNAL) {
|
||||
FrameworkStatsLog.write(FrameworkStatsLog.SCREEN_BRIGHTNESS_CHANGED_V2,
|
||||
event.getPhysicalDisplayId().hashCode(),
|
||||
brightnessInNits,
|
||||
convertToNits(unmodifiedBrightness),
|
||||
nitsToRangeIndex(brightnessInNits),
|
||||
brightnessIsMax,
|
||||
(event.getFlags() & BrightnessEvent.FLAG_USER_SET) > 0,
|
||||
convertBrightnessReasonToStatsEnum(event.getReason().getReason()),
|
||||
convertHbmModeToStatsEnum(event.getHbmMode()),
|
||||
(modifier & BrightnessReason.MODIFIER_LOW_POWER) > 0,
|
||||
(modifier & BrightnessReason.MODIFIER_THROTTLED) > 0,
|
||||
event.isRbcEnabled(),
|
||||
event.getLux(),
|
||||
event.wasShortTermModelActive(),
|
||||
lowPowerModeFactor,
|
||||
rbcStrength,
|
||||
hbmMaxNits,
|
||||
thermalCapNits,
|
||||
event.isAutomaticBrightnessEnabled());
|
||||
}
|
||||
}
|
||||
|
||||
private final class DisplayControllerHandler extends Handler {
|
||||
DisplayControllerHandler(Looper looper) {
|
||||
super(looper, null, true /*async*/);
|
||||
|
||||
Reference in New Issue
Block a user