Loading libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java +9 −0 Original line number Diff line number Diff line Loading @@ -83,6 +83,7 @@ import com.android.wm.shell.desktopmode.DesktopModeDragAndDropTransitionHandler; import com.android.wm.shell.desktopmode.DesktopModeEventLogger; import com.android.wm.shell.desktopmode.DesktopModeKeyGestureHandler; import com.android.wm.shell.desktopmode.DesktopModeLoggerTransitionObserver; import com.android.wm.shell.desktopmode.DesktopModeUiEventLogger; import com.android.wm.shell.desktopmode.DesktopRepository; import com.android.wm.shell.desktopmode.DesktopTaskChangeListener; import com.android.wm.shell.desktopmode.DesktopTasksController; Loading Loading @@ -1230,6 +1231,14 @@ public abstract class WMShellModule { mainScope); } @WMSingleton @Provides static DesktopModeUiEventLogger provideDesktopUiEventLogger( UiEventLogger uiEventLogger ) { return new DesktopModeUiEventLogger(uiEventLogger); } // // Drag and drop // Loading libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeUiEventLogger.kt +29 −27 Original line number Diff line number Diff line Loading @@ -16,22 +16,20 @@ package com.android.wm.shell.desktopmode import android.util.Log import com.android.internal.logging.InstanceId import com.android.internal.logging.InstanceIdSequence import com.android.internal.logging.UiEvent import com.android.internal.logging.UiEventLogger import com.android.wm.shell.dagger.WMSingleton import javax.inject.Inject import com.android.internal.logging.UiEventLogger.UiEventEnum import com.android.internal.protolog.ProtoLog import com.android.wm.shell.protolog.ShellProtoLogGroup.WM_SHELL_DESKTOP_MODE /** Log Aster UIEvents for desktop windowing mode. */ @WMSingleton class DesktopModeUiEventLogger @Inject constructor( private val mUiEventLogger: UiEventLogger, private val mInstanceIdSequence: InstanceIdSequence class DesktopModeUiEventLogger( private val uiEventLogger: UiEventLogger, ) { private val instanceIdSequence = InstanceIdSequence(Integer.MAX_VALUE) /** * Logs an event for a CUI, on a particular package. * Loading @@ -41,14 +39,14 @@ constructor( */ fun log(uid: Int, packageName: String, event: DesktopUiEventEnum) { if (packageName.isEmpty() || uid < 0) { Log.d(TAG, "Skip logging since package name is empty or bad uid") logD("Skip logging since package name is empty or bad uid") return } mUiEventLogger.log(event, uid, packageName) uiEventLogger.log(event, uid, packageName) } /** Retrieves a new instance id for a new interaction. */ fun getNewInstanceId(): InstanceId = mInstanceIdSequence.newInstanceId() fun getNewInstanceId(): InstanceId = instanceIdSequence.newInstanceId() /** * Logs an event as part of a particular CUI, on a particular package. Loading @@ -66,15 +64,18 @@ constructor( event: DesktopUiEventEnum ) { if (packageName.isEmpty() || uid < 0) { Log.d(TAG, "Skip logging since package name is empty or bad uid") logD("Skip logging since package name is empty or bad uid") return } mUiEventLogger.logWithInstanceId(event, uid, packageName, instanceId) uiEventLogger.logWithInstanceId(event, uid, packageName, instanceId) } private fun logD(msg: String, vararg arguments: Any?) { ProtoLog.d(WM_SHELL_DESKTOP_MODE, "%s: $msg", TAG, *arguments) } companion object { /** Enums for logging desktop windowing mode UiEvents. */ enum class DesktopUiEventEnum(private val mId: Int) : UiEventLogger.UiEventEnum { enum class DesktopUiEventEnum(private val mId: Int) : UiEventEnum { @UiEvent(doc = "Resize the window in desktop windowing mode by dragging the edge") DESKTOP_WINDOW_EDGE_DRAG_RESIZE(1721), Loading @@ -88,6 +89,7 @@ constructor( override fun getId(): Int = mId } companion object { private const val TAG = "DesktopModeUiEventLogger" } } libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopModeUiEventLoggerTest.kt +2 −4 Original line number Diff line number Diff line Loading @@ -20,10 +20,9 @@ package com.android.wm.shell.desktopmode import android.testing.AndroidTestingRunner import androidx.test.filters.SmallTest import com.android.internal.logging.InstanceId import com.android.internal.logging.InstanceIdSequence import com.android.internal.logging.testing.UiEventLoggerFake import com.android.wm.shell.ShellTestCase import com.android.wm.shell.desktopmode.DesktopModeUiEventLogger.Companion.DesktopUiEventEnum.DESKTOP_WINDOW_EDGE_DRAG_RESIZE import com.android.wm.shell.desktopmode.DesktopModeUiEventLogger.DesktopUiEventEnum.DESKTOP_WINDOW_EDGE_DRAG_RESIZE import com.google.common.truth.Truth.assertThat import org.junit.Before import org.junit.Test Loading @@ -39,13 +38,12 @@ import org.junit.runner.RunWith class DesktopModeUiEventLoggerTest : ShellTestCase() { private lateinit var uiEventLoggerFake: UiEventLoggerFake private lateinit var logger: DesktopModeUiEventLogger private val instanceIdSequence = InstanceIdSequence(/* instanceIdMax */ 1 shl 20) @Before fun setUp() { uiEventLoggerFake = UiEventLoggerFake() logger = DesktopModeUiEventLogger(uiEventLoggerFake, instanceIdSequence) logger = DesktopModeUiEventLogger(uiEventLoggerFake) } @Test Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java +9 −0 Original line number Diff line number Diff line Loading @@ -83,6 +83,7 @@ import com.android.wm.shell.desktopmode.DesktopModeDragAndDropTransitionHandler; import com.android.wm.shell.desktopmode.DesktopModeEventLogger; import com.android.wm.shell.desktopmode.DesktopModeKeyGestureHandler; import com.android.wm.shell.desktopmode.DesktopModeLoggerTransitionObserver; import com.android.wm.shell.desktopmode.DesktopModeUiEventLogger; import com.android.wm.shell.desktopmode.DesktopRepository; import com.android.wm.shell.desktopmode.DesktopTaskChangeListener; import com.android.wm.shell.desktopmode.DesktopTasksController; Loading Loading @@ -1230,6 +1231,14 @@ public abstract class WMShellModule { mainScope); } @WMSingleton @Provides static DesktopModeUiEventLogger provideDesktopUiEventLogger( UiEventLogger uiEventLogger ) { return new DesktopModeUiEventLogger(uiEventLogger); } // // Drag and drop // Loading
libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeUiEventLogger.kt +29 −27 Original line number Diff line number Diff line Loading @@ -16,22 +16,20 @@ package com.android.wm.shell.desktopmode import android.util.Log import com.android.internal.logging.InstanceId import com.android.internal.logging.InstanceIdSequence import com.android.internal.logging.UiEvent import com.android.internal.logging.UiEventLogger import com.android.wm.shell.dagger.WMSingleton import javax.inject.Inject import com.android.internal.logging.UiEventLogger.UiEventEnum import com.android.internal.protolog.ProtoLog import com.android.wm.shell.protolog.ShellProtoLogGroup.WM_SHELL_DESKTOP_MODE /** Log Aster UIEvents for desktop windowing mode. */ @WMSingleton class DesktopModeUiEventLogger @Inject constructor( private val mUiEventLogger: UiEventLogger, private val mInstanceIdSequence: InstanceIdSequence class DesktopModeUiEventLogger( private val uiEventLogger: UiEventLogger, ) { private val instanceIdSequence = InstanceIdSequence(Integer.MAX_VALUE) /** * Logs an event for a CUI, on a particular package. * Loading @@ -41,14 +39,14 @@ constructor( */ fun log(uid: Int, packageName: String, event: DesktopUiEventEnum) { if (packageName.isEmpty() || uid < 0) { Log.d(TAG, "Skip logging since package name is empty or bad uid") logD("Skip logging since package name is empty or bad uid") return } mUiEventLogger.log(event, uid, packageName) uiEventLogger.log(event, uid, packageName) } /** Retrieves a new instance id for a new interaction. */ fun getNewInstanceId(): InstanceId = mInstanceIdSequence.newInstanceId() fun getNewInstanceId(): InstanceId = instanceIdSequence.newInstanceId() /** * Logs an event as part of a particular CUI, on a particular package. Loading @@ -66,15 +64,18 @@ constructor( event: DesktopUiEventEnum ) { if (packageName.isEmpty() || uid < 0) { Log.d(TAG, "Skip logging since package name is empty or bad uid") logD("Skip logging since package name is empty or bad uid") return } mUiEventLogger.logWithInstanceId(event, uid, packageName, instanceId) uiEventLogger.logWithInstanceId(event, uid, packageName, instanceId) } private fun logD(msg: String, vararg arguments: Any?) { ProtoLog.d(WM_SHELL_DESKTOP_MODE, "%s: $msg", TAG, *arguments) } companion object { /** Enums for logging desktop windowing mode UiEvents. */ enum class DesktopUiEventEnum(private val mId: Int) : UiEventLogger.UiEventEnum { enum class DesktopUiEventEnum(private val mId: Int) : UiEventEnum { @UiEvent(doc = "Resize the window in desktop windowing mode by dragging the edge") DESKTOP_WINDOW_EDGE_DRAG_RESIZE(1721), Loading @@ -88,6 +89,7 @@ constructor( override fun getId(): Int = mId } companion object { private const val TAG = "DesktopModeUiEventLogger" } }
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopModeUiEventLoggerTest.kt +2 −4 Original line number Diff line number Diff line Loading @@ -20,10 +20,9 @@ package com.android.wm.shell.desktopmode import android.testing.AndroidTestingRunner import androidx.test.filters.SmallTest import com.android.internal.logging.InstanceId import com.android.internal.logging.InstanceIdSequence import com.android.internal.logging.testing.UiEventLoggerFake import com.android.wm.shell.ShellTestCase import com.android.wm.shell.desktopmode.DesktopModeUiEventLogger.Companion.DesktopUiEventEnum.DESKTOP_WINDOW_EDGE_DRAG_RESIZE import com.android.wm.shell.desktopmode.DesktopModeUiEventLogger.DesktopUiEventEnum.DESKTOP_WINDOW_EDGE_DRAG_RESIZE import com.google.common.truth.Truth.assertThat import org.junit.Before import org.junit.Test Loading @@ -39,13 +38,12 @@ import org.junit.runner.RunWith class DesktopModeUiEventLoggerTest : ShellTestCase() { private lateinit var uiEventLoggerFake: UiEventLoggerFake private lateinit var logger: DesktopModeUiEventLogger private val instanceIdSequence = InstanceIdSequence(/* instanceIdMax */ 1 shl 20) @Before fun setUp() { uiEventLoggerFake = UiEventLoggerFake() logger = DesktopModeUiEventLogger(uiEventLoggerFake, instanceIdSequence) logger = DesktopModeUiEventLogger(uiEventLoggerFake) } @Test Loading