summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Qijing Yao <yaoqq@google.com> 2025-01-23 20:24:05 +0900
committer Qijing Yao <yaoqq@google.com> 2025-01-23 21:54:35 +0900
commit41fda6b8cf1d42af48a99d149deffb8605da88be (patch)
tree9db543683f2dfe688953439615b29cc301595967
parentba4eebc6eaafe98de5ac79035973a48ca33172c3 (diff)
Fix MultiDisplayVeiledResizeTaskPositionerTest failure
Kotlin 2.0 enforces stricter NonNull requirements, causing tests related to `SurfaceControl.Transaction#setPosition` to fail. These tests previously passed with Kotlin 1.9 without explicitly handling the return value of `setPosition`, which now requires returning a NonNull object. This commit fixes the failing tests by explicitly returning the mocked `Transaction` object when `setPosition` is called. And updated the source code to use getLeash instead of directly getting `mTaskSurface` in order to hijack the `setPosition` call. Bug: 391717499 Test: atest Flag: EXEMPT unblock presubmit Change-Id: I081b6e7695aaba6d745d559b548eaa8b66b51d1f
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/MultiDisplayVeiledResizeTaskPositioner.kt2
-rw-r--r--libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/MultiDisplayVeiledResizeTaskPositionerTest.kt10
2 files changed, 6 insertions, 6 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/MultiDisplayVeiledResizeTaskPositioner.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/MultiDisplayVeiledResizeTaskPositioner.kt
index 07496eb0e526..a9c2e68e62a6 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/MultiDisplayVeiledResizeTaskPositioner.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/MultiDisplayVeiledResizeTaskPositioner.kt
@@ -199,7 +199,7 @@ class MultiDisplayVeiledResizeTaskPositioner(
// TODO(b/383069173): Render drag indicator(s)
t.setPosition(
- desktopWindowDecoration.mTaskSurface,
+ desktopWindowDecoration.leash,
repositionTaskBounds.left.toFloat(),
repositionTaskBounds.top.toFloat(),
)
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/MultiDisplayVeiledResizeTaskPositionerTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/MultiDisplayVeiledResizeTaskPositionerTest.kt
index 0615c1d677ba..63babc5e1c3c 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/MultiDisplayVeiledResizeTaskPositionerTest.kt
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/MultiDisplayVeiledResizeTaskPositionerTest.kt
@@ -51,11 +51,10 @@ import com.android.wm.shell.windowdecor.DragPositioningCallback.CTRL_TYPE_UNDEFI
import java.util.function.Supplier
import junit.framework.Assert
import org.junit.Before
-import org.junit.Ignore
import org.junit.Test
import org.junit.runner.RunWith
+import org.mockito.kotlin.any
import org.mockito.Mock
-import org.mockito.Mockito.any
import org.mockito.Mockito.argThat
import org.mockito.Mockito.doAnswer
import org.mockito.Mockito.eq
@@ -93,6 +92,8 @@ class MultiDisplayVeiledResizeTaskPositionerTest : ShellTestCase() {
@Mock private lateinit var mockFinishCallback: TransitionFinishCallback
@Mock private lateinit var mockTransitions: Transitions
@Mock private lateinit var mockInteractionJankMonitor: InteractionJankMonitor
+ @Mock private lateinit var mockSurfaceControl: SurfaceControl
+
private lateinit var resources: TestableResources
private lateinit var spyDisplayLayout0: DisplayLayout
private lateinit var spyDisplayLayout1: DisplayLayout
@@ -145,6 +146,8 @@ class MultiDisplayVeiledResizeTaskPositionerTest : ShellTestCase() {
.`when`(spyDisplayLayout0)
.getStableBounds(any())
`when`(mockTransactionFactory.get()).thenReturn(mockTransaction)
+ `when`(mockDesktopWindowDecoration.leash).thenReturn(mockSurfaceControl)
+ `when`(mockTransaction.setPosition(any(), any(), any())).thenReturn(mockTransaction)
mockDesktopWindowDecoration.mTaskInfo =
ActivityManager.RunningTaskInfo().apply {
taskId = TASK_ID
@@ -207,7 +210,6 @@ class MultiDisplayVeiledResizeTaskPositionerTest : ShellTestCase() {
}
@Test
- @Ignore("Causing presubmit failure b/391717499")
fun testDragResize_movesTask_doesNotShowResizeVeil() = runOnUiThread {
taskPositioner.onDragPositioningStart(
CTRL_TYPE_UNDEFINED,
@@ -247,7 +249,6 @@ class MultiDisplayVeiledResizeTaskPositionerTest : ShellTestCase() {
}
@Test
- @Ignore("Causing presubmit failure b/391717499")
fun testDragResize_movesTaskToNewDisplay() = runOnUiThread {
taskPositioner.onDragPositioningStart(
CTRL_TYPE_UNDEFINED,
@@ -373,7 +374,6 @@ class MultiDisplayVeiledResizeTaskPositionerTest : ShellTestCase() {
}
@Test
- @Ignore("Causing presubmit failure b/391717499")
fun testDragResize_drag_setBoundsNotRunIfDragEndsInDisallowedEndArea() = runOnUiThread {
taskPositioner.onDragPositioningStart(
CTRL_TYPE_UNDEFINED, // drag