diff options
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/app/Activity.java | 7 | ||||
| -rw-r--r-- | core/java/android/app/Dialog.java | 4 | ||||
| -rw-r--r-- | core/java/android/service/dreams/DreamService.java | 4 | ||||
| -rw-r--r-- | core/java/android/view/Window.java | 13 |
4 files changed, 27 insertions, 1 deletions
diff --git a/core/java/android/app/Activity.java b/core/java/android/app/Activity.java index d6db8c2a0d13..ec58fb0be2e0 100644 --- a/core/java/android/app/Activity.java +++ b/core/java/android/app/Activity.java @@ -2402,6 +2402,13 @@ public class Activity extends ContextThemeWrapper } return false; } + + /** + * Called when the main window associated with the activity has been dismissed. + */ + public void onWindowDismissed() { + finish(); + } /** * Called to process key events. You can override this to intercept all diff --git a/core/java/android/app/Dialog.java b/core/java/android/app/Dialog.java index cda2c5f3b7c5..a8277b5e7018 100644 --- a/core/java/android/app/Dialog.java +++ b/core/java/android/app/Dialog.java @@ -695,6 +695,10 @@ public class Dialog implements DialogInterface, Window.Callback, public void onDetachedFromWindow() { } + + public void onWindowDismissed() { + dismiss(); + } /** * Called to process key events. You can override this to intercept all diff --git a/core/java/android/service/dreams/DreamService.java b/core/java/android/service/dreams/DreamService.java index 1abb1d72a98b..7647c2258270 100644 --- a/core/java/android/service/dreams/DreamService.java +++ b/core/java/android/service/dreams/DreamService.java @@ -300,6 +300,10 @@ public class DreamService extends Service implements Window.Callback { public void onDetachedFromWindow() { } + @Override + public void onWindowDismissed() { + } + /** {@inheritDoc} */ @Override public void onPanelClosed(int featureId, Menu menu) { diff --git a/core/java/android/view/Window.java b/core/java/android/view/Window.java index b3a069935d99..c450f3c37e9a 100644 --- a/core/java/android/view/Window.java +++ b/core/java/android/view/Window.java @@ -91,10 +91,15 @@ public abstract class Window { public static final int FEATURE_ACTION_MODE_OVERLAY = 10; /** + * Flag for requesting a decoration-free window that is dismissed by swiping from the left. + */ + public static final int FEATURE_SWIPE_TO_DISMISS = 11; + + /** * Max value used as a feature ID * @hide */ - public static final int FEATURE_MAX = FEATURE_ACTION_MODE_OVERLAY; + public static final int FEATURE_MAX = FEATURE_SWIPE_TO_DISMISS; /** Flag for setting the progress bar's visibility to VISIBLE */ public static final int PROGRESS_VISIBILITY_ON = -1; @@ -385,6 +390,12 @@ public abstract class Window { * @param mode The mode that was just finished. */ public void onActionModeFinished(ActionMode mode); + + /** + * Called when a window is dismissed. This informs the callback that the + * window is gone, and it should finish itself. + */ + public void onWindowDismissed(); } public Window(Context context) { |
