diff options
| -rw-r--r-- | core/java/android/service/dreams/DreamService.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/core/java/android/service/dreams/DreamService.java b/core/java/android/service/dreams/DreamService.java index 0db97718b693..3f0787350075 100644 --- a/core/java/android/service/dreams/DreamService.java +++ b/core/java/android/service/dreams/DreamService.java @@ -900,10 +900,11 @@ public class DreamService extends Service implements Window.Callback { public final void finish() { if (mDebug) Slog.v(TAG, "finish(): mFinished=" + mFinished); - if (mActivity != null) { - if (!mActivity.isFinishing()) { + Activity activity = mActivity; + if (activity != null) { + if (!activity.isFinishing()) { // In case the activity is not finished yet, do it now. - mActivity.finishAndRemoveTask(); + activity.finishAndRemoveTask(); } return; } @@ -1106,6 +1107,7 @@ public class DreamService extends Service implements Window.Callback { @Override public void onViewDetachedFromWindow(View v) { + mActivity = null; finish(); } }); |