Merge "Prevent dismissal on RemoteInputView" into nyc-dev

This commit is contained in:
Adrian Roos
2016-04-28 00:02:43 +00:00
committed by Android (Google) Code Review
3 changed files with 17 additions and 2 deletions

View File

@@ -252,6 +252,7 @@ public class RemoteInputView extends LinearLayout implements View.OnClickListene
findScrollContainer(); findScrollContainer();
if (mScrollContainer != null) { if (mScrollContainer != null) {
mScrollContainer.requestDisallowLongPress(); mScrollContainer.requestDisallowLongPress();
mScrollContainer.requestDisallowDismiss();
} }
} }
return super.onInterceptTouchEvent(ev); return super.onInterceptTouchEvent(ev);

View File

@@ -232,6 +232,7 @@ public class NotificationStackScrollLayout extends ViewGroup
* animating. * animating.
*/ */
private boolean mOnlyScrollingInThisMotion; private boolean mOnlyScrollingInThisMotion;
private boolean mDisallowDismissInThisMotion;
private boolean mInterceptDelegateEnabled; private boolean mInterceptDelegateEnabled;
private boolean mDelegateToScrollView; private boolean mDelegateToScrollView;
private boolean mDisallowScrollingInThisMotion; private boolean mDisallowScrollingInThisMotion;
@@ -1031,7 +1032,8 @@ public class NotificationStackScrollLayout extends ViewGroup
if (!mIsBeingDragged if (!mIsBeingDragged
&& !mExpandingNotification && !mExpandingNotification
&& !mExpandedInThisMotion && !mExpandedInThisMotion
&& !mOnlyScrollingInThisMotion) { && !mOnlyScrollingInThisMotion
&& !mDisallowDismissInThisMotion) {
horizontalSwipeWantsIt = mSwipeHelper.onTouchEvent(ev); horizontalSwipeWantsIt = mSwipeHelper.onTouchEvent(ev);
} }
return horizontalSwipeWantsIt || scrollerWantsIt || expandWantsIt || super.onTouchEvent(ev); return horizontalSwipeWantsIt || scrollerWantsIt || expandWantsIt || super.onTouchEvent(ev);
@@ -2013,7 +2015,8 @@ public class NotificationStackScrollLayout extends ViewGroup
if (!mIsBeingDragged if (!mIsBeingDragged
&& !mExpandingNotification && !mExpandingNotification
&& !mExpandedInThisMotion && !mExpandedInThisMotion
&& !mOnlyScrollingInThisMotion) { && !mOnlyScrollingInThisMotion
&& !mDisallowDismissInThisMotion) {
swipeWantsIt = mSwipeHelper.onInterceptTouchEvent(ev); swipeWantsIt = mSwipeHelper.onInterceptTouchEvent(ev);
} }
return swipeWantsIt || scrollWantsIt || expandWantsIt || super.onInterceptTouchEvent(ev); return swipeWantsIt || scrollWantsIt || expandWantsIt || super.onInterceptTouchEvent(ev);
@@ -2041,6 +2044,7 @@ public class NotificationStackScrollLayout extends ViewGroup
mExpandedInThisMotion = false; mExpandedInThisMotion = false;
mOnlyScrollingInThisMotion = !mScroller.isFinished(); mOnlyScrollingInThisMotion = !mScroller.isFinished();
mDisallowScrollingInThisMotion = false; mDisallowScrollingInThisMotion = false;
mDisallowDismissInThisMotion = false;
mTouchIsClick = true; mTouchIsClick = true;
mInitialTouchX = ev.getX(); mInitialTouchX = ev.getX();
mInitialTouchY = ev.getY(); mInitialTouchY = ev.getY();
@@ -2705,6 +2709,11 @@ public class NotificationStackScrollLayout extends ViewGroup
removeLongPressCallback(); removeLongPressCallback();
} }
@Override
public void requestDisallowDismiss() {
mDisallowDismissInThisMotion = true;
}
public void removeLongPressCallback() { public void removeLongPressCallback() {
mSwipeHelper.removeLongPressCallback(); mSwipeHelper.removeLongPressCallback();
} }

View File

@@ -33,4 +33,9 @@ public interface ScrollContainer {
* Request that the view is made visible by scrolling to it. * Request that the view is made visible by scrolling to it.
*/ */
void scrollTo(View v); void scrollTo(View v);
/**
* Request that the view does not dismiss for the current touch.
*/
void requestDisallowDismiss();
} }