summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/PagedView.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/launcher3/PagedView.java')
-rw-r--r--src/com/android/launcher3/PagedView.java15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/com/android/launcher3/PagedView.java b/src/com/android/launcher3/PagedView.java
index 30c3ea752..d8fc98330 100644
--- a/src/com/android/launcher3/PagedView.java
+++ b/src/com/android/launcher3/PagedView.java
@@ -133,6 +133,8 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
protected float mTotalMotionX;
private int mLastScreenCenter = -1;
+ private boolean mCancelTap;
+
private int[] mPageScrolls;
protected final static int TOUCH_STATE_REST = 0;
@@ -735,7 +737,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
// NOTE: We multiply by 1.5f to account for the fact that depending on the offset of the
// viewport, we can be at most one and a half screens offset once we scale down
DisplayMetrics dm = getResources().getDisplayMetrics();
- int maxSize = Math.max(dm.widthPixels, dm.heightPixels);
+ int maxSize = Math.max(dm.widthPixels, dm.heightPixels + mInsets.top + mInsets.bottom);
int parentWidthSize, parentHeightSize;
int scaledWidthSize, scaledHeightSize;
if (mUseMinScale) {
@@ -1851,7 +1853,9 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
onDropToDelete();
}
} else {
- onUnhandledTap(ev);
+ if (!mCancelTap) {
+ onUnhandledTap(ev);
+ }
}
// Remove the callback to wait for the side page hover timeout
@@ -1884,6 +1888,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
private void resetTouchState() {
releaseVelocityTracker();
endReordering();
+ mCancelTap = false;
mTouchState = TOUCH_STATE_REST;
mActivePointerId = INVALID_POINTER;
}
@@ -2156,6 +2161,12 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
return mAllowLongPress;
}
+ @Override
+ public boolean performLongClick() {
+ mCancelTap = true;
+ return super.performLongClick();
+ }
+
/**
* Set true to allow long-press events to be triggered, usually checked by
* {@link Launcher} to accept or block dpad-initiated long-presses.