Loading services/core/java/com/android/server/wm/InputMonitor.java +6 −6 Original line number Diff line number Diff line Loading @@ -268,11 +268,11 @@ final class InputMonitor { } final InputWindowHandle dragWindowHandle = mService.mDragDropController.getInputWindowHandleLocked(); if (dragWindowHandle != null) { addInputWindowHandle(dragWindowHandle); } else { if (dragWindowHandle == null) { Slog.w(TAG_WM, "Drag is in progress but there is no " + "drag window handle."); } else if (dragWindowHandle.displayId == mDisplayId) { addInputWindowHandle(dragWindowHandle); } } Loading @@ -283,11 +283,11 @@ final class InputMonitor { } final InputWindowHandle dragWindowHandle = mService.mTaskPositioningController.getDragWindowHandleLocked(); if (dragWindowHandle != null) { addInputWindowHandle(dragWindowHandle); } else { if (dragWindowHandle == null) { Slog.e(TAG_WM, "Repositioning is in progress but there is no drag window handle."); } else if (dragWindowHandle.displayId == mDisplayId) { addInputWindowHandle(dragWindowHandle); } } Loading services/core/java/com/android/server/wm/TaskPositioner.java +9 −5 Original line number Diff line number Diff line Loading @@ -19,17 +19,17 @@ package com.android.server.wm; import static android.app.ActivityTaskManager.RESIZE_MODE_USER; import static android.app.ActivityTaskManager.RESIZE_MODE_USER_FORCED; import static android.os.Trace.TRACE_TAG_WINDOW_MANAGER; import static com.android.server.wm.DragResizeMode.DRAG_RESIZE_MODE_FREEFORM; import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_ORIENTATION; import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_TASK_POSITIONING; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; import static com.android.server.wm.WindowManagerService.dipToPixel; import static com.android.server.wm.DragResizeMode.DRAG_RESIZE_MODE_FREEFORM; import static com.android.server.wm.WindowState.MINIMUM_VISIBLE_HEIGHT_IN_DP; import static com.android.server.wm.WindowState.MINIMUM_VISIBLE_WIDTH_IN_DP; import android.annotation.IntDef; import android.app.IActivityManager; import android.app.IActivityTaskManager; import android.graphics.Point; import android.graphics.Rect; Loading @@ -51,7 +51,6 @@ import android.view.WindowManager; import com.android.internal.annotations.VisibleForTesting; import com.android.server.input.InputApplicationHandle; import com.android.server.input.InputWindowHandle; import com.android.server.wm.WindowManagerService.H; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; Loading Loading @@ -209,7 +208,6 @@ class TaskPositioner { // Post back to WM to handle clean-ups. We still need the input // event handler for the last finishInputEvent()! mService.mTaskPositioningController.finishTaskPositioning(); mTask.getDisplayContent().getInputMonitor().updateInputWindowsLw(true /*force*/); } handled = true; } catch (Exception e) { Loading Loading @@ -237,7 +235,7 @@ class TaskPositioner { } /** * @param display The Display that the window being dragged is on. * @param displayContent The Display that the window being dragged is on. */ void register(DisplayContent displayContent) { final Display display = displayContent.getDisplay(); Loading Loading @@ -303,6 +301,9 @@ class TaskPositioner { } mDisplayContent.pauseRotationLocked(); // Notify InputMonitor to take mDragWindowHandle. mDisplayContent.getInputMonitor().updateInputWindowsLw(true /*force*/); mSideMargin = dipToPixel(SIDE_MARGIN_DIP, mDisplayMetrics); mMinVisibleWidth = dipToPixel(MINIMUM_VISIBLE_WIDTH_IN_DP, mDisplayMetrics); mMinVisibleHeight = dipToPixel(MINIMUM_VISIBLE_HEIGHT_IN_DP, mDisplayMetrics); Loading Loading @@ -334,6 +335,9 @@ class TaskPositioner { mDragApplicationHandle = null; mDragEnded = true; // Notify InputMonitor to remove mDragWindowHandle. mDisplayContent.getInputMonitor().updateInputWindowsLw(true /*force*/); // Resume rotations after a drag. if (DEBUG_ORIENTATION) { Slog.d(TAG, "Resuming rotation after re-position"); Loading services/core/java/com/android/server/wm/TaskPositioningController.java +2 −5 Original line number Diff line number Diff line Loading @@ -20,14 +20,13 @@ import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_TASK_POSITION import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; import android.annotation.Nullable; import android.app.IActivityManager; import android.app.IActivityTaskManager; import android.os.RemoteException; import android.os.Handler; import android.os.Looper; import android.os.RemoteException; import android.util.Slog; import android.view.Display; import android.view.IWindow; import com.android.internal.annotations.GuardedBy; import com.android.server.input.InputManagerService; import com.android.server.input.InputWindowHandle; Loading Loading @@ -124,10 +123,8 @@ class TaskPositioningController { return false; } Display display = displayContent.getDisplay(); mTaskPositioner = TaskPositioner.create(mService); mTaskPositioner.register(displayContent); displayContent.getInputMonitor().updateInputWindowsLw(true /*force*/); // We need to grab the touch focus so that the touch events during the // resizing/scrolling are not sent to the app. 'win' is the main window Loading Loading
services/core/java/com/android/server/wm/InputMonitor.java +6 −6 Original line number Diff line number Diff line Loading @@ -268,11 +268,11 @@ final class InputMonitor { } final InputWindowHandle dragWindowHandle = mService.mDragDropController.getInputWindowHandleLocked(); if (dragWindowHandle != null) { addInputWindowHandle(dragWindowHandle); } else { if (dragWindowHandle == null) { Slog.w(TAG_WM, "Drag is in progress but there is no " + "drag window handle."); } else if (dragWindowHandle.displayId == mDisplayId) { addInputWindowHandle(dragWindowHandle); } } Loading @@ -283,11 +283,11 @@ final class InputMonitor { } final InputWindowHandle dragWindowHandle = mService.mTaskPositioningController.getDragWindowHandleLocked(); if (dragWindowHandle != null) { addInputWindowHandle(dragWindowHandle); } else { if (dragWindowHandle == null) { Slog.e(TAG_WM, "Repositioning is in progress but there is no drag window handle."); } else if (dragWindowHandle.displayId == mDisplayId) { addInputWindowHandle(dragWindowHandle); } } Loading
services/core/java/com/android/server/wm/TaskPositioner.java +9 −5 Original line number Diff line number Diff line Loading @@ -19,17 +19,17 @@ package com.android.server.wm; import static android.app.ActivityTaskManager.RESIZE_MODE_USER; import static android.app.ActivityTaskManager.RESIZE_MODE_USER_FORCED; import static android.os.Trace.TRACE_TAG_WINDOW_MANAGER; import static com.android.server.wm.DragResizeMode.DRAG_RESIZE_MODE_FREEFORM; import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_ORIENTATION; import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_TASK_POSITIONING; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; import static com.android.server.wm.WindowManagerService.dipToPixel; import static com.android.server.wm.DragResizeMode.DRAG_RESIZE_MODE_FREEFORM; import static com.android.server.wm.WindowState.MINIMUM_VISIBLE_HEIGHT_IN_DP; import static com.android.server.wm.WindowState.MINIMUM_VISIBLE_WIDTH_IN_DP; import android.annotation.IntDef; import android.app.IActivityManager; import android.app.IActivityTaskManager; import android.graphics.Point; import android.graphics.Rect; Loading @@ -51,7 +51,6 @@ import android.view.WindowManager; import com.android.internal.annotations.VisibleForTesting; import com.android.server.input.InputApplicationHandle; import com.android.server.input.InputWindowHandle; import com.android.server.wm.WindowManagerService.H; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; Loading Loading @@ -209,7 +208,6 @@ class TaskPositioner { // Post back to WM to handle clean-ups. We still need the input // event handler for the last finishInputEvent()! mService.mTaskPositioningController.finishTaskPositioning(); mTask.getDisplayContent().getInputMonitor().updateInputWindowsLw(true /*force*/); } handled = true; } catch (Exception e) { Loading Loading @@ -237,7 +235,7 @@ class TaskPositioner { } /** * @param display The Display that the window being dragged is on. * @param displayContent The Display that the window being dragged is on. */ void register(DisplayContent displayContent) { final Display display = displayContent.getDisplay(); Loading Loading @@ -303,6 +301,9 @@ class TaskPositioner { } mDisplayContent.pauseRotationLocked(); // Notify InputMonitor to take mDragWindowHandle. mDisplayContent.getInputMonitor().updateInputWindowsLw(true /*force*/); mSideMargin = dipToPixel(SIDE_MARGIN_DIP, mDisplayMetrics); mMinVisibleWidth = dipToPixel(MINIMUM_VISIBLE_WIDTH_IN_DP, mDisplayMetrics); mMinVisibleHeight = dipToPixel(MINIMUM_VISIBLE_HEIGHT_IN_DP, mDisplayMetrics); Loading Loading @@ -334,6 +335,9 @@ class TaskPositioner { mDragApplicationHandle = null; mDragEnded = true; // Notify InputMonitor to remove mDragWindowHandle. mDisplayContent.getInputMonitor().updateInputWindowsLw(true /*force*/); // Resume rotations after a drag. if (DEBUG_ORIENTATION) { Slog.d(TAG, "Resuming rotation after re-position"); Loading
services/core/java/com/android/server/wm/TaskPositioningController.java +2 −5 Original line number Diff line number Diff line Loading @@ -20,14 +20,13 @@ import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_TASK_POSITION import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; import android.annotation.Nullable; import android.app.IActivityManager; import android.app.IActivityTaskManager; import android.os.RemoteException; import android.os.Handler; import android.os.Looper; import android.os.RemoteException; import android.util.Slog; import android.view.Display; import android.view.IWindow; import com.android.internal.annotations.GuardedBy; import com.android.server.input.InputManagerService; import com.android.server.input.InputWindowHandle; Loading Loading @@ -124,10 +123,8 @@ class TaskPositioningController { return false; } Display display = displayContent.getDisplay(); mTaskPositioner = TaskPositioner.create(mService); mTaskPositioner.register(displayContent); displayContent.getInputMonitor().updateInputWindowsLw(true /*force*/); // We need to grab the touch focus so that the touch events during the // resizing/scrolling are not sent to the app. 'win' is the main window Loading