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

Commit 28f0a53a authored by Christopher Tate's avatar Christopher Tate Committed by Android (Google) Code Review
Browse files

Merge "Fail more gracefully when window state changes during drags" into honeycomb

parents 1c0012e1 f01af755
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -274,7 +274,7 @@ public static final int ACTION_DRAG_EXITED = 6;
    public String toString() {
        return "DragEvent{" + Integer.toHexString(System.identityHashCode(this))
        + " action=" + mAction + " @ (" + mX + ", " + mY + ") desc=" + mClipDescription
        + " data=" + mClipData + " result=" + mDragResult
        + " data=" + mClipData + " local=" + mLocalState + " result=" + mDragResult
        + "}";
    }

+6 −2
Original line number Diff line number Diff line
@@ -708,16 +708,20 @@ public class WindowManagerService extends IWindowManager.Stub

            // Move the surface to the given touch
            if (SHOW_TRANSACTIONS) Slog.i(TAG, ">>> OPEN TRANSACTION notifyMoveLw");
            mSurface.openTransaction();
            Surface.openTransaction();
            try {
                mSurface.setPosition((int)(x - mThumbOffsetX), (int)(y - mThumbOffsetY));
            } finally {
                mSurface.closeTransaction();
                Surface.closeTransaction();
                if (SHOW_TRANSACTIONS) Slog.i(TAG, "<<< CLOSE TRANSACTION notifyMoveLw");
            }

            // Tell the affected window
            WindowState touchedWin = getTouchedWinAtPointLw(x, y);
            if (touchedWin == null) {
                if (DEBUG_DRAG) Slog.d(TAG, "No touched win at x=" + x + " y=" + y);
                return;
            }
            if ((mFlags & View.DRAG_FLAG_GLOBAL) == 0) {
                final IBinder touchedBinder = touchedWin.mClient.asBinder();
                if (touchedBinder != mLocalWin) {