diff --git a/core/java/android/service/dreams/DreamActivity.java b/core/java/android/service/dreams/DreamActivity.java index a2fa1392b0796..a3892238f1e6a 100644 --- a/core/java/android/service/dreams/DreamActivity.java +++ b/core/java/android/service/dreams/DreamActivity.java @@ -58,11 +58,13 @@ public class DreamActivity extends Activity { setTitle(title); } - final Bundle extras = getIntent().getExtras(); - mCallback = (DreamService.DreamActivityCallbacks) extras.getBinder(EXTRA_CALLBACK); - - if (mCallback != null) { + final Object callback = getIntent().getExtras().getBinder(EXTRA_CALLBACK); + if (callback instanceof DreamService.DreamActivityCallbacks) { + mCallback = (DreamService.DreamActivityCallbacks) callback; mCallback.onActivityCreated(this); + } else { + mCallback = null; + finishAndRemoveTask(); } }