diff options
author | Hyunyoung Song <hyunyoungs@google.com> | 2016-08-05 21:13:08 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2016-08-05 21:13:08 +0000 |
commit | 96c56b3607ce45a511f92212d2ee5cff01a73905 (patch) | |
tree | f81d4e1519627210373af3c0d35b800dbe190e5b /src | |
parent | 9323bdbb2a4ae3724da5ef2ec07c7ecccbe73681 (diff) | |
parent | 58a9c4b7d2aa3772f56fea32f82cf29d410dc499 (diff) | |
download | android_packages_apps_Trebuchet-96c56b3607ce45a511f92212d2ee5cff01a73905.tar.gz android_packages_apps_Trebuchet-96c56b3607ce45a511f92212d2ee5cff01a73905.tar.bz2 android_packages_apps_Trebuchet-96c56b3607ce45a511f92212d2ee5cff01a73905.zip |
Merge "Pull down should work on search box, even if all apps scroll is not at top. b/30295305" into ub-launcher3-calgary
Diffstat (limited to 'src')
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()); } |