diff options
| author | 2024-08-08 16:24:08 +0000 | |
|---|---|---|
| committer | 2024-08-21 13:57:14 +0000 | |
| commit | 628435d5f3c542e7df4cc7628ff97af783ebaaa8 (patch) | |
| tree | 5af991f8bbe92e756366e0d391a0198f2a380d27 | |
| parent | 9170c9391f73b2e2215dcbf11ca31d0875e2177a (diff) | |
Log visible task count in DesktopModeSessionTaskUpdate atom
Bug: 358083671
Test: statsd_testdrive 819
Flag: EXEMPT, trivial logging change
Change-Id: I7a115ecf031657f7a2c55f8c91db4e693335b8bd
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( |