summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2020-06-17 22:34:54 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2020-06-17 22:34:54 +0000
commit09e4a6cff6338597ec5e69fad046be4090b30f6c (patch)
tree6dfa3aef5e1edec4a2d5abee8fe2ec1bd67bc225
parent85f2f3cd04821bb25fa17377adda20203f781a8d (diff)
parent3301d43967656f18fb206439909d25bb3c870f4a (diff)
Merge "add dream start/stop logs" into rvc-dev am: 8b5b71ddd9 am: cb549069ec am: 448244b352 am: 3301d43967
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11897359 Change-Id: Ifa295ff5a03807ce25b6337da664580e8dbcaacd
-rw-r--r--services/core/java/com/android/server/dreams/DreamManagerService.java35
1 files changed, 35 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/dreams/DreamManagerService.java b/services/core/java/com/android/server/dreams/DreamManagerService.java
index 769956d797b0..e3eeb6c41d9f 100644
--- a/services/core/java/com/android/server/dreams/DreamManagerService.java
+++ b/services/core/java/com/android/server/dreams/DreamManagerService.java
@@ -47,6 +47,10 @@ import android.service.dreams.IDreamManager;
import android.util.Slog;
import android.view.Display;
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.logging.UiEvent;
+import com.android.internal.logging.UiEventLogger;
+import com.android.internal.logging.UiEventLoggerImpl;
import com.android.internal.util.DumpUtils;
import com.android.server.FgThread;
import com.android.server.LocalServices;
@@ -77,6 +81,8 @@ public final class DreamManagerService extends SystemService {
private final PowerManagerInternal mPowerManagerInternal;
private final PowerManager.WakeLock mDozeWakeLock;
private final ActivityTaskManagerInternal mAtmInternal;
+ private final UiEventLogger mUiEventLogger;
+ private final ComponentName mAmbientDisplayComponent;
private Binder mCurrentDreamToken;
private ComponentName mCurrentDreamName;
@@ -91,6 +97,26 @@ public final class DreamManagerService extends SystemService {
private AmbientDisplayConfiguration mDozeConfig;
+ @VisibleForTesting
+ public enum DreamManagerEvent implements UiEventLogger.UiEventEnum {
+ @UiEvent(doc = "The screensaver has started.")
+ DREAM_START(577),
+
+ @UiEvent(doc = "The screensaver has stopped.")
+ DREAM_STOP(578);
+
+ private final int mId;
+
+ DreamManagerEvent(int id) {
+ mId = id;
+ }
+
+ @Override
+ public int getId() {
+ return mId;
+ }
+ }
+
public DreamManagerService(Context context) {
super(context);
mContext = context;
@@ -102,6 +128,9 @@ public final class DreamManagerService extends SystemService {
mAtmInternal = getLocalService(ActivityTaskManagerInternal.class);
mDozeWakeLock = mPowerManager.newWakeLock(PowerManager.DOZE_WAKE_LOCK, TAG);
mDozeConfig = new AmbientDisplayConfiguration(mContext);
+ mUiEventLogger = new UiEventLoggerImpl();
+ AmbientDisplayConfiguration adc = new AmbientDisplayConfiguration(mContext);
+ mAmbientDisplayComponent = ComponentName.unflattenFromString(adc.ambientDisplayComponent());
}
@Override
@@ -388,6 +417,9 @@ public final class DreamManagerService extends SystemService {
.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "startDream");
mHandler.post(wakeLock.wrap(() -> {
mAtmInternal.notifyDreamStateChanged(true);
+ if (!mCurrentDreamName.equals(mAmbientDisplayComponent)) {
+ mUiEventLogger.log(DreamManagerEvent.DREAM_START);
+ }
mController.startDream(newToken, name, isTest, canDoze, userId, wakeLock);
}));
}
@@ -415,6 +447,9 @@ public final class DreamManagerService extends SystemService {
}
private void cleanupDreamLocked() {
+ if (!mCurrentDreamName.equals(mAmbientDisplayComponent)) {
+ mUiEventLogger.log(DreamManagerEvent.DREAM_STOP);
+ }
mCurrentDreamToken = null;
mCurrentDreamName = null;
mCurrentDreamIsTest = false;