From e3b4dfae6f6063ffbcc5d105fa54888b7e3873f7 Mon Sep 17 00:00:00 2001
From: Todd Poynor <toddpoynor@google.com>
Date: Fri, 16 Dec 2011 16:02:51 -0800
Subject: Android OS battery usage overstated by screen on time

Change-Id: Icbc4b3ecf91bdbb90da3ee0cf1c68bec953d0177
Signed-off-by: Todd Poynor <toddpoynor@google.com>
---
 src/com/android/settings/fuelgauge/PowerUsageSummary.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/com/android/settings/fuelgauge/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
index 6312682..b813ec6 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageSummary.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
@@ -579,11 +579,12 @@ public class PowerUsageSummary extends PreferenceFragment implements Runnable {
         if (osApp != null) {
             long wakeTimeMillis = mStats.computeBatteryUptime(
                     SystemClock.uptimeMillis() * 1000, which) / 1000;
-            wakeTimeMillis -= appWakelockTime - (mStats.getScreenOnTime(
+            wakeTimeMillis -= appWakelockTime + (mStats.getScreenOnTime(
                     SystemClock.elapsedRealtime(), which) / 1000);
             if (wakeTimeMillis > 0) {
                 double power = (wakeTimeMillis
                         * mPowerProfile.getAveragePower(PowerProfile.POWER_CPU_AWAKE)) / 1000;
+                if (DEBUG) Log.i(TAG, "OS wakeLockTime " + wakeTimeMillis + " power " + power);
                 osApp.wakeLockTime += wakeTimeMillis;
                 osApp.value += power;
                 osApp.values[0] += power;
-- 
cgit v1.1