Resolved a bug which gives negative battery values on process being killed and re... 05/101105/1
authorKunal <kunal.chawla@samsung.com>
Wed, 30 Nov 2016 08:51:38 +0000 (17:51 +0900)
committerKunal <kunal.chawla@samsung.com>
Wed, 30 Nov 2016 08:51:38 +0000 (17:51 +0900)
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 <kunal.chawla@samsung.com>
src/battery-stats/BatteryUsageAnalyzer.cpp

index 73f1b2c..66dd430 100644 (file)
@@ -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);