Don't stomp on the drag-focus bookkeeping inadvertently.
Also don't update the focus tracking redundantly.
Fixes bug 3076468
Change-Id: I021e1bb91134d5226735d9510ad7f9a7b650f93f
diff --git a/core/java/android/view/ViewRoot.java b/core/java/android/view/ViewRoot.java
index 9993c10..ae671b8 100644
--- a/core/java/android/view/ViewRoot.java
+++ b/core/java/android/view/ViewRoot.java
@@ -2520,7 +2520,6 @@
} catch (RemoteException e) {
Slog.e(TAG, "Unable to note drag target change");
}
- mCurrentDragView = prevDragView;
}
}
}
@@ -2540,13 +2539,13 @@
event.mAction = DragEvent.ACTION_DRAG_EXITED;
mCurrentDragView.dispatchDragEvent(event);
}
+ mCurrentDragView = newDragTarget;
}
// If we've dragged over a new view, send it the ENTERED message
if (newDragTarget != null) {
event.mAction = DragEvent.ACTION_DRAG_ENTERED;
newDragTarget.dispatchDragEvent(event);
}
- mCurrentDragView = newDragTarget;
event.mAction = action; // restore the event's original state
}