summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> 2024-12-18 19:20:33 -0800
committer Android (Google) Code Review <android-gerrit@google.com> 2024-12-18 19:20:33 -0800
commit0b64be3af1792ee76ea8b399f2304ab0bd9debf4 (patch)
tree484f8659c4af279ed00d7fd058aecae5a7ada584
parent5fc39c6f6488c7546c75f148a1382e069aa8ef3e (diff)
parente2d3ce6c006a053884054b0657035108e38d2a02 (diff)
Merge "[Desktop Windowing] Use Change leash for minimize animation CUJ" into main
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksLimiter.kt22
-rw-r--r--libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksLimiterTest.kt6
2 files changed, 17 insertions, 11 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksLimiter.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksLimiter.kt
index 45faba6e341f..0330a5f0c4e7 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksLimiter.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksLimiter.kt
@@ -127,14 +127,20 @@ class DesktopTasksLimiter(
override fun onTransitionStarting(transition: IBinder) {
val mActiveTaskDetails = activeTransitionTokensAndTasks[transition]
- if (mActiveTaskDetails != null && mActiveTaskDetails.transitionInfo != null) {
- // Begin minimize window CUJ instrumentation.
- interactionJankMonitor.begin(
- mActiveTaskDetails.transitionInfo?.rootLeash,
- context,
- handler,
- CUJ_DESKTOP_MODE_MINIMIZE_WINDOW,
- )
+ val info = mActiveTaskDetails?.transitionInfo ?: return
+ val minimizeChange = getMinimizeChange(info, mActiveTaskDetails.taskId) ?: return
+ // Begin minimize window CUJ instrumentation.
+ interactionJankMonitor.begin(
+ minimizeChange.leash,
+ context,
+ handler,
+ CUJ_DESKTOP_MODE_MINIMIZE_WINDOW,
+ )
+ }
+
+ private fun getMinimizeChange(info: TransitionInfo, taskId: Int): TransitionInfo.Change? {
+ return info.changes.find { change ->
+ change.taskInfo?.taskId == taskId && change.mode == TRANSIT_TO_BACK
}
}
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksLimiterTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksLimiterTest.kt
index e6f1fcf7f14f..52602f22fd4b 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksLimiterTest.kt
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksLimiterTest.kt
@@ -551,7 +551,7 @@ class DesktopTasksLimiterTest : ShellTestCase() {
.getTransitionObserver()
.onTransitionReady(
transition,
- TransitionInfoBuilder(TRANSIT_OPEN).build(),
+ TransitionInfoBuilder(TRANSIT_OPEN).addChange(TRANSIT_TO_BACK, task).build(),
StubTransaction() /* startTransaction */,
StubTransaction(), /* finishTransaction */
)
@@ -583,7 +583,7 @@ class DesktopTasksLimiterTest : ShellTestCase() {
.getTransitionObserver()
.onTransitionReady(
transition,
- TransitionInfoBuilder(TRANSIT_OPEN).build(),
+ TransitionInfoBuilder(TRANSIT_OPEN).addChange(TRANSIT_TO_BACK, task).build(),
StubTransaction() /* startTransaction */,
StubTransaction(), /* finishTransaction */
)
@@ -616,7 +616,7 @@ class DesktopTasksLimiterTest : ShellTestCase() {
.getTransitionObserver()
.onTransitionReady(
mergedTransition,
- TransitionInfoBuilder(TRANSIT_OPEN).build(),
+ TransitionInfoBuilder(TRANSIT_OPEN).addChange(TRANSIT_TO_BACK, task).build(),
StubTransaction() /* startTransaction */,
StubTransaction(), /* finishTransaction */
)