diff options
| author | 2024-12-03 07:51:34 +0000 | |
|---|---|---|
| committer | 2024-12-03 07:51:34 +0000 | |
| commit | e761adc787adbe268182669159e3837a1b7b353a (patch) | |
| tree | ac337e9b1184fe105651e4ea057c1a650319f99d | |
| parent | 61cb4abb48f6b4ae6005e8cd5a37364b350d23df (diff) | |
| parent | 3ed19f262220c3986183c1624ada98ec3597453a (diff) | |
Merge "Updated StatsPerUidLogger device wide component power consumed reporting" into main
| -rw-r--r-- | services/core/java/com/android/server/am/BatteryStatsService.java | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/services/core/java/com/android/server/am/BatteryStatsService.java b/services/core/java/com/android/server/am/BatteryStatsService.java index 400ebfde1741..c27126a01a32 100644 --- a/services/core/java/com/android/server/am/BatteryStatsService.java +++ b/services/core/java/com/android/server/am/BatteryStatsService.java @@ -1251,12 +1251,10 @@ public final class BatteryStatsService extends IBatteryStats.Stub } private static float clampPowerMah(double powerMah, String consumer) { - float resultPowerMah = 0; - if (powerMah <= Float.MAX_VALUE && powerMah >= Float.MIN_VALUE) { - resultPowerMah = (float) powerMah; - } else { - // Handle overflow appropriately - Slog.wtfStack(TAG, consumer + " reported powerMah float overflow: " + powerMah); + float resultPowerMah = Double.valueOf(powerMah).floatValue(); + if (Float.isInfinite(resultPowerMah)) { + resultPowerMah = 0; + Slog.d(TAG, consumer + " reported powerMah float overflow : " + powerMah); } return resultPowerMah; } @@ -1361,11 +1359,10 @@ public final class BatteryStatsService extends IBatteryStats.Stub final String powerComponentName = batteryConsumer.getPowerComponentName(componentId); final double consumedPowerMah = batteryConsumer.getConsumedPower(key); - float powerMah = + final float powerMah = clampPowerMah( - consumedPowerMah, "uidConsumer-" + uid + "-" + powerComponentName); + consumedPowerMah, "uid-" + uid + "-" + powerComponentName); final long powerComponentDurationMillis = batteryConsumer.getUsageDurationMillis(key); - if (powerMah == 0 && powerComponentDurationMillis == 0) { return true; } |