summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/service/dreams/DreamService.java12
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
}