Reset mActiveController to null in DragLayer.onInterceptTouchEvent().

Otherwise the previous active controller will continue to handle touch
events even if it doesn't re-intercept future touches. For instance,
All Apps was handling the swipe gesture after DragLayer intercepted to
close a shortcuts container, which led to the weird behavior described
in the bug.

Bug: 30590854
Change-Id: I247b39b03d336a04659f6ce644380bf3cef8de3f
This commit is contained in:
Tony Wickham 2016-08-04 11:52:18 -07:00
parent 5a5eb846c4
commit 98cbd62e1f
1 changed files with 2 additions and 0 deletions

View File

@ -295,6 +295,8 @@ public class DragLayer extends InsettableFrameLayout {
}
clearAllResizeFrames();
mActiveController = null;
if (mDragController.onInterceptTouchEvent(ev)) {
mActiveController = mDragController;
return true;