summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Makoto Onuki <omakoto@google.com> 2018-03-16 09:24:36 -0700
committer Makoto Onuki <omakoto@google.com> 2018-03-16 09:31:36 -0700
commit7025c3c391d06de07dc7e12ab7ca033c35dd6599 (patch)
treef21e2a40aa694b3192390d02a8542bb582313427
parent65e2dda7f8bec81822d5dcafc4c5a0b536cda4e3 (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.java43
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);