summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Ben Murdoch <benm@google.com> 2024-08-08 16:24:08 +0000
committer Ben Murdoch <benm@google.com> 2024-08-21 13:57:14 +0000
commit628435d5f3c542e7df4cc7628ff97af783ebaaa8 (patch)
tree5af991f8bbe92e756366e0d391a0198f2a380d27
parent9170c9391f73b2e2215dcbf11ca31d0875e2177a (diff)
Log visible task count in DesktopModeSessionTaskUpdate atom
Bug: 358083671 Test: statsd_testdrive 819 Flag: EXEMPT, trivial logging change Change-Id: I7a115ecf031657f7a2c55f8c91db4e693335b8bd
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeEventLogger.kt4
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeLoggerTransitionObserver.kt14
-rw-r--r--libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopModeEventLoggerTest.kt26
-rw-r--r--libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopModeLoggerTransitionObserverTest.kt60
4 files changed, 72 insertions, 32 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeEventLogger.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeEventLogger.kt
index b6f2a25ff1c0..02cbe01d0a03 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeEventLogger.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeEventLogger.kt
@@ -132,7 +132,8 @@ class DesktopModeEventLogger {
sessionId,
taskUpdate.minimizeReason?.reason ?: UNSET_MINIMIZE_REASON,
taskUpdate.unminimizeReason?.reason ?: UNSET_UNMINIMIZE_REASON,
-
+ /* visible_task_count */
+ taskUpdate.visibleTaskCount
)
}
@@ -159,6 +160,7 @@ class DesktopModeEventLogger {
val taskY: Int,
val minimizeReason: MinimizeReason? = null,
val unminimizeReason: UnminimizeReason? = null,
+ val visibleTaskCount: Int,
)
// Default value used when the task was not minimized.
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeLoggerTransitionObserver.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeLoggerTransitionObserver.kt
index a6ed3b8cb50c..b40f83d6be28 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeLoggerTransitionObserver.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeLoggerTransitionObserver.kt
@@ -291,7 +291,8 @@ class DesktopModeLoggerTransitionObserver(
postTransitionVisibleFreeformTasks: SparseArray<TaskInfo>
) {
postTransitionVisibleFreeformTasks.forEach { taskId, taskInfo ->
- val currentTaskUpdate = buildTaskUpdateForTask(taskInfo)
+ val currentTaskUpdate = buildTaskUpdateForTask(taskInfo,
+ postTransitionVisibleFreeformTasks.size())
val previousTaskInfo = preTransitionVisibleFreeformTasks[taskId]
when {
// new tasks added
@@ -305,15 +306,17 @@ class DesktopModeLoggerTransitionObserver(
}
// old tasks that were resized or repositioned
// TODO(b/347935387): Log changes only once they are stable.
- buildTaskUpdateForTask(previousTaskInfo) != currentTaskUpdate ->
- desktopModeEventLogger.logTaskInfoChanged(sessionId, currentTaskUpdate)
+ buildTaskUpdateForTask(previousTaskInfo, postTransitionVisibleFreeformTasks.size())
+ != currentTaskUpdate ->
+ desktopModeEventLogger.logTaskInfoChanged(sessionId, currentTaskUpdate)
}
}
// find old tasks that were removed
preTransitionVisibleFreeformTasks.forEach { taskId, taskInfo ->
if (!postTransitionVisibleFreeformTasks.containsKey(taskId)) {
- desktopModeEventLogger.logTaskRemoved(sessionId, buildTaskUpdateForTask(taskInfo))
+ desktopModeEventLogger.logTaskRemoved(sessionId,
+ buildTaskUpdateForTask(taskInfo, postTransitionVisibleFreeformTasks.size()))
Trace.setCounter(
Trace.TRACE_TAG_WINDOW_MANAGER,
VISIBLE_TASKS_COUNTER_NAME,
@@ -323,7 +326,7 @@ class DesktopModeLoggerTransitionObserver(
}
}
- private fun buildTaskUpdateForTask(taskInfo: TaskInfo): TaskUpdate {
+ private fun buildTaskUpdateForTask(taskInfo: TaskInfo, visibleTasks: Int): TaskUpdate {
val screenBounds = taskInfo.configuration.windowConfiguration.bounds
val positionInParent = taskInfo.positionInParent
return TaskUpdate(
@@ -333,6 +336,7 @@ class DesktopModeLoggerTransitionObserver(
taskWidth = screenBounds.width(),
taskX = positionInParent.x,
taskY = positionInParent.y,
+ visibleTaskCount = visibleTasks,
)
}
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopModeEventLoggerTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopModeEventLoggerTest.kt
index 70b366110692..ca972296e8d4 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopModeEventLoggerTest.kt
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopModeEventLoggerTest.kt
@@ -104,7 +104,9 @@ class DesktopModeEventLoggerTest {
/* session_id */
eq(SESSION_ID),
eq(UNSET_MINIMIZE_REASON),
- eq(UNSET_UNMINIMIZE_REASON))
+ eq(UNSET_UNMINIMIZE_REASON),
+ /* visible_task_count */
+ eq(TASK_COUNT))
}
}
@@ -131,7 +133,9 @@ class DesktopModeEventLoggerTest {
/* session_id */
eq(SESSION_ID),
eq(UNSET_MINIMIZE_REASON),
- eq(UNSET_UNMINIMIZE_REASON))
+ eq(UNSET_UNMINIMIZE_REASON),
+ /* visible_task_count */
+ eq(TASK_COUNT))
}
}
@@ -159,7 +163,9 @@ class DesktopModeEventLoggerTest {
/* session_id */
eq(SESSION_ID),
eq(UNSET_MINIMIZE_REASON),
- eq(UNSET_UNMINIMIZE_REASON))
+ eq(UNSET_UNMINIMIZE_REASON),
+ /* visible_task_count */
+ eq(TASK_COUNT))
}
}
@@ -190,7 +196,9 @@ class DesktopModeEventLoggerTest {
/* minimize_reason */
eq(MinimizeReason.TASK_LIMIT.reason),
/* unminimize_reason */
- eq(UNSET_UNMINIMIZE_REASON))
+ eq(UNSET_UNMINIMIZE_REASON),
+ /* visible_task_count */
+ eq(TASK_COUNT))
}
}
@@ -221,7 +229,9 @@ class DesktopModeEventLoggerTest {
/* minimize_reason */
eq(UNSET_MINIMIZE_REASON),
/* unminimize_reason */
- eq(UnminimizeReason.TASKBAR_TAP.reason))
+ eq(UnminimizeReason.TASKBAR_TAP.reason),
+ /* visible_task_count */
+ eq(TASK_COUNT))
}
}
@@ -233,15 +243,17 @@ class DesktopModeEventLoggerTest {
private const val TASK_Y = 0
private const val TASK_HEIGHT = 100
private const val TASK_WIDTH = 100
+ private const val TASK_COUNT = 1
private val TASK_UPDATE = TaskUpdate(
- TASK_ID, TASK_UID, TASK_HEIGHT, TASK_WIDTH, TASK_X, TASK_Y
+ TASK_ID, TASK_UID, TASK_HEIGHT, TASK_WIDTH, TASK_X, TASK_Y,
+ visibleTaskCount = TASK_COUNT,
)
private fun createTaskUpdate(
minimizeReason: MinimizeReason? = null,
unminimizeReason: UnminimizeReason? = null,
) = TaskUpdate(TASK_ID, TASK_UID, TASK_HEIGHT, TASK_WIDTH, TASK_X, TASK_Y, minimizeReason,
- unminimizeReason)
+ unminimizeReason, TASK_COUNT)
}
} \ No newline at end of file
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopModeLoggerTransitionObserverTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopModeLoggerTransitionObserverTest.kt
index d4596396840e..c9c6cc63c622 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopModeLoggerTransitionObserverTest.kt
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopModeLoggerTransitionObserverTest.kt
@@ -138,7 +138,8 @@ class DesktopModeLoggerTransitionObserverTest : ShellTestCase() {
callOnTransitionReady(transitionInfo)
- verifyTaskAddedAndEnterLogging(EnterReason.APP_FREEFORM_INTENT, DEFAULT_TASK_UPDATE)
+ verifyTaskAddedAndEnterLogging(EnterReason.APP_FREEFORM_INTENT,
+ DEFAULT_TASK_UPDATE.copy(visibleTaskCount = 1))
}
@Test
@@ -152,7 +153,8 @@ class DesktopModeLoggerTransitionObserverTest : ShellTestCase() {
callOnTransitionReady(transitionInfo)
- verifyTaskAddedAndEnterLogging(EnterReason.APP_HANDLE_DRAG, DEFAULT_TASK_UPDATE)
+ verifyTaskAddedAndEnterLogging(EnterReason.APP_HANDLE_DRAG,
+ DEFAULT_TASK_UPDATE.copy(visibleTaskCount = 1))
}
@Test
@@ -165,7 +167,8 @@ class DesktopModeLoggerTransitionObserverTest : ShellTestCase() {
callOnTransitionReady(transitionInfo)
- verifyTaskAddedAndEnterLogging(EnterReason.APP_HANDLE_MENU_BUTTON, DEFAULT_TASK_UPDATE)
+ verifyTaskAddedAndEnterLogging(EnterReason.APP_HANDLE_MENU_BUTTON,
+ DEFAULT_TASK_UPDATE.copy(visibleTaskCount = 1))
}
@Test
@@ -178,7 +181,8 @@ class DesktopModeLoggerTransitionObserverTest : ShellTestCase() {
callOnTransitionReady(transitionInfo)
- verifyTaskAddedAndEnterLogging(EnterReason.APP_FROM_OVERVIEW, DEFAULT_TASK_UPDATE)
+ verifyTaskAddedAndEnterLogging(EnterReason.APP_FROM_OVERVIEW,
+ DEFAULT_TASK_UPDATE.copy(visibleTaskCount = 1))
}
@Test
@@ -191,7 +195,8 @@ class DesktopModeLoggerTransitionObserverTest : ShellTestCase() {
callOnTransitionReady(transitionInfo)
- verifyTaskAddedAndEnterLogging(EnterReason.KEYBOARD_SHORTCUT_ENTER, DEFAULT_TASK_UPDATE)
+ verifyTaskAddedAndEnterLogging(EnterReason.KEYBOARD_SHORTCUT_ENTER,
+ DEFAULT_TASK_UPDATE.copy(visibleTaskCount = 1))
}
@Test
@@ -201,7 +206,8 @@ class DesktopModeLoggerTransitionObserverTest : ShellTestCase() {
callOnTransitionReady(transitionInfo)
- verifyTaskAddedAndEnterLogging(EnterReason.OVERVIEW, DEFAULT_TASK_UPDATE)
+ verifyTaskAddedAndEnterLogging(EnterReason.OVERVIEW,
+ DEFAULT_TASK_UPDATE.copy(visibleTaskCount = 1))
}
@Test
@@ -231,7 +237,8 @@ class DesktopModeLoggerTransitionObserverTest : ShellTestCase() {
callOnTransitionReady(transitionInfo)
- verifyTaskAddedAndEnterLogging(EnterReason.OVERVIEW, DEFAULT_TASK_UPDATE)
+ verifyTaskAddedAndEnterLogging(EnterReason.OVERVIEW,
+ DEFAULT_TASK_UPDATE.copy(visibleTaskCount = 1))
}
@Test
@@ -261,7 +268,8 @@ class DesktopModeLoggerTransitionObserverTest : ShellTestCase() {
callOnTransitionReady(transitionInfo)
- verifyTaskAddedAndEnterLogging(EnterReason.OVERVIEW, DEFAULT_TASK_UPDATE)
+ verifyTaskAddedAndEnterLogging(EnterReason.OVERVIEW,
+ DEFAULT_TASK_UPDATE.copy(visibleTaskCount = 1))
}
@Test
@@ -291,7 +299,8 @@ class DesktopModeLoggerTransitionObserverTest : ShellTestCase() {
callOnTransitionReady(transitionInfo)
- verifyTaskAddedAndEnterLogging(EnterReason.OVERVIEW, DEFAULT_TASK_UPDATE)
+ verifyTaskAddedAndEnterLogging(EnterReason.OVERVIEW,
+ DEFAULT_TASK_UPDATE.copy(visibleTaskCount = 1))
}
@Test
@@ -324,7 +333,8 @@ class DesktopModeLoggerTransitionObserverTest : ShellTestCase() {
callOnTransitionReady(transitionInfo)
- verifyTaskAddedAndEnterLogging(EnterReason.APP_FROM_OVERVIEW, DEFAULT_TASK_UPDATE)
+ verifyTaskAddedAndEnterLogging(EnterReason.APP_FROM_OVERVIEW,
+ DEFAULT_TASK_UPDATE.copy(visibleTaskCount = 1))
}
@Test
@@ -335,7 +345,8 @@ class DesktopModeLoggerTransitionObserverTest : ShellTestCase() {
callOnTransitionReady(transitionInfo)
- verifyTaskAddedAndEnterLogging(EnterReason.UNKNOWN_ENTER, DEFAULT_TASK_UPDATE)
+ verifyTaskAddedAndEnterLogging(EnterReason.UNKNOWN_ENTER,
+ DEFAULT_TASK_UPDATE.copy(visibleTaskCount = 1))
}
@Test
@@ -345,7 +356,8 @@ class DesktopModeLoggerTransitionObserverTest : ShellTestCase() {
callOnTransitionReady(transitionInfo)
- verifyTaskAddedAndEnterLogging(EnterReason.SCREEN_ON, DEFAULT_TASK_UPDATE)
+ verifyTaskAddedAndEnterLogging(EnterReason.SCREEN_ON,
+ DEFAULT_TASK_UPDATE.copy(visibleTaskCount = 1))
}
@Test
@@ -481,7 +493,8 @@ class DesktopModeLoggerTransitionObserverTest : ShellTestCase() {
val transitionInfo2 = TransitionInfoBuilder(TRANSIT_NONE).build()
callOnTransitionReady(transitionInfo2)
- verifyTaskAddedAndEnterLogging(EnterReason.OVERVIEW, DEFAULT_TASK_UPDATE)
+ verifyTaskAddedAndEnterLogging(EnterReason.OVERVIEW,
+ DEFAULT_TASK_UPDATE.copy(visibleTaskCount = 1))
}
@Test
@@ -497,7 +510,8 @@ class DesktopModeLoggerTransitionObserverTest : ShellTestCase() {
callOnTransitionReady(transitionInfo)
verify(desktopModeEventLogger, times(1))
- .logTaskAdded(eq(sessionId), eq(DEFAULT_TASK_UPDATE.copy(instanceId = 2)))
+ .logTaskAdded(eq(sessionId),
+ eq(DEFAULT_TASK_UPDATE.copy(instanceId = 2, visibleTaskCount = 2)))
verify(desktopModeEventLogger, never()).logSessionEnter(any(), any())
}
@@ -519,7 +533,8 @@ class DesktopModeLoggerTransitionObserverTest : ShellTestCase() {
verify(desktopModeEventLogger, times(1))
.logTaskInfoChanged(
- eq(sessionId), eq(DEFAULT_TASK_UPDATE.copy(taskX = DEFAULT_TASK_X + 100)))
+ eq(sessionId),
+ eq(DEFAULT_TASK_UPDATE.copy(taskX = DEFAULT_TASK_X + 100, visibleTaskCount = 1)))
verifyZeroInteractions(desktopModeEventLogger)
}
@@ -548,7 +563,8 @@ class DesktopModeLoggerTransitionObserverTest : ShellTestCase() {
eq(sessionId),
eq(
DEFAULT_TASK_UPDATE.copy(
- taskWidth = DEFAULT_TASK_WIDTH + 100, taskHeight = DEFAULT_TASK_HEIGHT - 100)))
+ taskWidth = DEFAULT_TASK_WIDTH + 100, taskHeight = DEFAULT_TASK_HEIGHT - 100,
+ visibleTaskCount = 1)))
verifyZeroInteractions(desktopModeEventLogger)
}
@@ -572,7 +588,8 @@ class DesktopModeLoggerTransitionObserverTest : ShellTestCase() {
verify(desktopModeEventLogger, times(1))
.logTaskInfoChanged(
- eq(sessionId), eq(DEFAULT_TASK_UPDATE.copy(taskX = DEFAULT_TASK_X + 100)))
+ eq(sessionId), eq(DEFAULT_TASK_UPDATE.copy(
+ taskX = DEFAULT_TASK_X + 100, visibleTaskCount = 2)))
verifyZeroInteractions(desktopModeEventLogger)
// task 2 resize
@@ -596,7 +613,9 @@ class DesktopModeLoggerTransitionObserverTest : ShellTestCase() {
DEFAULT_TASK_UPDATE.copy(
instanceId = 2,
taskWidth = DEFAULT_TASK_WIDTH + 100,
- taskHeight = DEFAULT_TASK_HEIGHT - 100)))
+ taskHeight = DEFAULT_TASK_HEIGHT - 100,
+ visibleTaskCount = 2)),
+ )
verifyZeroInteractions(desktopModeEventLogger)
}
@@ -614,7 +633,8 @@ class DesktopModeLoggerTransitionObserverTest : ShellTestCase() {
callOnTransitionReady(transitionInfo)
verify(desktopModeEventLogger, times(1))
- .logTaskRemoved(eq(sessionId), eq(DEFAULT_TASK_UPDATE.copy(instanceId = 2)))
+ .logTaskRemoved(eq(sessionId), eq(DEFAULT_TASK_UPDATE.copy(
+ instanceId = 2, visibleTaskCount = 1)))
verify(desktopModeEventLogger, never()).logSessionExit(any(), any())
}
@@ -653,6 +673,7 @@ class DesktopModeLoggerTransitionObserverTest : ShellTestCase() {
const val DEFAULT_TASK_WIDTH = 200
const val DEFAULT_TASK_X = 30
const val DEFAULT_TASK_Y = 70
+ const val DEFAULT_VISIBLE_TASK_COUNT = 0
val DEFAULT_TASK_UPDATE =
TaskUpdate(
DEFAULT_TASK_ID,
@@ -661,6 +682,7 @@ class DesktopModeLoggerTransitionObserverTest : ShellTestCase() {
DEFAULT_TASK_WIDTH,
DEFAULT_TASK_X,
DEFAULT_TASK_Y,
+ visibleTaskCount = DEFAULT_VISIBLE_TASK_COUNT,
)
fun createTaskInfo(