From f434d23a16b34e7815049db29bbcd0cd8a4e4862 Mon Sep 17 00:00:00 2001 From: Chris Wren Date: Thu, 11 Oct 2012 03:07:20 -0400 Subject: [PATCH] delay onDreamingStarted() to work around asynchrony. Bug: 7328682 Change-Id: I86144b0b34eade332543244bb3aff5f9695ff7f7 --- .../android/service/dreams/DreamService.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/core/java/android/service/dreams/DreamService.java b/core/java/android/service/dreams/DreamService.java index c72b714bf3748..4820c5ea61da4 100644 --- a/core/java/android/service/dreams/DreamService.java +++ b/core/java/android/service/dreams/DreamService.java @@ -612,18 +612,23 @@ public class DreamService extends Service implements Window.Callback { View.SYSTEM_UI_FLAG_LOW_PROFILE); getWindowManager().addView(mWindow.getDecorView(), mWindow.getAttributes()); } catch (Throwable t) { - Slog.w("Crashed adding window view", t); + Slog.w(TAG, "Crashed adding window view", t); safelyFinish(); return; } // start it up - try { - onDreamingStarted(); - } catch (Throwable t) { - Slog.w("Crashed in onDreamingStarted()", t); - safelyFinish(); - } + mHandler.post(new Runnable() { + @Override + public void run() { + try { + onDreamingStarted(); + } catch (Throwable t) { + Slog.w(TAG, "Crashed in onDreamingStarted()", t); + safelyFinish(); + } + } + }); } private void safelyFinish() {