Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1ee3e370 authored by Vadim Tryshev's avatar Vadim Tryshev Committed by Android (Google) Code Review
Browse files

Merge "Fixing crash in D&D due to race conditions during drag end."

parents 7e6040d9 15177899
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -1419,8 +1419,9 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager

        case DragEvent.ACTION_DRAG_ENDED: {
            // Release the bookkeeping now that the drag lifecycle has ended
            if (mChildrenInterestedInDrag != null) {
                for (View child : mChildrenInterestedInDrag) {
            final HashSet<View> childrenInterestedInDrag = mChildrenInterestedInDrag;
            if (childrenInterestedInDrag != null) {
                for (View child : childrenInterestedInDrag) {
                    // If a child was interested in the ongoing drag, it's told that it's over
                    if (child.dispatchDragEvent(event)) {
                        retval = true;
@@ -1428,13 +1429,12 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
                    child.mPrivateFlags2 &= ~View.DRAG_MASK;
                    child.refreshDrawableState();
                }

                mChildrenInterestedInDrag.clear();
                childrenInterestedInDrag.clear();
            }
            if (mCurrentDragStartEvent != null) {
                mCurrentDragStartEvent.recycle();
                mCurrentDragStartEvent = null;
            }
            }

            if (mIsInterestedInDrag) {
                if (super.dispatchDragEvent(event)) {