diff options
| -rw-r--r-- | core/java/android/service/dreams/DreamService.java | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/core/java/android/service/dreams/DreamService.java b/core/java/android/service/dreams/DreamService.java index d4547167ce87..74545a8b25ff 100644 --- a/core/java/android/service/dreams/DreamService.java +++ b/core/java/android/service/dreams/DreamService.java @@ -1346,7 +1346,11 @@ public class DreamService extends Service implements Window.Callback { Slog.w(mTag, "WakeUp was called before the dream was attached."); } else { try { - mDreamManager.finishSelf(mDreamToken, false /*immediate*/); + if (startAndStopDozingInBackground()) { + mDreamManager.finishSelfOneway(mDreamToken, false /*immediate*/); + } else { + mDreamManager.finishSelf(mDreamToken, false /*immediate*/); + } } catch (RemoteException ex) { // system server died } @@ -1497,7 +1501,11 @@ public class DreamService extends Service implements Window.Callback { if (mFinished || mWaking) { Slog.w(mTag, "attach() called after dream already finished"); try { - mDreamManager.finishSelf(dreamToken, true /*immediate*/); + if (startAndStopDozingInBackground()) { + mDreamManager.finishSelfOneway(dreamToken, true /*immediate*/); + } else { + mDreamManager.finishSelf(dreamToken, true /*immediate*/); + } } catch (RemoteException ex) { // system server died } |