summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Santos Cordon <santoscordon@google.com> 2021-06-18 15:50:04 +0100
committer Santos Cordon <santoscordon@google.com> 2021-06-18 17:22:21 +0100
commit94030711278af7d9a260d5732aa40dfe819494e8 (patch)
treebe95a616eb11112aca93d31f765158fe3ccec697
parent04350c57de611072638d51971caeac58aac1eedf (diff)
Log the saved historical HBM events.
HighBrightnessModeController saves all the previous HBM events within the HBM time window. This CL adds those events to dumpsys. Bug: 189384189 Test: Manually test and verify output of 'adb shell dumpsys display' Change-Id: I3cbd83b4fb4714cf697d2e7f29a00edfe6bdb1ed
-rw-r--r--services/core/java/com/android/server/display/DisplayDeviceConfig.java2
-rw-r--r--services/core/java/com/android/server/display/HighBrightnessModeController.java28
2 files changed, 29 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/display/DisplayDeviceConfig.java b/services/core/java/com/android/server/display/DisplayDeviceConfig.java
index 170564d145dc..47b2604dd70f 100644
--- a/services/core/java/com/android/server/display/DisplayDeviceConfig.java
+++ b/services/core/java/com/android/server/display/DisplayDeviceConfig.java
@@ -771,7 +771,7 @@ public class DisplayDeviceConfig {
+ ", transition: " + transitionPoint
+ ", timeWindow: " + timeWindowMillis + "ms"
+ ", timeMax: " + timeMaxMillis + "ms"
- + ", timeMin: " + timeMinMillis
+ + ", timeMin: " + timeMinMillis + "ms"
+ "} ";
}
}
diff --git a/services/core/java/com/android/server/display/HighBrightnessModeController.java b/services/core/java/com/android/server/display/HighBrightnessModeController.java
index b9487779dfd3..57a8c4b998ae 100644
--- a/services/core/java/com/android/server/display/HighBrightnessModeController.java
+++ b/services/core/java/com/android/server/display/HighBrightnessModeController.java
@@ -22,6 +22,7 @@ import android.os.IBinder;
import android.os.PowerManager;
import android.os.SystemClock;
import android.util.Slog;
+import android.util.TimeUtils;
import android.view.SurfaceControlHdrLayerInfoListener;
import com.android.internal.annotations.VisibleForTesting;
@@ -189,6 +190,10 @@ class HighBrightnessModeController {
}
void dump(PrintWriter pw) {
+ mHandler.runWithScissors(() -> dumpLocal(pw), 1000);
+ }
+
+ private void dumpLocal(PrintWriter pw) {
pw.println("HighBrightnessModeController:");
pw.println(" mCurrentMin=" + getCurrentBrightnessMin());
pw.println(" mCurrentMax=" + getCurrentBrightnessMax());
@@ -202,6 +207,29 @@ class HighBrightnessModeController {
pw.println(" mIsHdrLayerPresent=" + mIsHdrLayerPresent);
pw.println(" mBrightnessMin=" + mBrightnessMin);
pw.println(" mBrightnessMax=" + mBrightnessMax);
+ pw.println(" mRunningStartTimeMillis=" + TimeUtils.formatUptime(mRunningStartTimeMillis));
+ pw.println(" mEvents=");
+ final long currentTime = mClock.uptimeMillis();
+ long lastStartTime = currentTime;
+ if (mRunningStartTimeMillis != -1) {
+ lastStartTime = dumpHbmEvent(pw, new HbmEvent(mRunningStartTimeMillis, currentTime));
+ }
+ for (HbmEvent event : mEvents) {
+ if (lastStartTime > event.endTimeMillis) {
+ pw.println(" event: [normal brightness]: "
+ + TimeUtils.formatDuration(lastStartTime - event.endTimeMillis));
+ }
+ lastStartTime = dumpHbmEvent(pw, event);
+ }
+ }
+
+ private long dumpHbmEvent(PrintWriter pw, HbmEvent event) {
+ final long duration = event.endTimeMillis - event.startTimeMillis;
+ pw.println(" event: ["
+ + TimeUtils.formatUptime(event.startTimeMillis) + ", "
+ + TimeUtils.formatUptime(event.endTimeMillis) + "] ("
+ + TimeUtils.formatDuration(duration) + ")");
+ return event.startTimeMillis;
}
private boolean isCurrentlyAllowed() {