Merge "Fix inconsistencies in DragEvent.getX/getY behavior and JavaDoc." into nyc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
a423ec52ac
@@ -160,6 +160,8 @@ public class DragEvent implements Parcelable {
|
|||||||
* ACTION_DRAG_STARTED.
|
* ACTION_DRAG_STARTED.
|
||||||
* </p>
|
* </p>
|
||||||
* @see #ACTION_DRAG_ENDED
|
* @see #ACTION_DRAG_ENDED
|
||||||
|
* @see #getX()
|
||||||
|
* @see #getY()
|
||||||
*/
|
*/
|
||||||
public static final int ACTION_DRAG_STARTED = 1;
|
public static final int ACTION_DRAG_STARTED = 1;
|
||||||
|
|
||||||
@@ -323,17 +325,16 @@ public class DragEvent implements Parcelable {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the X coordinate of the drag point. The value is only valid if the event action is
|
* Gets the X coordinate of the drag point. The value is only valid if the event action is
|
||||||
* {@link #ACTION_DRAG_LOCATION} or {@link #ACTION_DROP}.
|
* {@link #ACTION_DRAG_STARTED}, {@link #ACTION_DRAG_LOCATION} or {@link #ACTION_DROP}.
|
||||||
* @return The current drag point's Y coordinate
|
* @return The current drag point's X coordinate
|
||||||
*/
|
*/
|
||||||
public float getX() {
|
public float getX() {
|
||||||
return mX;
|
return mX;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the Y coordinate of the drag point. The value is valid if the
|
* Gets the Y coordinate of the drag point. The value is only valid if the event action is
|
||||||
* event action is {@link #ACTION_DRAG_ENTERED}, {@link #ACTION_DRAG_LOCATION},
|
* {@link #ACTION_DRAG_STARTED}, {@link #ACTION_DRAG_LOCATION} or {@link #ACTION_DROP}.
|
||||||
* {@link #ACTION_DROP}, or {@link #ACTION_DRAG_EXITED}.
|
|
||||||
* @return The current drag point's Y coordinate
|
* @return The current drag point's Y coordinate
|
||||||
*/
|
*/
|
||||||
public float getY() {
|
public float getY() {
|
||||||
|
|||||||
@@ -1579,7 +1579,19 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
|
|||||||
Log.d(View.VIEW_LOG_TAG, "Sending drag-started to view: " + child);
|
Log.d(View.VIEW_LOG_TAG, "Sending drag-started to view: " + child);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final float tx = mCurrentDragStartEvent.mX;
|
||||||
|
final float ty = mCurrentDragStartEvent.mY;
|
||||||
|
|
||||||
|
final float[] point = getTempPoint();
|
||||||
|
point[0] = tx;
|
||||||
|
point[1] = ty;
|
||||||
|
transformPointToViewLocal(point, child);
|
||||||
|
|
||||||
|
mCurrentDragStartEvent.mX = point[0];
|
||||||
|
mCurrentDragStartEvent.mY = point[1];
|
||||||
final boolean canAccept = child.dispatchDragEvent(mCurrentDragStartEvent);
|
final boolean canAccept = child.dispatchDragEvent(mCurrentDragStartEvent);
|
||||||
|
mCurrentDragStartEvent.mX = tx;
|
||||||
|
mCurrentDragStartEvent.mY = ty;
|
||||||
if (canAccept) {
|
if (canAccept) {
|
||||||
mChildrenInterestedInDrag.add(child);
|
mChildrenInterestedInDrag.add(child);
|
||||||
if (!child.canAcceptDrag()) {
|
if (!child.canAcceptDrag()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user