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

Commit 63f7141a authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

Merge "Fix drag surface would be stuck (1/2)" into qt-qpr1-dev am: 556bdce1

Change-Id: I989e4f7a160c79a01039d3df309abc4330cefda1
parents df323070 556bdce1
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -113,7 +113,7 @@ class DragDropController {

                    final WindowState callingWin = mService.windowForClientLocked(
                            null, window, false);
                    if (callingWin == null) {
                    if (callingWin == null || callingWin.cantReceiveTouchInput()) {
                        Slog.w(TAG_WM, "Bad requesting window " + window);
                        return null;  // !!! TODO: throw here?
                    }
@@ -167,8 +167,7 @@ class DragDropController {
                    final SurfaceControl surfaceControl = mDragState.mSurfaceControl;
                    if (SHOW_LIGHT_TRANSACTIONS) Slog.i(TAG_WM, ">>> OPEN TRANSACTION performDrag");

                    final SurfaceControl.Transaction transaction =
                            callingWin.getPendingTransaction();
                    final SurfaceControl.Transaction transaction = mDragState.mTransaction;
                    transaction.setAlpha(surfaceControl, mDragState.mOriginalAlpha);
                    transaction.setPosition(
                            surfaceControl, touchX - thumbCenterX, touchY - thumbCenterY);
+1 −1
Original line number Diff line number Diff line
@@ -120,7 +120,7 @@ class DragState {
    // A surface used to catch input events for the drag-and-drop operation.
    SurfaceControl mInputSurface;

    private final SurfaceControl.Transaction mTransaction;
    final SurfaceControl.Transaction mTransaction;

    private final Rect mTmpClipRect = new Rect();

+3 −1
Original line number Diff line number Diff line
@@ -50,6 +50,7 @@ import android.view.InputDevice;
import android.view.InputEvent;
import android.view.InputWindowHandle;
import android.view.MotionEvent;
import android.view.SurfaceControl;
import android.view.WindowManager;

import com.android.internal.annotations.VisibleForTesting;
@@ -307,7 +308,8 @@ class TaskPositioner implements IBinder.DeathRecipient {
        mDisplayContent.pauseRotationLocked();

        // Notify InputMonitor to take mDragWindowHandle.
        mDisplayContent.getInputMonitor().updateInputWindowsLw(true /*force*/);
        mDisplayContent.getInputMonitor().updateInputWindowsImmediately();
        new SurfaceControl.Transaction().syncInputWindows().apply();

        mSideMargin = dipToPixel(SIDE_MARGIN_DIP, mDisplayMetrics);
        mMinVisibleWidth = dipToPixel(MINIMUM_VISIBLE_WIDTH_IN_DP, mDisplayMetrics);