diff options
| author | 2018-03-16 09:24:36 -0700 | |
|---|---|---|
| committer | 2018-03-16 09:31:36 -0700 | |
| commit | 7025c3c391d06de07dc7e12ab7ca033c35dd6599 (patch) | |
| tree | f21e2a40aa694b3192390d02a8542bb582313427 | |
| parent | 65e2dda7f8bec81822d5dcafc4c5a0b536cda4e3 (diff) | |
Also show "last BS off time" in dumpsys power
Change-Id: I53d7727847b84b29bdc8285c50ce59def4378684
Fix: 75024658
Bug: 75024658
Test: Manual test with dumpsys power
Test: atest $ANDROID_BUILD_TOP/frameworks/base/services/tests/servicestests/src/com/android/server/power/batterysaver/BatterySavingStatsTest.java
| -rw-r--r-- | services/core/java/com/android/server/power/batterysaver/BatterySavingStats.java | 43 |
1 files changed, 30 insertions, 13 deletions
diff --git a/services/core/java/com/android/server/power/batterysaver/BatterySavingStats.java b/services/core/java/com/android/server/power/batterysaver/BatterySavingStats.java index 4fd86860d8f9..05549e70cd1c 100644 --- a/services/core/java/com/android/server/power/batterysaver/BatterySavingStats.java +++ b/services/core/java/com/android/server/power/batterysaver/BatterySavingStats.java @@ -163,8 +163,14 @@ public class BatterySavingStats { private int mBatterySaverEnabledCount = 0; @GuardedBy("mLock") + private boolean mIsBatterySaverEnabled; + + @GuardedBy("mLock") private long mLastBatterySaverEnabledTime = 0; + @GuardedBy("mLock") + private long mLastBatterySaverDisabledTime = 0; + private final MetricsLoggerHelper mMetricsLoggerHelper = new MetricsLoggerHelper(); @VisibleForTesting @@ -312,11 +318,12 @@ public class BatterySavingStats { final boolean newBatterySaverEnabled = BatterySaverState.fromIndex(newState) != BatterySaverState.OFF; if (oldBatterySaverEnabled != newBatterySaverEnabled) { + mIsBatterySaverEnabled = newBatterySaverEnabled; if (newBatterySaverEnabled) { mBatterySaverEnabledCount++; mLastBatterySaverEnabledTime = injectCurrentTime(); } else { - mLastBatterySaverEnabledTime = 0; + mLastBatterySaverDisabledTime = injectCurrentTime(); } } @@ -391,25 +398,35 @@ public class BatterySavingStats { indent = indent + " "; - pw.print(indent); - pw.print("Battery Saver state: "); - if (mLastBatterySaverEnabledTime == 0) { - pw.print("OFF"); - } else { - pw.print("ON since "); - - final long now = System.currentTimeMillis(); - final long nowElapsed = injectCurrentTime(); + final long now = System.currentTimeMillis(); + final long nowElapsed = injectCurrentTime(); + final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); + pw.print(indent); + pw.print("Battery Saver is currently: "); + pw.println(mIsBatterySaverEnabled ? "ON" : "OFF"); + if (mLastBatterySaverEnabledTime > 0) { + pw.print(indent); + pw.print(" "); + pw.print("Last ON time: "); pw.print(sdf.format(new Date(now - nowElapsed + mLastBatterySaverEnabledTime))); - pw.print(" "); TimeUtils.formatDuration(mLastBatterySaverEnabledTime, nowElapsed, pw); + pw.println(); + } + + if (mLastBatterySaverDisabledTime > 0) { + pw.print(indent); + pw.print(" "); + pw.print("Last OFF time: "); + pw.print(sdf.format(new Date(now - nowElapsed + mLastBatterySaverDisabledTime))); + pw.print(" "); + TimeUtils.formatDuration(mLastBatterySaverDisabledTime, nowElapsed, pw); + pw.println(); } - pw.println(); pw.print(indent); + pw.print(" "); pw.print("Times enabled: "); pw.println(mBatterySaverEnabledCount); |