Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 445e1c5d authored by Alan Viverette's avatar Alan Viverette Committed by Android (Google) Code Review
Browse files

Merge "Improve handling of activity destroy during popup exit animation"

parents f5518776 df4639a0
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -160,14 +160,14 @@ public class PopupWindow {
    private final EpicenterCallback mEpicenterCallback = new EpicenterCallback() {
        @Override
        public Rect onGetEpicenter(Transition transition) {
            final View anchor = mAnchor.get();
            final View anchor = mAnchor != null ? mAnchor.get() : null;
            final View decor = mDecorView;
            if (anchor == null || decor == null) {
                return null;
            }

            final Rect anchorBounds = mAnchorBounds;
            final int[] anchorLocation = mAnchor.get().getLocationOnScreen();
            final int[] anchorLocation = anchor.getLocationOnScreen();
            final int[] popupLocation = mDecorView.getLocationOnScreen();

            // Compute the position of the anchor relative to the popup.
@@ -1632,8 +1632,14 @@ public class PopupWindow {
     * view hierarchy, if necessary.
     */
    private void dismissImmediate(View contentView) {
        if (mDecorView == null || mBackgroundView == null) {
            throw new RuntimeException("Popup window already dismissed");
        }

        try {
            if (mDecorView.isAttachedToWindow()) {
                mWindowManager.removeViewImmediate(mDecorView);
            }
        } finally {
            mDecorView.removeView(mBackgroundView);
            mDecorView = null;