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

Commit 37632bb6 authored by Mady Mellor's avatar Mady Mellor
Browse files

Collapse the stack on clicks rather than on down

Fixes an issue where you'd collapse the bubble
accidentally when performing back gesture in the padding
around the expanded view.

This means things will hide 'on up' rather than 'on down'
but I think that's fine / more expected behavior.

Removed some old code.

Test: manual - expand the bubble stack, open a 2nd activity in the
               bubble, perform gesture back => 2nd activity goes
               away & the bubble doesn't collapse
Bug: 190102948
Change-Id: I016bd9b3091938974f3330f4d005d4ef6bcccfee
parent 1746c1e3
Loading
Loading
Loading
Loading
+0 −21
Original line number Diff line number Diff line
@@ -290,27 +290,6 @@ public class BubbleExpandedView extends LinearLayout {
        applyThemeAttrs();

        setClipToPadding(false);
        setOnTouchListener((view, motionEvent) -> {
            if (mTaskView == null) {
                return false;
            }

            final Rect avBounds = new Rect();
            mTaskView.getBoundsOnScreen(avBounds);

            // Consume and ignore events on the expanded view padding that are within the
            // ActivityView's vertical bounds. These events are part of a back gesture, and so they
            // should not collapse the stack (which all other touches on areas around the AV would
            // do).
            if (motionEvent.getRawY() >= avBounds.top
                            && motionEvent.getRawY() <= avBounds.bottom
                            && (motionEvent.getRawX() < avBounds.left
                                || motionEvent.getRawX() > avBounds.right)) {
                return true;
            }

            return false;
        });

        // BubbleStackView is forced LTR, but we want to respect the locale for expanded view layout
        // so the Manage button appears on the right.
+9 −13
Original line number Diff line number Diff line
@@ -932,10 +932,9 @@ public class BubbleStackView extends FrameLayout
            }
        });

        // If the stack itself is touched, it means none of its touchable views (bubbles, flyouts,
        // ActivityViews, etc.) were touched. Collapse the stack if it's expanded.
        setOnTouchListener((view, ev) -> {
            if (ev.getAction() == MotionEvent.ACTION_DOWN) {
        // If the stack itself is clicked, it means none of its touchable views (bubbles, flyouts,
         // TaskView, etc.) were touched. Collapse the stack if it's expanded.
        setOnClickListener(view -> {
            if (mShowingManage) {
                showManageMenu(false /* show */);
            } else if (mStackEduView != null && mStackEduView.getVisibility() == VISIBLE) {
@@ -943,9 +942,6 @@ public class BubbleStackView extends FrameLayout
            } else if (mBubbleData.isExpanded()) {
                mBubbleData.setExpanded(false);
            }
            }

            return true;
        });

        animate()