Loading services/core/java/com/android/server/display/DisplayPowerController.java +0 −152 Original line number Diff line number Diff line Loading @@ -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); } Loading Loading @@ -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; Loading services/core/java/com/android/server/display/DisplayPowerController2.java +0 −152 Original line number Diff line number Diff line Loading @@ -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); } Loading Loading @@ -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*/); Loading Loading
services/core/java/com/android/server/display/DisplayPowerController.java +0 −152 Original line number Diff line number Diff line Loading @@ -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); } Loading Loading @@ -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; Loading
services/core/java/com/android/server/display/DisplayPowerController2.java +0 −152 Original line number Diff line number Diff line Loading @@ -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); } Loading Loading @@ -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*/); Loading