From d870eba93204766d38d90d1661ddda62ce388a0c Mon Sep 17 00:00:00 2001 From: Kunal Date: Wed, 30 Nov 2016 17:51:38 +0900 Subject: [PATCH] Resolved a bug which gives negative battery values on process being killed and re-launched When an app is killed and re-launched,the CPU times are reset, the difference is negative, so checked for non-negative differences Change-Id: Ib1611fcb5ea05295990bd3f127a24abf7a2df5c4 Signed-off-by: Kunal --- src/battery-stats/BatteryUsageAnalyzer.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/battery-stats/BatteryUsageAnalyzer.cpp b/src/battery-stats/BatteryUsageAnalyzer.cpp index 73f1b2c..66dd430 100644 --- a/src/battery-stats/BatteryUsageAnalyzer.cpp +++ b/src/battery-stats/BatteryUsageAnalyzer.cpp @@ -81,6 +81,13 @@ bool BatteryUsageAnalyzer::calculateBatteryUsage(int lastTime, int currTime, std prevUtime = (lastAppCpuUsage->second).utime; prevStime = (lastAppCpuUsage->second).stime; + // If the app is killed and launched again + if (prevStime > stime || prevUtime > utime) { + prevUtime = 0; + prevStime = 0; + prevTimestamp = lastTime; + } + Json row; row.set(NULL, BATTERY_APP_ID, appId); row.set(NULL, BATTERY_START_TIME, prevTimestamp); -- 2.34.1