From 9d31790a7bc447334baa84b4e3bfd144ba3bd798 Mon Sep 17 00:00:00 2001 From: vinayjoglekar Date: Thu, 2 Jan 2025 14:46:04 +0000 Subject: [PATCH] Add instrumentation for adding overview task to desktop window using overivew task's menu. Test needed to be updated since there is null check for the view and the context here. https://source.corp.google.com/h/googleplex-android/platform/superproject/main-al-dev/+/main-al-dev:frameworks/base/core/java/com/android/internal/jank/InteractionJankMonitor.java;l=846 Bug: 339585622 Test: DesktopSystemShortcutTest Flag: NONE new perfetto instrumentation Change-Id: I33b7e83f548e8364ac09ffa7ba2cac7a52bbbf77 --- .../com/android/quickstep/DesktopSystemShortcut.kt | 14 +++++++++----- .../com/android/quickstep/views/RecentsView.java | 2 ++ .../android/quickstep/DesktopSystemShortcutTest.kt | 3 +++ 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/quickstep/src/com/android/quickstep/DesktopSystemShortcut.kt b/quickstep/src/com/android/quickstep/DesktopSystemShortcut.kt index 94f49205d7..d60dab655d 100644 --- a/quickstep/src/com/android/quickstep/DesktopSystemShortcut.kt +++ b/quickstep/src/com/android/quickstep/DesktopSystemShortcut.kt @@ -17,6 +17,7 @@ package com.android.quickstep import android.view.View +import com.android.internal.jank.Cuj import com.android.launcher3.AbstractFloatingViewHelper import com.android.launcher3.R import com.android.launcher3.logging.StatsLogManager.LauncherEvent @@ -24,6 +25,7 @@ import com.android.launcher3.popup.SystemShortcut import com.android.quickstep.views.RecentsView import com.android.quickstep.views.RecentsViewContainer import com.android.quickstep.views.TaskContainer +import com.android.systemui.shared.system.InteractionJankMonitorWrapper import com.android.wm.shell.shared.desktopmode.DesktopModeStatus import com.android.wm.shell.shared.desktopmode.DesktopModeTransitionSource @@ -31,7 +33,7 @@ import com.android.wm.shell.shared.desktopmode.DesktopModeTransitionSource class DesktopSystemShortcut( container: RecentsViewContainer, private val taskContainer: TaskContainer, - abstractFloatingViewHelper: AbstractFloatingViewHelper + abstractFloatingViewHelper: AbstractFloatingViewHelper, ) : SystemShortcut( R.drawable.ic_desktop, @@ -39,15 +41,17 @@ class DesktopSystemShortcut( container, taskContainer.itemInfo, taskContainer.taskView, - abstractFloatingViewHelper + abstractFloatingViewHelper, ) { override fun onClick(view: View) { + InteractionJankMonitorWrapper.begin(view, Cuj.CUJ_DESKTOP_MODE_ENTER_FROM_OVERVIEW_MENU) dismissTaskMenuView() val recentsView = mTarget.getOverviewPanel>() recentsView.moveTaskToDesktop( taskContainer, - DesktopModeTransitionSource.APP_FROM_OVERVIEW + DesktopModeTransitionSource.APP_FROM_OVERVIEW, ) { + InteractionJankMonitorWrapper.end(Cuj.CUJ_DESKTOP_MODE_ENTER_FROM_OVERVIEW_MENU) mTarget.statsLogManager .logger() .withItemInfo(taskContainer.itemInfo) @@ -64,7 +68,7 @@ class DesktopSystemShortcut( return object : TaskShortcutFactory { override fun getShortcuts( container: RecentsViewContainer, - taskContainer: TaskContainer + taskContainer: TaskContainer, ): List? { return if (!DesktopModeStatus.canEnterDesktopMode(container.asContext())) null else if (!taskContainer.task.isDockable) null @@ -73,7 +77,7 @@ class DesktopSystemShortcut( DesktopSystemShortcut( container, taskContainer, - abstractFloatingViewHelper + abstractFloatingViewHelper, ) ) } diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index ab96474dc7..f895edba8b 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -6814,6 +6814,8 @@ public abstract class RecentsView< } mDesktopRecentsTransitionController.moveToDesktop(taskContainer, transitionSource); + // TODO(b/387471509): Invoke successCallback after actual transition completion of + // overview menu to desktop successCallback.run(); } diff --git a/quickstep/tests/src/com/android/quickstep/DesktopSystemShortcutTest.kt b/quickstep/tests/src/com/android/quickstep/DesktopSystemShortcutTest.kt index 94e7c2ea4f..c152ee166e 100644 --- a/quickstep/tests/src/com/android/quickstep/DesktopSystemShortcutTest.kt +++ b/quickstep/tests/src/com/android/quickstep/DesktopSystemShortcutTest.kt @@ -18,6 +18,7 @@ package com.android.quickstep import android.content.ComponentName import android.content.Intent +import androidx.test.platform.app.InstrumentationRegistry import com.android.dx.mockito.inline.extended.ExtendedMockito.mockitoSession import com.android.dx.mockito.inline.extended.StaticMockitoSession import com.android.launcher3.AbstractFloatingView @@ -113,6 +114,8 @@ class DesktopSystemShortcutTest { whenever(launcher.statsLogManager).thenReturn(statsLogManager) whenever(statsLogManager.logger()).thenReturn(statsLogger) whenever(statsLogger.withItemInfo(any())).thenReturn(statsLogger) + whenever(taskView.context) + .thenReturn(InstrumentationRegistry.getInstrumentation().targetContext) whenever(recentsView.moveTaskToDesktop(any(), any(), any())).thenAnswer { val successCallback = it.getArgument(2) successCallback.run()