Merge "[dev_option][More flags 3/n] Update all usages of some flags to use DesktopModeFlags." into main
diff --git a/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/desktopmode/DesktopModeFlags.kt b/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/desktopmode/DesktopModeFlags.kt
index 1304969..2d55f82 100644
--- a/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/desktopmode/DesktopModeFlags.kt
+++ b/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/desktopmode/DesktopModeFlags.kt
@@ -44,7 +44,9 @@
TASK_STACK_OBSERVER_IN_SHELL(Flags::enableTaskStackObserverInShell, true),
SIZE_CONSTRAINTS(Flags::enableDesktopWindowingSizeConstraints, true),
DYNAMIC_INITIAL_BOUNDS(Flags::enableWindowingDynamicInitialBounds, true),
- ENABLE_DESKTOP_WINDOWING_TASK_LIMIT(Flags::enableDesktopWindowingTaskLimit, true);
+ ENABLE_DESKTOP_WINDOWING_TASK_LIMIT(Flags::enableDesktopWindowingTaskLimit, true),
+ BACK_NAVIGATION(Flags::enableDesktopWindowingBackNavigation, true),
+ EDGE_DRAG_RESIZE(Flags::enableWindowingEdgeDragResize, true);
/**
* Determines state of flag based on the actual flag and desktop mode developer option overrides.
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt
index 5f838d3..89c800a 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt
@@ -54,7 +54,6 @@
import com.android.internal.jank.InteractionJankMonitor
import com.android.internal.policy.ScreenDecorationsUtils
import com.android.internal.protolog.ProtoLog
-import com.android.window.flags.Flags
import com.android.wm.shell.RootTaskDisplayAreaOrganizer
import com.android.wm.shell.ShellTaskOrganizer
import com.android.wm.shell.common.DisplayController
@@ -982,7 +981,7 @@
}
taskRepository.addClosingTask(task.displayId, task.taskId)
// If a CLOSE or TO_BACK is triggered on a desktop task, remove the task.
- if (Flags.enableDesktopWindowingBackNavigation() &&
+ if (DesktopModeFlags.BACK_NAVIGATION.isEnabled(context) &&
taskRepository.isVisibleTask(task.taskId)) {
wct.removeTask(task.token)
}
@@ -1488,7 +1487,8 @@
}
override fun hideStashedDesktopApps(displayId: Int) {
- ProtoLog.w(WM_SHELL_DESKTOP_MODE, "IDesktopModeImpl: hideStashedDesktopApps is deprecated")
+ ProtoLog.w(WM_SHELL_DESKTOP_MODE,
+ "IDesktopModeImpl: hideStashedDesktopApps is deprecated")
}
override fun getVisibleTaskCount(displayId: Int): Int {
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecoration.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecoration.java
index de514f6..9de0651 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecoration.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecoration.java
@@ -279,7 +279,7 @@
final Resources res = mResult.mRootView.getResources();
mDragResizeListener.setGeometry(new DragResizeWindowGeometry(0 /* taskCornerRadius */,
- new Size(mResult.mWidth, mResult.mHeight), getResizeEdgeHandleSize(res),
+ new Size(mResult.mWidth, mResult.mHeight), getResizeEdgeHandleSize(mContext, res),
getFineResizeCornerSize(res), getLargeResizeCornerSize(res)), touchSlop);
}
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java
index e82990f..df41d31 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java
@@ -492,8 +492,9 @@
final Resources res = mResult.mRootView.getResources();
if (mDragResizeListener.setGeometry(
new DragResizeWindowGeometry(mRelayoutParams.mCornerRadius,
- new Size(mResult.mWidth, mResult.mHeight), getResizeEdgeHandleSize(res),
- getFineResizeCornerSize(res), getLargeResizeCornerSize(res)), touchSlop)
+ new Size(mResult.mWidth, mResult.mHeight),
+ getResizeEdgeHandleSize(mContext, res), getFineResizeCornerSize(res),
+ getLargeResizeCornerSize(res)), touchSlop)
|| !mTaskInfo.positionInParent.equals(mPositionInParent)) {
updateExclusionRegion();
}
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DragResizeInputListener.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DragResizeInputListener.java
index 32df8b3..1729548 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DragResizeInputListener.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DragResizeInputListener.java
@@ -81,6 +81,7 @@
private final InputChannel mInputChannel;
private final TaskResizeInputEventReceiver mInputEventReceiver;
+ private final Context mContext;
private final SurfaceControl mInputSinkSurface;
private final IBinder mSinkClientToken;
private final InputChannel mSinkInputChannel;
@@ -97,6 +98,7 @@
Supplier<SurfaceControl.Builder> surfaceControlBuilderSupplier,
Supplier<SurfaceControl.Transaction> surfaceControlTransactionSupplier,
DisplayController displayController) {
+ mContext = context;
mSurfaceControlTransactionSupplier = surfaceControlTransactionSupplier;
mDisplayId = displayId;
mDecorationSurface = decorationSurface;
@@ -180,7 +182,7 @@
mTouchRegion.setEmpty();
// Apply the geometry to the touch region.
- geometry.union(mTouchRegion);
+ geometry.union(mContext, mTouchRegion);
mInputEventReceiver.setGeometry(geometry);
mInputEventReceiver.setTouchRegion(mTouchRegion);
@@ -354,7 +356,7 @@
*/
@NonNull Region getCornersRegion() {
Region region = new Region();
- mDragResizeWindowGeometry.union(region);
+ mDragResizeWindowGeometry.union(mContext, region);
return region;
}
@@ -395,7 +397,7 @@
// Touch events are tracked in four corners. Other events are tracked in resize edges.
switch (e.getActionMasked()) {
case MotionEvent.ACTION_DOWN: {
- mShouldHandleEvents = mDragResizeWindowGeometry.shouldHandleEvent(e,
+ mShouldHandleEvents = mDragResizeWindowGeometry.shouldHandleEvent(mContext, e,
new Point() /* offset */);
if (mShouldHandleEvents) {
// Save the id of the pointer for this drag interaction; we will use the
@@ -405,8 +407,9 @@
float y = e.getY(0);
float rawX = e.getRawX(0);
float rawY = e.getRawY(0);
- final int ctrlType = mDragResizeWindowGeometry.calculateCtrlType(
- isEventFromTouchscreen(e), isEdgeResizePermitted(e), x, y);
+ final int ctrlType = mDragResizeWindowGeometry.calculateCtrlType(mContext,
+ isEventFromTouchscreen(e), isEdgeResizePermitted(mContext, e), x,
+ y);
ProtoLog.d(WM_SHELL_DESKTOP_MODE,
"%s: Handling action down, update ctrlType to %d", TAG, ctrlType);
mDragStartTaskBounds = mCallback.onDragPositioningStart(ctrlType,
@@ -496,7 +499,7 @@
// Since we are handling cursor, we know that this is not a touchscreen event, and
// that edge resizing should always be allowed.
@DragPositioningCallback.CtrlType int ctrlType =
- mDragResizeWindowGeometry.calculateCtrlType(/* isTouchscreen= */
+ mDragResizeWindowGeometry.calculateCtrlType(mContext, /* isTouchscreen= */
false, /* isEdgeResizePermitted= */ true, x, y);
int cursorType = PointerIcon.TYPE_DEFAULT;
@@ -537,7 +540,7 @@
}
private boolean shouldHandleEvent(MotionEvent e, Point offset) {
- return mDragResizeWindowGeometry.shouldHandleEvent(e, offset);
+ return mDragResizeWindowGeometry.shouldHandleEvent(mContext, e, offset);
}
}
}
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DragResizeWindowGeometry.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DragResizeWindowGeometry.java
index ba5f079..014d61d 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DragResizeWindowGeometry.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DragResizeWindowGeometry.java
@@ -18,7 +18,7 @@
import static android.view.InputDevice.SOURCE_TOUCHSCREEN;
-import static com.android.window.flags.Flags.enableWindowingEdgeDragResize;
+import static com.android.wm.shell.shared.desktopmode.DesktopModeFlags.EDGE_DRAG_RESIZE;
import static com.android.wm.shell.windowdecor.DragPositioningCallback.CTRL_TYPE_BOTTOM;
import static com.android.wm.shell.windowdecor.DragPositioningCallback.CTRL_TYPE_LEFT;
import static com.android.wm.shell.windowdecor.DragPositioningCallback.CTRL_TYPE_RIGHT;
@@ -26,6 +26,7 @@
import static com.android.wm.shell.windowdecor.DragPositioningCallback.CTRL_TYPE_UNDEFINED;
import android.annotation.NonNull;
+import android.content.Context;
import android.content.res.Resources;
import android.graphics.Point;
import android.graphics.Rect;
@@ -69,8 +70,8 @@
/**
* Returns the resource value to use for the resize handle on the edge of the window.
*/
- static int getResizeEdgeHandleSize(@NonNull Resources res) {
- return enableWindowingEdgeDragResize()
+ static int getResizeEdgeHandleSize(@NonNull Context context, @NonNull Resources res) {
+ return EDGE_DRAG_RESIZE.isEnabled(context)
? res.getDimensionPixelSize(R.dimen.desktop_mode_edge_handle)
: res.getDimensionPixelSize(R.dimen.freeform_resize_handle);
}
@@ -103,11 +104,11 @@
* Returns the union of all regions that can be touched for drag resizing; the corners window
* and window edges.
*/
- void union(@NonNull Region region) {
+ void union(@NonNull Context context, @NonNull Region region) {
// Apply the edge resize regions.
mTaskEdges.union(region);
- if (enableWindowingEdgeDragResize()) {
+ if (EDGE_DRAG_RESIZE.isEnabled(context)) {
// Apply the corners as well for the larger corners, to ensure we capture all possible
// touches.
mLargeTaskCorners.union(region);
@@ -120,11 +121,12 @@
/**
* Returns if this MotionEvent should be handled, based on its source and position.
*/
- boolean shouldHandleEvent(@NonNull MotionEvent e, @NonNull Point offset) {
+ boolean shouldHandleEvent(@NonNull Context context, @NonNull MotionEvent e,
+ @NonNull Point offset) {
final float x = e.getX(0) + offset.x;
final float y = e.getY(0) + offset.y;
- if (enableWindowingEdgeDragResize()) {
+ if (EDGE_DRAG_RESIZE.isEnabled(context)) {
// First check if touch falls within a corner.
// Large corner bounds are used for course input like touch, otherwise fine bounds.
boolean result = isEventFromTouchscreen(e)
@@ -132,7 +134,7 @@
: isInCornerBounds(mFineTaskCorners, x, y);
// Check if touch falls within the edge resize handle. Limit edge resizing to stylus and
// mouse input.
- if (!result && isEdgeResizePermitted(e)) {
+ if (!result && isEdgeResizePermitted(context, e)) {
result = isInEdgeResizeBounds(x, y);
}
return result;
@@ -148,8 +150,8 @@
return (e.getSource() & SOURCE_TOUCHSCREEN) == SOURCE_TOUCHSCREEN;
}
- static boolean isEdgeResizePermitted(@NonNull MotionEvent e) {
- if (enableWindowingEdgeDragResize()) {
+ static boolean isEdgeResizePermitted(@NonNull Context context, @NonNull MotionEvent e) {
+ if (EDGE_DRAG_RESIZE.isEnabled(context)) {
return e.getToolType(0) == MotionEvent.TOOL_TYPE_STYLUS
|| e.getToolType(0) == MotionEvent.TOOL_TYPE_MOUSE;
} else {
@@ -174,8 +176,9 @@
* resize region.
*/
@DragPositioningCallback.CtrlType
- int calculateCtrlType(boolean isTouchscreen, boolean isEdgeResizePermitted, float x, float y) {
- if (enableWindowingEdgeDragResize()) {
+ int calculateCtrlType(@NonNull Context context, boolean isTouchscreen,
+ boolean isEdgeResizePermitted, float x, float y) {
+ if (EDGE_DRAG_RESIZE.isEnabled(context)) {
// First check if touch falls within a corner.
// Large corner bounds are used for course input like touch, otherwise fine bounds.
int ctrlType = isTouchscreen
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DragResizeWindowGeometryTests.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DragResizeWindowGeometryTests.java
index 6a94cd8..77337a03 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DragResizeWindowGeometryTests.java
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DragResizeWindowGeometryTests.java
@@ -25,6 +25,7 @@
import static com.google.common.truth.Truth.assertThat;
import android.annotation.NonNull;
+import android.content.Context;
import android.graphics.Point;
import android.graphics.Region;
import android.platform.test.annotations.DisableFlags;
@@ -36,6 +37,7 @@
import androidx.test.filters.SmallTest;
import com.android.window.flags.Flags;
+import com.android.wm.shell.ShellTestCase;
import com.google.common.testing.EqualsTester;
@@ -51,7 +53,7 @@
*/
@SmallTest
@RunWith(AndroidTestingRunner.class)
-public class DragResizeWindowGeometryTests {
+public class DragResizeWindowGeometryTests extends ShellTestCase {
private static final Size TASK_SIZE = new Size(500, 1000);
private static final int TASK_CORNER_RADIUS = 10;
private static final int EDGE_RESIZE_THICKNESS = 15;
@@ -107,7 +109,7 @@
@Test
public void testRegionUnionContainsEdges() {
Region region = new Region();
- GEOMETRY.union(region);
+ GEOMETRY.union(mContext, region);
assertThat(region.isComplex()).isTrue();
// Region excludes task area. Note that coordinates start from top left.
assertThat(region.contains(TASK_SIZE.getWidth() / 2, TASK_SIZE.getHeight() / 2)).isFalse();
@@ -147,10 +149,10 @@
@EnableFlags(Flags.FLAG_ENABLE_WINDOWING_EDGE_DRAG_RESIZE)
public void testRegionUnion_edgeDragResizeEnabled_containsLargeCorners() {
Region region = new Region();
- GEOMETRY.union(region);
+ GEOMETRY.union(mContext, region);
final int cornerRadius = LARGE_CORNER_SIZE / 2;
- new TestPoints(TASK_SIZE, cornerRadius).validateRegion(region);
+ new TestPoints(mContext, TASK_SIZE, cornerRadius).validateRegion(region);
}
/**
@@ -161,10 +163,10 @@
@DisableFlags(Flags.FLAG_ENABLE_WINDOWING_EDGE_DRAG_RESIZE)
public void testRegionUnion_edgeDragResizeDisabled_containsFineCorners() {
Region region = new Region();
- GEOMETRY.union(region);
+ GEOMETRY.union(mContext, region);
final int cornerRadius = FINE_CORNER_SIZE / 2;
- new TestPoints(TASK_SIZE, cornerRadius).validateRegion(region);
+ new TestPoints(mContext, TASK_SIZE, cornerRadius).validateRegion(region);
}
@Test
@@ -186,16 +188,16 @@
}
private void validateCtrlTypeForEdges(boolean isTouchscreen, boolean isEdgeResizePermitted) {
- assertThat(GEOMETRY.calculateCtrlType(isTouchscreen, isEdgeResizePermitted,
+ assertThat(GEOMETRY.calculateCtrlType(mContext, isTouchscreen, isEdgeResizePermitted,
LEFT_EDGE_POINT.x, LEFT_EDGE_POINT.y)).isEqualTo(
isEdgeResizePermitted ? CTRL_TYPE_LEFT : CTRL_TYPE_UNDEFINED);
- assertThat(GEOMETRY.calculateCtrlType(isTouchscreen, isEdgeResizePermitted,
+ assertThat(GEOMETRY.calculateCtrlType(mContext, isTouchscreen, isEdgeResizePermitted,
TOP_EDGE_POINT.x, TOP_EDGE_POINT.y)).isEqualTo(
isEdgeResizePermitted ? CTRL_TYPE_TOP : CTRL_TYPE_UNDEFINED);
- assertThat(GEOMETRY.calculateCtrlType(isTouchscreen, isEdgeResizePermitted,
+ assertThat(GEOMETRY.calculateCtrlType(mContext, isTouchscreen, isEdgeResizePermitted,
RIGHT_EDGE_POINT.x, RIGHT_EDGE_POINT.y)).isEqualTo(
isEdgeResizePermitted ? CTRL_TYPE_RIGHT : CTRL_TYPE_UNDEFINED);
- assertThat(GEOMETRY.calculateCtrlType(isTouchscreen, isEdgeResizePermitted,
+ assertThat(GEOMETRY.calculateCtrlType(mContext, isTouchscreen, isEdgeResizePermitted,
BOTTOM_EDGE_POINT.x, BOTTOM_EDGE_POINT.y)).isEqualTo(
isEdgeResizePermitted ? CTRL_TYPE_BOTTOM : CTRL_TYPE_UNDEFINED);
}
@@ -203,8 +205,9 @@
@Test
@EnableFlags(Flags.FLAG_ENABLE_WINDOWING_EDGE_DRAG_RESIZE)
public void testCalculateControlType_edgeDragResizeEnabled_corners() {
- final TestPoints fineTestPoints = new TestPoints(TASK_SIZE, FINE_CORNER_SIZE / 2);
- final TestPoints largeCornerTestPoints = new TestPoints(TASK_SIZE, LARGE_CORNER_SIZE / 2);
+ final TestPoints fineTestPoints = new TestPoints(mContext, TASK_SIZE, FINE_CORNER_SIZE / 2);
+ final TestPoints largeCornerTestPoints =
+ new TestPoints(mContext, TASK_SIZE, LARGE_CORNER_SIZE / 2);
// When the flag is enabled, points within fine corners should pass regardless of touch or
// not. Points outside fine corners should not pass when using a course input (non-touch).
@@ -241,8 +244,10 @@
@Test
@DisableFlags(Flags.FLAG_ENABLE_WINDOWING_EDGE_DRAG_RESIZE)
public void testCalculateControlType_edgeDragResizeDisabled_corners() {
- final TestPoints fineTestPoints = new TestPoints(TASK_SIZE, FINE_CORNER_SIZE / 2);
- final TestPoints largeCornerTestPoints = new TestPoints(TASK_SIZE, LARGE_CORNER_SIZE / 2);
+ final TestPoints fineTestPoints =
+ new TestPoints(mContext, TASK_SIZE, FINE_CORNER_SIZE / 2);
+ final TestPoints largeCornerTestPoints =
+ new TestPoints(mContext, TASK_SIZE, LARGE_CORNER_SIZE / 2);
// When the flag is disabled, points within fine corners should pass only from touchscreen.
// Edge resize permitted (indicating the event is from a cursor/stylus) should have no
@@ -284,6 +289,7 @@
* <p>Creates points that are both just within the bounds of each corner, and just outside.
*/
private static final class TestPoints {
+ private final Context mContext;
private final Point mTopLeftPoint;
private final Point mTopLeftPointOutside;
private final Point mTopRightPoint;
@@ -293,7 +299,8 @@
private final Point mBottomRightPoint;
private final Point mBottomRightPointOutside;
- TestPoints(@NonNull Size taskSize, int cornerRadius) {
+ TestPoints(@NonNull Context context, @NonNull Size taskSize, int cornerRadius) {
+ mContext = context;
// Point just inside corner square is included.
mTopLeftPoint = new Point(-cornerRadius + 1, -cornerRadius + 1);
// Point just outside corner square is excluded.
@@ -340,17 +347,17 @@
public void validateCtrlTypeForInnerPoints(@NonNull DragResizeWindowGeometry geometry,
boolean isTouchscreen, boolean isEdgeResizePermitted,
boolean expectedWithinGeometry) {
- assertThat(geometry.calculateCtrlType(isTouchscreen, isEdgeResizePermitted,
+ assertThat(geometry.calculateCtrlType(mContext, isTouchscreen, isEdgeResizePermitted,
mTopLeftPoint.x, mTopLeftPoint.y)).isEqualTo(
expectedWithinGeometry ? CTRL_TYPE_LEFT | CTRL_TYPE_TOP : CTRL_TYPE_UNDEFINED);
- assertThat(geometry.calculateCtrlType(isTouchscreen, isEdgeResizePermitted,
+ assertThat(geometry.calculateCtrlType(mContext, isTouchscreen, isEdgeResizePermitted,
mTopRightPoint.x, mTopRightPoint.y)).isEqualTo(
expectedWithinGeometry ? CTRL_TYPE_RIGHT | CTRL_TYPE_TOP : CTRL_TYPE_UNDEFINED);
- assertThat(geometry.calculateCtrlType(isTouchscreen, isEdgeResizePermitted,
+ assertThat(geometry.calculateCtrlType(mContext, isTouchscreen, isEdgeResizePermitted,
mBottomLeftPoint.x, mBottomLeftPoint.y)).isEqualTo(
expectedWithinGeometry ? CTRL_TYPE_LEFT | CTRL_TYPE_BOTTOM
: CTRL_TYPE_UNDEFINED);
- assertThat(geometry.calculateCtrlType(isTouchscreen, isEdgeResizePermitted,
+ assertThat(geometry.calculateCtrlType(mContext, isTouchscreen, isEdgeResizePermitted,
mBottomRightPoint.x, mBottomRightPoint.y)).isEqualTo(
expectedWithinGeometry ? CTRL_TYPE_RIGHT | CTRL_TYPE_BOTTOM
: CTRL_TYPE_UNDEFINED);
@@ -363,17 +370,17 @@
public void validateCtrlTypeForOutsidePoints(@NonNull DragResizeWindowGeometry geometry,
boolean isTouchscreen, boolean isEdgeResizePermitted,
boolean expectedWithinGeometry) {
- assertThat(geometry.calculateCtrlType(isTouchscreen, isEdgeResizePermitted,
+ assertThat(geometry.calculateCtrlType(mContext, isTouchscreen, isEdgeResizePermitted,
mTopLeftPointOutside.x, mTopLeftPointOutside.y)).isEqualTo(
expectedWithinGeometry ? CTRL_TYPE_LEFT | CTRL_TYPE_TOP : CTRL_TYPE_UNDEFINED);
- assertThat(geometry.calculateCtrlType(isTouchscreen, isEdgeResizePermitted,
+ assertThat(geometry.calculateCtrlType(mContext, isTouchscreen, isEdgeResizePermitted,
mTopRightPointOutside.x, mTopRightPointOutside.y)).isEqualTo(
expectedWithinGeometry ? CTRL_TYPE_RIGHT | CTRL_TYPE_TOP : CTRL_TYPE_UNDEFINED);
- assertThat(geometry.calculateCtrlType(isTouchscreen, isEdgeResizePermitted,
+ assertThat(geometry.calculateCtrlType(mContext, isTouchscreen, isEdgeResizePermitted,
mBottomLeftPointOutside.x, mBottomLeftPointOutside.y)).isEqualTo(
expectedWithinGeometry ? CTRL_TYPE_LEFT | CTRL_TYPE_BOTTOM
: CTRL_TYPE_UNDEFINED);
- assertThat(geometry.calculateCtrlType(isTouchscreen, isEdgeResizePermitted,
+ assertThat(geometry.calculateCtrlType(mContext, isTouchscreen, isEdgeResizePermitted,
mBottomRightPointOutside.x, mBottomRightPointOutside.y)).isEqualTo(
expectedWithinGeometry ? CTRL_TYPE_RIGHT | CTRL_TYPE_BOTTOM
: CTRL_TYPE_UNDEFINED);