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

Commit 58a9c4b7 authored by Hyunyoung Song's avatar Hyunyoung Song
Browse files

Pull down should work on search box, even if all apps scroll is not at top.

b/30295305

Change-Id: I38bbe47d6e33929c550930c9f157c58fbea203ef
parent 598e1843
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -259,13 +259,19 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc
    /**
     * Returns whether the view itself will handle the touch event or not.
     */
    public boolean shouldContainerScroll(float x, float y) {
    public boolean shouldContainerScroll(MotionEvent ev) {
        int[] point = new int[2];
        point[0] = (int) x;
        point[1] = (int) y;
        point[0] = (int) ev.getX();
        point[1] = (int) ev.getY();
        Utilities.mapCoordInSelfToDescendent(mAppsRecyclerView, this, point);

        // if the MotionEvent is inside the thumb, container should not be pulled down.
        // IF the MotionEvent is inside the search box, and the container keeps on receiving
        // touch input, container should move down.
        if (mLauncher.getDragLayer().isEventOverView(mSearchContainer, ev)) {
            return true;
        }

        // IF the MotionEvent is inside the thumb, container should not be pulled down.
        if (mAppsRecyclerView.getScrollBar().isNearThumb(point[0], point[1])) {
            return false;
        }
+1 −1
Original line number Diff line number Diff line
@@ -111,7 +111,7 @@ public class AllAppsTransitionController implements TouchController, VerticalPul
            if (mLauncher.getWorkspace().isInOverviewMode() || mLauncher.isWidgetsViewVisible()) {
                mNoIntercept = true;
            } else if (mLauncher.isAllAppsVisible() &&
                    !mAppsView.shouldContainerScroll(ev.getX(), ev.getY())) {
                    !mAppsView.shouldContainerScroll(ev)) {
                mNoIntercept = true;
            } else if (!mLauncher.isAllAppsVisible() && !shouldPossiblyIntercept(ev)) {
                mNoIntercept = true;
+1 −1
Original line number Diff line number Diff line
@@ -207,7 +207,7 @@ public class DragLayer extends InsettableFrameLayout {
        return isEventOverView(mLauncher.getDropTargetBar(), ev);
    }

    private boolean isEventOverView(View view, MotionEvent ev) {
    public boolean isEventOverView(View view, MotionEvent ev) {
        getDescendantRectRelativeToSelf(view, mHitRect);
        return mHitRect.contains((int) ev.getX(), (int) ev.getY());
    }