diff --git a/services/core/java/com/android/server/dreams/DreamController.java b/services/core/java/com/android/server/dreams/DreamController.java index d7306b732785f..66fe019593669 100644 --- a/services/core/java/com/android/server/dreams/DreamController.java +++ b/services/core/java/com/android/server/dreams/DreamController.java @@ -294,8 +294,6 @@ final class DreamController { new int[] {ACTIVITY_TYPE_DREAM}); mListener.onDreamStopped(dream.mToken); - } else if (dream.mCanDoze && !mCurrentDream.mCanDoze) { - mListener.stopDozing(dream.mToken); } } finally { @@ -343,7 +341,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 caa5036638806..7802b9d24de9e 100644 --- a/services/core/java/com/android/server/dreams/DreamManagerService.java +++ b/services/core/java/com/android/server/dreams/DreamManagerService.java @@ -500,12 +500,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( @@ -671,6 +666,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)) { @@ -776,11 +775,6 @@ public final class DreamManagerService extends SystemService { } } } - - @Override - public void stopDozing(Binder token) { - stopDozingInternal(token); - } }; private final ContentObserver mDozeEnabledObserver = new ContentObserver(null) {