Fixed a bug where longpress was not possible in landscape

The clause used there was using a reused value of a motion event
and therefore not trigger, even if it should have.
Also added a clause which this was actually used for to remove
the long press callback when using the inline settings slider.

Bug: 27352426
Change-Id: I9c432eeb354d7d5e72b375cfc5ead9e04a4e6c81
This commit is contained in:
Selim Cinek
2016-03-24 13:06:00 -07:00
parent e37ce3db8f
commit 197823da52
2 changed files with 9 additions and 4 deletions

View File

@@ -274,10 +274,7 @@ public class SwipeHelper implements Gefingerpoken {
mWatchLongPress = new Runnable() {
@Override
public void run() {
float pos = getPos(ev);
float delta = pos - mInitialTouchPos;
if (mCurrView != null && !mLongPressSent
&& Math.abs(delta) < mPagingTouchSlop) {
if (mCurrView != null && !mLongPressSent) {
mLongPressSent = true;
mCurrView.sendAccessibilityEvent(
AccessibilityEvent.TYPE_VIEW_LONG_CLICKED);

View File

@@ -2063,6 +2063,14 @@ public class NotificationStackScrollLayout extends ViewGroup
}
}
@Override
public void requestDisallowInterceptTouchEvent(boolean disallowIntercept) {
super.requestDisallowInterceptTouchEvent(disallowIntercept);
if (disallowIntercept) {
mSwipeHelper.removeLongPressCallback();
}
}
private void onViewRemovedInternal(View child) {
if (mChangePositionInProgress) {
// This is only a position change, don't do anything special