Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 628435d5 authored by Ben Murdoch's avatar Ben Murdoch
Browse files

Log visible task count in DesktopModeSessionTaskUpdate atom

Bug: 358083671
Test: statsd_testdrive 819
Flag: EXEMPT, trivial logging change
Change-Id: I7a115ecf031657f7a2c55f8c91db4e693335b8bd
parent 9170c939
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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.
+9 −5
Original line number Diff line number Diff line
@@ -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,7 +306,8 @@ class DesktopModeLoggerTransitionObserver(
                }
                // old tasks that were resized or repositioned
                // TODO(b/347935387): Log changes only once they are stable.
                buildTaskUpdateForTask(previousTaskInfo) != currentTaskUpdate ->
                buildTaskUpdateForTask(previousTaskInfo, postTransitionVisibleFreeformTasks.size())
                        != currentTaskUpdate ->
                            desktopModeEventLogger.logTaskInfoChanged(sessionId, currentTaskUpdate)
            }
        }
@@ -313,7 +315,8 @@ class DesktopModeLoggerTransitionObserver(
        // 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,
        )
    }

+19 −7
Original line number Diff line number Diff line
@@ -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
+41 −19
Original line number Diff line number Diff line
@@ -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(