Loading libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt +5 −1 Original line number Diff line number Diff line Loading @@ -4111,7 +4111,11 @@ class DesktopTasksController( if (DesktopExperienceFlags.ENABLE_DESKTOP_FIRST_TOP_FULLSCREEN_BUGFIX.isTrue) { val anyDeskActive = repository.isAnyDeskActive(targetDisplayId) val focusedTask = focusTransitionObserver.getFocusedTaskOnDisplay(targetDisplayId) // TODO(b/436462692) - Make `getFocusedTaskOnDisplay` always returns the latest TaskInfo val focusedTask = focusTransitionObserver.getFocusedTaskOnDisplay(targetDisplayId)?.let { shellTaskOrganizer.getRunningTaskInfo(it.taskId) } val isFullscreenFocused = focusedTask?.isFullscreen == true val isNonHomeFocused = focusedTask?.activityType != ACTIVITY_TYPE_HOME logV( Loading libs/WindowManager/Shell/src/com/android/wm/shell/transition/FocusTransitionObserver.java +3 −1 Original line number Diff line number Diff line Loading @@ -269,7 +269,8 @@ public class FocusTransitionObserver { } /** * Gets the focused task on a specific display. * Gets the focused task on a specific display. Be careful when you access the properties of the * returned value which may be stale (b/436462692). * * @param displayId The ID of the display. * @return The {@link RunningTaskInfo} of the focused task on the given display, Loading @@ -277,6 +278,7 @@ public class FocusTransitionObserver { */ @Nullable public RunningTaskInfo getFocusedTaskOnDisplay(int displayId) { // TODO(b/436462692) - Make `getFocusedTaskOnDisplay` always returns the latest TaskInfo return mFocusedTaskOnDisplay.get(displayId); } Loading libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksControllerTest.kt +2 −2 Original line number Diff line number Diff line Loading @@ -5868,7 +5868,7 @@ class DesktopTasksControllerTest(flags: FlagsParameterization) : ShellTestCase() val tda = rootTaskDisplayAreaOrganizer.getDisplayAreaInfo(DEFAULT_DISPLAY)!! tda.configuration.windowConfiguration.windowingMode = WINDOWING_MODE_FREEFORM val focusedFullscreenTask = createFullscreenTask() val focusedFullscreenTask = setUpFullscreenTask() whenever(focusTransitionObserver.getFocusedTaskOnDisplay(any())) .thenReturn(focusedFullscreenTask) Loading Loading @@ -6266,7 +6266,7 @@ class DesktopTasksControllerTest(flags: FlagsParameterization) : ShellTestCase() val tda = rootTaskDisplayAreaOrganizer.getDisplayAreaInfo(DEFAULT_DISPLAY)!! tda.configuration.windowConfiguration.windowingMode = WINDOWING_MODE_FREEFORM val focusedFullscreenTask = createFullscreenTask() val focusedFullscreenTask = setUpFullscreenTask() whenever(focusTransitionObserver.getFocusedTaskOnDisplay(any())) .thenReturn(focusedFullscreenTask) Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt +5 −1 Original line number Diff line number Diff line Loading @@ -4111,7 +4111,11 @@ class DesktopTasksController( if (DesktopExperienceFlags.ENABLE_DESKTOP_FIRST_TOP_FULLSCREEN_BUGFIX.isTrue) { val anyDeskActive = repository.isAnyDeskActive(targetDisplayId) val focusedTask = focusTransitionObserver.getFocusedTaskOnDisplay(targetDisplayId) // TODO(b/436462692) - Make `getFocusedTaskOnDisplay` always returns the latest TaskInfo val focusedTask = focusTransitionObserver.getFocusedTaskOnDisplay(targetDisplayId)?.let { shellTaskOrganizer.getRunningTaskInfo(it.taskId) } val isFullscreenFocused = focusedTask?.isFullscreen == true val isNonHomeFocused = focusedTask?.activityType != ACTIVITY_TYPE_HOME logV( Loading
libs/WindowManager/Shell/src/com/android/wm/shell/transition/FocusTransitionObserver.java +3 −1 Original line number Diff line number Diff line Loading @@ -269,7 +269,8 @@ public class FocusTransitionObserver { } /** * Gets the focused task on a specific display. * Gets the focused task on a specific display. Be careful when you access the properties of the * returned value which may be stale (b/436462692). * * @param displayId The ID of the display. * @return The {@link RunningTaskInfo} of the focused task on the given display, Loading @@ -277,6 +278,7 @@ public class FocusTransitionObserver { */ @Nullable public RunningTaskInfo getFocusedTaskOnDisplay(int displayId) { // TODO(b/436462692) - Make `getFocusedTaskOnDisplay` always returns the latest TaskInfo return mFocusedTaskOnDisplay.get(displayId); } Loading
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksControllerTest.kt +2 −2 Original line number Diff line number Diff line Loading @@ -5868,7 +5868,7 @@ class DesktopTasksControllerTest(flags: FlagsParameterization) : ShellTestCase() val tda = rootTaskDisplayAreaOrganizer.getDisplayAreaInfo(DEFAULT_DISPLAY)!! tda.configuration.windowConfiguration.windowingMode = WINDOWING_MODE_FREEFORM val focusedFullscreenTask = createFullscreenTask() val focusedFullscreenTask = setUpFullscreenTask() whenever(focusTransitionObserver.getFocusedTaskOnDisplay(any())) .thenReturn(focusedFullscreenTask) Loading Loading @@ -6266,7 +6266,7 @@ class DesktopTasksControllerTest(flags: FlagsParameterization) : ShellTestCase() val tda = rootTaskDisplayAreaOrganizer.getDisplayAreaInfo(DEFAULT_DISPLAY)!! tda.configuration.windowConfiguration.windowingMode = WINDOWING_MODE_FREEFORM val focusedFullscreenTask = createFullscreenTask() val focusedFullscreenTask = setUpFullscreenTask() whenever(focusTransitionObserver.getFocusedTaskOnDisplay(any())) .thenReturn(focusedFullscreenTask) Loading