Loading services/core/java/com/android/server/dreams/DreamController.java +14 −3 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ import java.io.PrintWriter; import java.util.ArrayList; import java.util.Iterator; import java.util.NoSuchElementException; import java.util.Objects; /** * Internal controller for starting and stopping the current dream and managing related state. Loading Loading @@ -119,10 +120,20 @@ final class DreamController { + ", isPreviewMode=" + isPreviewMode + ", canDoze=" + canDoze + ", userId=" + userId + ", reason='" + reason + "'"); if (mCurrentDream != null) { mPreviousDreams.add(mCurrentDream); } final DreamRecord oldDream = mCurrentDream; mCurrentDream = new DreamRecord(token, name, isPreviewMode, canDoze, userId, wakeLock); if (oldDream != null) { if (!oldDream.mWakingGently) { // We will stop these previous dreams once the new dream is started. mPreviousDreams.add(oldDream); } else if (Objects.equals(oldDream.mName, mCurrentDream.mName)) { // We are attempting to start a dream that is currently waking up gently. // Let's silently stop the old instance here to clear the dream state. // This should happen after the new mCurrentDream is set to avoid announcing // a "dream stopped" state. stopDreamInstance(/* immediately */ true, "restarting same dream", oldDream); } } mCurrentDream.mDreamStartTime = SystemClock.elapsedRealtime(); MetricsLogger.visible(mContext, Loading Loading
services/core/java/com/android/server/dreams/DreamController.java +14 −3 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ import java.io.PrintWriter; import java.util.ArrayList; import java.util.Iterator; import java.util.NoSuchElementException; import java.util.Objects; /** * Internal controller for starting and stopping the current dream and managing related state. Loading Loading @@ -119,10 +120,20 @@ final class DreamController { + ", isPreviewMode=" + isPreviewMode + ", canDoze=" + canDoze + ", userId=" + userId + ", reason='" + reason + "'"); if (mCurrentDream != null) { mPreviousDreams.add(mCurrentDream); } final DreamRecord oldDream = mCurrentDream; mCurrentDream = new DreamRecord(token, name, isPreviewMode, canDoze, userId, wakeLock); if (oldDream != null) { if (!oldDream.mWakingGently) { // We will stop these previous dreams once the new dream is started. mPreviousDreams.add(oldDream); } else if (Objects.equals(oldDream.mName, mCurrentDream.mName)) { // We are attempting to start a dream that is currently waking up gently. // Let's silently stop the old instance here to clear the dream state. // This should happen after the new mCurrentDream is set to avoid announcing // a "dream stopped" state. stopDreamInstance(/* immediately */ true, "restarting same dream", oldDream); } } mCurrentDream.mDreamStartTime = SystemClock.elapsedRealtime(); MetricsLogger.visible(mContext, Loading