Android OS battery usage overstated by screen on time

Change-Id: Icbc4b3ecf91bdbb90da3ee0cf1c68bec953d0177
Signed-off-by: Todd Poynor <toddpoynor@google.com>
This commit is contained in:
Todd Poynor
2011-12-16 16:02:51 -08:00
parent 99308097a1
commit 103b28073a

View File

@@ -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;