Loading core/java/android/app/Dialog.java +5 −0 Original line number Diff line number Diff line Loading @@ -185,6 +185,11 @@ public class Dialog implements DialogInterface, Window.Callback, mWindow = w; w.setCallback(this); w.setOnWindowDismissedCallback(this); w.setOnWindowSwipeDismissedCallback(() -> { if (mCancelable) { cancel(); } }); w.setWindowManager(mWindowManager, null, null); w.setGravity(Gravity.CENTER); Loading core/java/android/view/Window.java +25 −0 Original line number Diff line number Diff line Loading @@ -275,6 +275,7 @@ public abstract class Window { private TypedArray mWindowStyle; private Callback mCallback; private OnWindowDismissedCallback mOnWindowDismissedCallback; private OnWindowSwipeDismissedCallback mOnWindowSwipeDismissedCallback; private WindowControllerCallback mWindowControllerCallback; private OnRestrictedCaptionAreaChangedListener mOnRestrictedCaptionAreaChangedListener; private Rect mRestrictedCaptionAreaRect; Loading Loading @@ -587,6 +588,18 @@ public abstract class Window { void onWindowDismissed(boolean finishTask, boolean suppressWindowTransition); } /** @hide */ public interface OnWindowSwipeDismissedCallback { /** * Called when a window is swipe 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 onWindowSwipeDismissed(); } /** @hide */ public interface WindowControllerCallback { /** Loading Loading @@ -880,6 +893,18 @@ public abstract class Window { } } /** @hide */ public final void setOnWindowSwipeDismissedCallback(OnWindowSwipeDismissedCallback sdcb) { mOnWindowSwipeDismissedCallback = sdcb; } /** @hide */ public final void dispatchOnWindowSwipeDismissed() { if (mOnWindowSwipeDismissedCallback != null) { mOnWindowSwipeDismissedCallback.onWindowSwipeDismissed(); } } /** @hide */ public final void setWindowControllerCallback(WindowControllerCallback wccb) { mWindowControllerCallback = wccb; Loading core/java/com/android/internal/policy/PhoneWindow.java +1 −0 Original line number Diff line number Diff line Loading @@ -2990,6 +2990,7 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { swipeDismiss.setOnDismissedListener(new SwipeDismissLayout.OnDismissedListener() { @Override public void onDismissed(SwipeDismissLayout layout) { dispatchOnWindowSwipeDismissed(); dispatchOnWindowDismissed(false /*finishTask*/, true /*suppressWindowTransition*/); } }); Loading Loading
core/java/android/app/Dialog.java +5 −0 Original line number Diff line number Diff line Loading @@ -185,6 +185,11 @@ public class Dialog implements DialogInterface, Window.Callback, mWindow = w; w.setCallback(this); w.setOnWindowDismissedCallback(this); w.setOnWindowSwipeDismissedCallback(() -> { if (mCancelable) { cancel(); } }); w.setWindowManager(mWindowManager, null, null); w.setGravity(Gravity.CENTER); Loading
core/java/android/view/Window.java +25 −0 Original line number Diff line number Diff line Loading @@ -275,6 +275,7 @@ public abstract class Window { private TypedArray mWindowStyle; private Callback mCallback; private OnWindowDismissedCallback mOnWindowDismissedCallback; private OnWindowSwipeDismissedCallback mOnWindowSwipeDismissedCallback; private WindowControllerCallback mWindowControllerCallback; private OnRestrictedCaptionAreaChangedListener mOnRestrictedCaptionAreaChangedListener; private Rect mRestrictedCaptionAreaRect; Loading Loading @@ -587,6 +588,18 @@ public abstract class Window { void onWindowDismissed(boolean finishTask, boolean suppressWindowTransition); } /** @hide */ public interface OnWindowSwipeDismissedCallback { /** * Called when a window is swipe 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 onWindowSwipeDismissed(); } /** @hide */ public interface WindowControllerCallback { /** Loading Loading @@ -880,6 +893,18 @@ public abstract class Window { } } /** @hide */ public final void setOnWindowSwipeDismissedCallback(OnWindowSwipeDismissedCallback sdcb) { mOnWindowSwipeDismissedCallback = sdcb; } /** @hide */ public final void dispatchOnWindowSwipeDismissed() { if (mOnWindowSwipeDismissedCallback != null) { mOnWindowSwipeDismissedCallback.onWindowSwipeDismissed(); } } /** @hide */ public final void setWindowControllerCallback(WindowControllerCallback wccb) { mWindowControllerCallback = wccb; Loading
core/java/com/android/internal/policy/PhoneWindow.java +1 −0 Original line number Diff line number Diff line Loading @@ -2990,6 +2990,7 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { swipeDismiss.setOnDismissedListener(new SwipeDismissLayout.OnDismissedListener() { @Override public void onDismissed(SwipeDismissLayout layout) { dispatchOnWindowSwipeDismissed(); dispatchOnWindowDismissed(false /*finishTask*/, true /*suppressWindowTransition*/); } }); Loading