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

Commit 7da02517 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Log desktop mode changes to system event log." into main

parents 35bf5bcc 234f8b68
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -197,6 +197,7 @@ java_library {
android_library {
    name: "WindowManager-Shell",
    srcs: [
        "src/com/android/wm/shell/EventLogTags.logtags",
        ":wm_shell_protolog_src",
        // TODO(b/168581922) protologtool do not support kotlin(*.kt)
        ":wm_shell-sources-kt",
+11 −0
Original line number Diff line number Diff line
# See system/logging/logcat/event.logtags for a description of the format of this file.

option java_package com.android.wm.shell

# Do not change these names without updating the checkin_events setting in
# google3/googledata/wireless/android/provisioning/gservices.config !!
#

38500 wm_shell_enter_desktop_mode (EnterReason|1|5),(SessionId|1|5)
38501 wm_shell_exit_desktop_mode (ExitReason|1|5),(SessionId|1|5)
38502 wm_shell_desktop_mode_task_update (TaskEvent|1|5),(InstanceId|1|5),(uid|1|5),(TaskHeight|1),(TaskWidth|1),(TaskX|1),(TaskY|1),(SessionId|1|5),(MinimiseReason|1|5),(UnminimiseReason|1|5),(VisibleTaskCount|1)
+25 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.wm.shell.desktopmode
import com.android.internal.annotations.VisibleForTesting
import com.android.internal.protolog.ProtoLog
import com.android.internal.util.FrameworkStatsLog
import com.android.wm.shell.EventLogTags
import com.android.wm.shell.protolog.ShellProtoLogGroup

/** Event logger for logging desktop mode session events */
@@ -41,6 +42,7 @@ class DesktopModeEventLogger {
            /* exitReason */ 0,
            /* session_id */ sessionId
        )
        EventLogTags.writeWmShellEnterDesktopMode(enterReason.reason, sessionId)
    }

    /**
@@ -61,6 +63,7 @@ class DesktopModeEventLogger {
            /* exitReason */ exitReason.reason,
            /* session_id */ sessionId
        )
        EventLogTags.writeWmShellExitDesktopMode(exitReason.reason, sessionId)
    }

    /**
@@ -135,6 +138,28 @@ class DesktopModeEventLogger {
            /* visible_task_count */
            taskUpdate.visibleTaskCount
        )
        EventLogTags.writeWmShellDesktopModeTaskUpdate(
            /* task_event */
            taskEvent,
            /* instance_id */
            taskUpdate.instanceId,
            /* uid */
            taskUpdate.uid,
            /* task_height */
            taskUpdate.taskHeight,
            /* task_width */
            taskUpdate.taskWidth,
            /* task_x */
            taskUpdate.taskX,
            /* task_y */
            taskUpdate.taskY,
            /* session_id */
            sessionId,
            taskUpdate.minimizeReason?.reason ?: UNSET_MINIMIZE_REASON,
            taskUpdate.unminimizeReason?.reason ?: UNSET_UNMINIMIZE_REASON,
            /* visible_task_count */
            taskUpdate.visibleTaskCount
        )
    }

    companion object {
+96 −3
Original line number Diff line number Diff line
@@ -19,6 +19,8 @@ package com.android.wm.shell.desktopmode
import com.android.dx.mockito.inline.extended.ExtendedMockito.verify
import com.android.internal.util.FrameworkStatsLog
import com.android.modules.utils.testing.ExtendedMockitoRule
import com.android.wm.shell.EventLogTags
import com.android.wm.shell.ShellTestCase
import com.android.wm.shell.desktopmode.DesktopModeEventLogger.Companion.EnterReason
import com.android.wm.shell.desktopmode.DesktopModeEventLogger.Companion.ExitReason
import com.android.wm.shell.desktopmode.DesktopModeEventLogger.Companion.MinimizeReason
@@ -34,14 +36,15 @@ import org.mockito.kotlin.eq
/**
 * Tests for [DesktopModeEventLogger].
 */
class DesktopModeEventLoggerTest {
class DesktopModeEventLoggerTest : ShellTestCase() {

    private val desktopModeEventLogger = DesktopModeEventLogger()

    @JvmField
    @Rule
    val extendedMockitoRule = ExtendedMockitoRule.Builder(this)
            .mockStatic(FrameworkStatsLog::class.java).build()!!
            .mockStatic(FrameworkStatsLog::class.java)
            .mockStatic(EventLogTags::class.java).build()!!

    @Test
    fun logSessionEnter_enterReason() = runBlocking {
@@ -60,6 +63,11 @@ class DesktopModeEventLoggerTest {
                eq(SESSION_ID)
            )
        }
        verify {
            EventLogTags.writeWmShellEnterDesktopMode(
                eq(EnterReason.UNKNOWN_ENTER.reason),
                eq(SESSION_ID))
        }
    }

    @Test
@@ -79,6 +87,11 @@ class DesktopModeEventLoggerTest {
                eq(SESSION_ID)
            )
        }
        verify {
            EventLogTags.writeWmShellExitDesktopMode(
                eq(ExitReason.UNKNOWN_EXIT.reason),
                eq(SESSION_ID))
        }
    }

    @Test
@@ -108,6 +121,22 @@ class DesktopModeEventLoggerTest {
                /* visible_task_count */
                eq(TASK_COUNT))
        }

        verify {
            EventLogTags.writeWmShellDesktopModeTaskUpdate(
                eq(FrameworkStatsLog
                    .DESKTOP_MODE_SESSION_TASK_UPDATE__TASK_EVENT__TASK_ADDED),
                eq(TASK_UPDATE.instanceId),
                eq(TASK_UPDATE.uid),
                eq(TASK_UPDATE.taskHeight),
                eq(TASK_UPDATE.taskWidth),
                eq(TASK_UPDATE.taskX),
                eq(TASK_UPDATE.taskY),
                eq(SESSION_ID),
                eq(UNSET_MINIMIZE_REASON),
                eq(UNSET_UNMINIMIZE_REASON),
                eq(TASK_COUNT))
        }
    }

    @Test
@@ -137,6 +166,22 @@ class DesktopModeEventLoggerTest {
                /* visible_task_count */
                eq(TASK_COUNT))
        }

        verify {
            EventLogTags.writeWmShellDesktopModeTaskUpdate(
                eq(FrameworkStatsLog
                    .DESKTOP_MODE_SESSION_TASK_UPDATE__TASK_EVENT__TASK_REMOVED),
                eq(TASK_UPDATE.instanceId),
                eq(TASK_UPDATE.uid),
                eq(TASK_UPDATE.taskHeight),
                eq(TASK_UPDATE.taskWidth),
                eq(TASK_UPDATE.taskX),
                eq(TASK_UPDATE.taskY),
                eq(SESSION_ID),
                eq(UNSET_MINIMIZE_REASON),
                eq(UNSET_UNMINIMIZE_REASON),
                eq(TASK_COUNT))
        }
    }

    @Test
@@ -167,6 +212,22 @@ class DesktopModeEventLoggerTest {
                /* visible_task_count */
                eq(TASK_COUNT))
        }

        verify {
            EventLogTags.writeWmShellDesktopModeTaskUpdate(
                eq(FrameworkStatsLog
                    .DESKTOP_MODE_SESSION_TASK_UPDATE__TASK_EVENT__TASK_INFO_CHANGED),
                eq(TASK_UPDATE.instanceId),
                eq(TASK_UPDATE.uid),
                eq(TASK_UPDATE.taskHeight),
                eq(TASK_UPDATE.taskWidth),
                eq(TASK_UPDATE.taskX),
                eq(TASK_UPDATE.taskY),
                eq(SESSION_ID),
                eq(UNSET_MINIMIZE_REASON),
                eq(UNSET_UNMINIMIZE_REASON),
                eq(TASK_COUNT))
        }
    }

    @Test
@@ -200,6 +261,22 @@ class DesktopModeEventLoggerTest {
                /* visible_task_count */
                eq(TASK_COUNT))
        }

        verify {
            EventLogTags.writeWmShellDesktopModeTaskUpdate(
                eq(FrameworkStatsLog
                    .DESKTOP_MODE_SESSION_TASK_UPDATE__TASK_EVENT__TASK_INFO_CHANGED),
                eq(TASK_UPDATE.instanceId),
                eq(TASK_UPDATE.uid),
                eq(TASK_UPDATE.taskHeight),
                eq(TASK_UPDATE.taskWidth),
                eq(TASK_UPDATE.taskX),
                eq(TASK_UPDATE.taskY),
                eq(SESSION_ID),
                eq(MinimizeReason.TASK_LIMIT.reason),
                eq(UNSET_UNMINIMIZE_REASON),
                eq(TASK_COUNT))
        }
    }

    @Test
@@ -233,6 +310,22 @@ class DesktopModeEventLoggerTest {
                /* visible_task_count */
                eq(TASK_COUNT))
        }

        verify {
            EventLogTags.writeWmShellDesktopModeTaskUpdate(
                eq(FrameworkStatsLog
                    .DESKTOP_MODE_SESSION_TASK_UPDATE__TASK_EVENT__TASK_INFO_CHANGED),
                eq(TASK_UPDATE.instanceId),
                eq(TASK_UPDATE.uid),
                eq(TASK_UPDATE.taskHeight),
                eq(TASK_UPDATE.taskWidth),
                eq(TASK_UPDATE.taskX),
                eq(TASK_UPDATE.taskY),
                eq(SESSION_ID),
                eq(UNSET_MINIMIZE_REASON),
                eq(UnminimizeReason.TASKBAR_TAP.reason),
                eq(TASK_COUNT))
        }
    }

    companion object {