summaryrefslogtreecommitdiffstats
path: root/core/java/android/service
diff options
context:
space:
mode:
authorJeff Brown <jeffbrown@google.com>2014-04-11 03:49:37 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-04-11 03:49:37 +0000
commit337e764debde56b1462fb5f2794b3e917d8a42e2 (patch)
tree5a2b4e77654a0897408f04e429045e49359a0e4b /core/java/android/service
parentcd5e3f85fc9228b943ee8dfda0951e068953596c (diff)
parentf24687e2731811fd0e3803b691fd47a659f89329 (diff)
downloadframeworks_base-337e764debde56b1462fb5f2794b3e917d8a42e2.zip
frameworks_base-337e764debde56b1462fb5f2794b3e917d8a42e2.tar.gz
frameworks_base-337e764debde56b1462fb5f2794b3e917d8a42e2.tar.bz2
am f24687e2: Merge "Plumb display power state through display manager." into klp-modular-dev
* commit 'f24687e2731811fd0e3803b691fd47a659f89329': Plumb display power state through display manager.
Diffstat (limited to 'core/java/android/service')
-rw-r--r--core/java/android/service/dreams/DreamService.java18
1 files changed, 14 insertions, 4 deletions
diff --git a/core/java/android/service/dreams/DreamService.java b/core/java/android/service/dreams/DreamService.java
index de9eeff..2303d65 100644
--- a/core/java/android/service/dreams/DreamService.java
+++ b/core/java/android/service/dreams/DreamService.java
@@ -789,10 +789,20 @@ public class DreamService extends Service implements Window.Callback {
return;
}
- // start it up
- if (mDebug) Slog.v(TAG, "Calling onDreamingStarted()");
- mStarted = true;
- onDreamingStarted();
+ // We need to defer calling onDreamingStarted until after onWindowAttached,
+ // which is posted to the handler by addView, so we post onDreamingStarted
+ // to the handler also. Need to watch out here in case detach occurs before
+ // this callback is invoked.
+ mHandler.post(new Runnable() {
+ @Override
+ public void run() {
+ if (mWindow != null) {
+ if (mDebug) Slog.v(TAG, "Calling onDreamingStarted()");
+ mStarted = true;
+ onDreamingStarted();
+ }
+ }
+ });
}
private void safelyFinish() {