diff --git a/services/core/java/com/android/server/dreams/DreamController.java b/services/core/java/com/android/server/dreams/DreamController.java index f87a1461f9d2c..61f7928095252 100644 --- a/services/core/java/com/android/server/dreams/DreamController.java +++ b/services/core/java/com/android/server/dreams/DreamController.java @@ -244,8 +244,6 @@ final class DreamController { } mListener.onDreamStopped(dream.mToken); - } else if (dream.mCanDoze && !mCurrentDream.mCanDoze) { - mListener.stopDozing(dream.mToken); } } finally { @@ -292,7 +290,6 @@ final class DreamController { */ public interface Listener { void onDreamStopped(Binder token); - void stopDozing(Binder token); } private final class DreamRecord implements DeathRecipient, ServiceConnection { diff --git a/services/core/java/com/android/server/dreams/DreamManagerService.java b/services/core/java/com/android/server/dreams/DreamManagerService.java index 148b80ea0447c..5b375d70e4368 100644 --- a/services/core/java/com/android/server/dreams/DreamManagerService.java +++ b/services/core/java/com/android/server/dreams/DreamManagerService.java @@ -499,12 +499,7 @@ public final class DreamManagerService extends SystemService { } synchronized (mLock) { - if (mCurrentDream == null) { - return; - } - - final boolean sameDream = mCurrentDream.token == token; - if ((sameDream && mCurrentDream.isDozing) || (!sameDream && !mCurrentDream.isDozing)) { + if (mCurrentDream != null && mCurrentDream.token == token && mCurrentDream.isDozing) { mCurrentDream.isDozing = false; mDozeWakeLock.release(); mPowerManagerInternal.setDozeOverrideFromDreamManager( @@ -665,6 +660,10 @@ public final class DreamManagerService extends SystemService { Slog.i(TAG, "Entering dreamland."); + if (mCurrentDream != null && mCurrentDream.isDozing) { + stopDozingInternal(mCurrentDream.token); + } + mCurrentDream = new DreamRecord(name, userId, isPreviewMode, canDoze); if (!mCurrentDream.name.equals(mAmbientDisplayComponent)) { @@ -770,11 +769,6 @@ public final class DreamManagerService extends SystemService { } } } - - @Override - public void stopDozing(Binder token) { - stopDozingInternal(token); - } }; private final ContentObserver mDozeEnabledObserver = new ContentObserver(null) {