diff options
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/app/Activity.java | 5 | ||||
| -rw-r--r-- | core/java/android/app/Dialog.java | 2 | ||||
| -rw-r--r-- | core/java/android/view/Window.java | 9 |
3 files changed, 11 insertions, 5 deletions
diff --git a/core/java/android/app/Activity.java b/core/java/android/app/Activity.java index e4880b0f6a43..e28e74335036 100644 --- a/core/java/android/app/Activity.java +++ b/core/java/android/app/Activity.java @@ -2946,8 +2946,11 @@ public class Activity extends ContextThemeWrapper * @hide */ @Override - public void onWindowDismissed(boolean finishTask) { + public void onWindowDismissed(boolean finishTask, boolean suppressWindowTransition) { finish(finishTask ? FINISH_TASK_WITH_ACTIVITY : DONT_FINISH_TASK_WITH_ACTIVITY); + if (suppressWindowTransition) { + overridePendingTransition(0, 0); + } } diff --git a/core/java/android/app/Dialog.java b/core/java/android/app/Dialog.java index f29e576ff215..9c1778010f43 100644 --- a/core/java/android/app/Dialog.java +++ b/core/java/android/app/Dialog.java @@ -744,7 +744,7 @@ public class Dialog implements DialogInterface, Window.Callback, /** @hide */ @Override - public void onWindowDismissed(boolean finishTask) { + public void onWindowDismissed(boolean finishTask, boolean suppressWindowTransition) { dismiss(); } diff --git a/core/java/android/view/Window.java b/core/java/android/view/Window.java index 1cca0742877f..a36127db559f 100644 --- a/core/java/android/view/Window.java +++ b/core/java/android/view/Window.java @@ -581,8 +581,10 @@ public abstract class Window { * Called when a window is dismissed. This informs the callback that the * window is gone, and it should finish itself. * @param finishTask True if the task should also be finished. + * @param suppressWindowTransition True if the resulting exit and enter window transition + * animations should be suppressed. */ - void onWindowDismissed(boolean finishTask); + void onWindowDismissed(boolean finishTask, boolean suppressWindowTransition); } /** @hide */ @@ -871,9 +873,10 @@ public abstract class Window { } /** @hide */ - public final void dispatchOnWindowDismissed(boolean finishTask) { + public final void dispatchOnWindowDismissed( + boolean finishTask, boolean suppressWindowTransition) { if (mOnWindowDismissedCallback != null) { - mOnWindowDismissedCallback.onWindowDismissed(finishTask); + mOnWindowDismissedCallback.onWindowDismissed(finishTask, suppressWindowTransition); } } |
