diff options
| -rw-r--r-- | services/core/java/com/android/server/dreams/DreamController.java | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/dreams/DreamController.java b/services/core/java/com/android/server/dreams/DreamController.java index 3bc4b543750e..3e2efdd7db85 100644 --- a/services/core/java/com/android/server/dreams/DreamController.java +++ b/services/core/java/com/android/server/dreams/DreamController.java @@ -158,15 +158,14 @@ final class DreamController { 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)) { + 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); + } else { + mPreviousDreams.add(oldDream); } } |