summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShumao Hou <shumao1129@gmail.com>2022-11-09 12:43:14 +0800
committeralk3pInjection <webmaster@raspii.tech>2023-09-17 12:54:04 +0800
commit00a548d4470b5efb7b7752313642a2da7a8348da (patch)
tree7782857303c48570aa71969696d551090341af0a
parent1b9bc2d19e98592205ec437c98e89d1cfe0d5a2c (diff)
BatteryStatsImpl: Avoid dividing by 0.0 in updateWifiState.
If the variable opVolt is 0.0 in the method updateWifiState, the local variable monitoredRailChargeConsumedMaMs may be computed to a large value. The logic here should be the same as the method noteModemControlllerActivity. The variable opVolt being 0.0 should be avoided as a divisor. Bug: N/A Test: Manual Change-Id: I95ce75b960bace4c37acea89062cb21aab21aa30
-rw-r--r--core/java/com/android/internal/os/BatteryStatsImpl.java20
1 files changed, 10 insertions, 10 deletions
diff --git a/core/java/com/android/internal/os/BatteryStatsImpl.java b/core/java/com/android/internal/os/BatteryStatsImpl.java
index 08e36db5d92e..af54f6b3e0e4 100644
--- a/core/java/com/android/internal/os/BatteryStatsImpl.java
+++ b/core/java/com/android/internal/os/BatteryStatsImpl.java
@@ -13659,17 +13659,17 @@ public class BatteryStatsImpl extends BatteryStats {
// We store the power drain as mAms.
controllerMaMs = info.getControllerEnergyUsedMicroJoules() / opVolt;
mWifiActivity.getPowerCounter().addCountLocked((long) controllerMaMs);
+ // Converting uWs to mAms.
+ // Conversion: (uWs * (1000ms / 1s) * (1mW / 1000uW)) / mV = mAms
+ long monitoredRailChargeConsumedMaMs =
+ (long) (mTmpRailStats.getWifiTotalEnergyUseduWs() / opVolt);
+ mWifiActivity.getMonitoredRailChargeConsumedMaMs().addCountLocked(
+ monitoredRailChargeConsumedMaMs);
+ mHistoryCur.wifiRailChargeMah +=
+ (monitoredRailChargeConsumedMaMs / MILLISECONDS_IN_HOUR);
+ addHistoryRecordLocked(elapsedRealtimeMs, uptimeMs);
+ mTmpRailStats.resetWifiTotalEnergyUsed();
}
- // Converting uWs to mAms.
- // Conversion: (uWs * (1000ms / 1s) * (1mW / 1000uW)) / mV = mAms
- long monitoredRailChargeConsumedMaMs =
- (long) (mTmpRailStats.getWifiTotalEnergyUseduWs() / opVolt);
- mWifiActivity.getMonitoredRailChargeConsumedMaMs().addCountLocked(
- monitoredRailChargeConsumedMaMs);
- mHistoryCur.wifiRailChargeMah +=
- (monitoredRailChargeConsumedMaMs / MILLISECONDS_IN_HOUR);
- addHistoryRecordLocked(elapsedRealtimeMs, uptimeMs);
- mTmpRailStats.resetWifiTotalEnergyUsed();
if (uidEstimatedConsumptionMah != null) {
totalEstimatedConsumptionMah = Math.max(controllerMaMs / MILLISECONDS_IN_HOUR,