diff options
Diffstat (limited to 'src/com/android')
3 files changed, 12 insertions, 6 deletions
diff --git a/src/com/android/launcher3/allapps/AllAppsContainerView.java b/src/com/android/launcher3/allapps/AllAppsContainerView.java index 505762a40..c7bc23bd4 100644 --- a/src/com/android/launcher3/allapps/AllAppsContainerView.java +++ b/src/com/android/launcher3/allapps/AllAppsContainerView.java @@ -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; } diff --git a/src/com/android/launcher3/allapps/AllAppsTransitionController.java b/src/com/android/launcher3/allapps/AllAppsTransitionController.java index 98dd61273..588823051 100644 --- a/src/com/android/launcher3/allapps/AllAppsTransitionController.java +++ b/src/com/android/launcher3/allapps/AllAppsTransitionController.java @@ -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; diff --git a/src/com/android/launcher3/dragndrop/DragLayer.java b/src/com/android/launcher3/dragndrop/DragLayer.java index 448f70943..e88e77e20 100644 --- a/src/com/android/launcher3/dragndrop/DragLayer.java +++ b/src/com/android/launcher3/dragndrop/DragLayer.java @@ -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()); } |