Commit Graph

1518 Commits

Author SHA1 Message Date
Tony Wickham 87455f28fc TaskbarManager now sets TaskbarUIController for RecentsWindowManager
- FallbackTaskbarUIController can take in a generic
  RecentsViewContainer parameter, i.e. RecentsActivity or
  RecentsWindowManager.
- When changing Overview targets to RecentsWindowManager, which is not
  an Activity, we still update the TaskbarUIController

Test: Switch between default Home activities with the flag on and off,
ensure Taskbar works as expected in each case (3P vs 1P launcher).
Flag: com.android.launcher3.enable_fallback_overview_in_window
Fixes: 368030750
Fixes: 365775636

Change-Id: Ife775e8c226f8c73ec9e1f97b4a6f2972f6c905f
2024-10-30 20:21:26 +00:00
Liran Binyamin 6fc00481ab Merge "Allow updating the flyout message" into main 2024-10-28 20:48:45 +00:00
Liran Binyamin 35e6157303 Allow updating the flyout message
Add functions to allow updating the contents of the flyout while it
is either expanding or fully expanded.

Flag: com.android.wm.shell.enable_bubble_bar
Bug: 277815200
Test: atest BubbleBarFlyoutControllerTest
Change-Id: Iea3fc7df792e02605df6b44c1da39e267f6d9d43
2024-10-28 09:58:37 -04:00
Jordan Silva 7054095b16 Add TAPL test for dismiss DesktopTaskView
This CL adds 2 new E2E Tapl tests for checking dismiss DesktopTaskView.
- dismissFocusedTask_thenDesktopIsCentered validates the following scenarios:
  - Scenario: When Focused Task is in the center of the screen, with 1 other task in the grid and 1 desktop task.
  - When focused task is dismissed, the next task in the grid takes its place to be the next focused task at the center of the screen.
  - When the last focused task is dismissed, the desktop task takes its place at the center of the screen.

- dismissDesktopTask_thenFocusedTaskIsCentred validates the following scenarios:
  - Scenario: When Desktop Task is in the center of the screen, with 1 focused task and 1 task in the grid.
  - When focused task is dismissed, the next task in the grid takes its place, adjacent to desktop task.
  - When desktop task is dismissed, the focused task takes its place at the center of the screen.

Fix: 353948500
Flag: com.android.launcher3.enable_large_desktop_windowing_tile
Test: TaplTestsOverviewDesktop
Change-Id: Ie2aa28cd2b30a2bf10e877721416399bcf47acf6
2024-10-28 12:25:25 +00:00
Liran Binyamin abc4b6a137 Merge "Handle taps on bubble bar flyout" into main 2024-10-24 13:26:50 +00:00
Mykola Podolian 4dc6617988 Merge "Updated bubble bar position to be center aligned with the hotseat" into main 2024-10-24 02:10:43 +00:00
Liran Binyamin aa3f772622 Handle taps on bubble bar flyout
Expand the bubble bar when the user taps on the flyout view.

Flag: com.android.wm.shell.enable_bubble_bar
Bug: 277815200
Test: atest BubbleBarViewAnimatorTest
Test: atest BubbleBarFlyoutControllerTest
Change-Id: I156acfa663d6a00bc70dd7bbfc35642643902d83
2024-10-23 19:46:14 -04:00
mpodolian f230eee2ff Updated bubble bar position to be center aligned with the hotseat
Added a method to the device profile to calculate the vertical center of
the hotseat icons. Simplified the logic for positioning the bubble bar.

Test: TransientBubbleStashControllerTest
Test: PersistentBubbleStashControllerTest
Test: Visual. Go to home page, check that bubble bar is vertically
center aligned with the hotseat
Bug: 345491493
Flag: com.android.wm.shell.enable_bubble_bar

Change-Id: I52f1b94de79f6c912f43a88fcc5c884e20e56310
2024-10-23 14:44:40 -07:00
Treehugger Robot 08007068d4 Merge "Generalize ActivityTracker to support RecentsWindowManager" into main 2024-10-22 21:26:58 +00:00
Schneider Victor-Tulias 8463dc47eb Generalize ActivityTracker to support RecentsWindowManager
Continued quick switch couldn't work using existing infrastructure until RecentsWindowManager could be properly tracked by ActivityTracker. Refactored ActivityTracker into ContextTracker to support this.

Also refactored ActivityInitListener into ContextInitListener to fit the updated pattern.

Flag: com.android.launcher3.enable_fallback_overview_in_window
Fixes: 366023051
Test: RecentsWindowSwipeHandlerTestCase; Attempted continued quick switch from home and launched app
Change-Id: Ic38ebf3611ef22fbfd1ddeb79d72d8a3621940a0
2024-10-22 15:29:59 -04:00
Uwais Ashraf bea43b0c03 Merge changes I54ea7a71,Ifd9c54fd into main
* changes:
  Set task properties to prevent the task being null. This behaviour is expected by existing callers and was likely broken by ag/28151977
  TaskRepository performance improvement
2024-10-21 22:40:51 +00:00
Uwais Ashraf 62495bbda7 TaskRepository performance improvement
This CL improves Overview's performance by preventing multiple thumbnail and icon fetches for visible tasks. It introduces manual cancellation and removal of tasks that are no longer visible to prevent fetching and listening to changes in such tasks.
- Renamed 'augmentedTasks' to 'tasks' and updated it to be a MutableStateFlow with a map of Task Id and Task.
- When a new task becomes visible, the task is added to a list of requests along with a Job that fetches the Thumbnail and Icon. Additionally, 'taskVisualChangesDelegated' is added and removed for that task per request.
- When a task becomes invisible, the Job is canceled to prevent fetching the Thumbnail and Icon. The thumbnail and icon are cleared from the list of tasks, and the listener from 'taskVisualChangesDelegated' is unregistered.
- The list of tasks is updated when the list of visible tasks changes and a new thumbnail or icon is updated. This list is also updated when a force fresh from getAllTaskData is requested.

Fix: 373361888
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: TasksRepositoryTest
Change-Id: Ifd9c54fdfcb85463c043c121fb829dec3e9faedc
2024-10-21 14:34:12 +00:00
Jordan Silva 4a08fcc3d9 Merge "Revert "Update OverviewCommandHelper to use Executors.MAIN to reduce the percentage of missed frames"" into main 2024-10-21 13:18:28 +00:00
Liran Binyamin 2c908e2c10 Merge "Wire up flyout to new bubble animation" into main 2024-10-21 12:20:23 +00:00
Jordan Silva 3a4d67b965 Revert "Update OverviewCommandHelper to use Executors.MAIN to reduce the percentage of missed frames"
This CL didn't improve the performance metrics significantly enough to use Executors.MAIN. b/366077002#comment12

This reverts commit 7eae20bcb1.
Reason for revert: 366077002

Change-Id: Ic92b83a65aef7f8cd5c00110fb1ab7343d4b12b6
2024-10-21 10:21:56 +00:00
Jagrut Desai c1227779a6 Enable TaskbarEduTooltipControllerTest
Test: Presubmit
Bug: 374312336
Flag: EXEMPT enabling ignored test
Change-Id: I606ab909d5d9b366674492855a940a0f6cc77a86
2024-10-18 09:20:41 -07:00
Liran Binyamin 12f77ba713 Wire up flyout to new bubble animation
When a bubble is created or updated we now animate the flyout view
as part of the bar animation.

Note that the flyout is not clickable yet, and that we're not yet
handling bubble notifications interrupting each other.

Flag: com.android.wm.shell.enable_bubble_bar
Bug: 277815200
Test: atest BubbleBarViewAnimatorTest
Test: atest BubbleBarFlyoutControllerTest
Test: manual
       - verify flyout view is showing when creating bubble
          - on home
          - in app
          - when bubble bar is empty
Change-Id: I315e46c89a4d20aaaa22972f0d71290a63481d9d
2024-10-18 08:00:05 -04:00
Schneider Victor-tulias 892ad69191 Merge "Improve test isolation in AbstractLauncherUiTests" into main 2024-10-17 19:22:37 +00:00
Treehugger Robot fc4420dc3e Merge "Add animation runner for alt-tab desktop app launch" into main 2024-10-17 18:48:31 +00:00
Treehugger Robot 5572968c0b Merge "Moving SettingsChangeLogger back to MainThreadInitializedObject" into main 2024-10-17 18:33:04 +00:00
Sunny Goyal 3c873420e8 Moving SettingsChangeLogger back to MainThreadInitializedObject
SettingsChangeLogger depends on DisplayController which needs to be migrated
first. Otherwise it introduces a deadlock when initializing DisplayController
in constructor

Bug: 373557167
Test: Manual (will merge automated tests once all culprits are resolved)
Flag: EXEMPT dagger
Change-Id: I2386812693e470bcee1a64d5cec49c03fd36f230
2024-10-17 09:51:59 -07:00
Winson Chung a2dea77229 Using synthetic recents transitions for Recents in Window
Bug: 366021931
Flag: com.android.launcher3.enable_fallback_overview_in_window
Test: manual with enableFallbackOverviewInWindow=true
Change-Id: I26fbc96373b55f0a4a87756fa99347f0e4f4361b
2024-10-16 13:23:17 -07:00
Schneider Victor-Tulias 07669e9575 Improve test isolation in AbstractLauncherUiTests
- Removing suspicious duplicate uses of AbstractLauncherUiTest.initialize to prevent unnecesary launcher restarts
- Adding UiDevice#pressHome to AbstractLauncherUiTests.verifyLauncherState to ensure the next test starts with a known clean state

Flag: EXEMPT test fix
Fixes: 372956489
Test: AbstractLauncherUiTest
Change-Id: Id68ece4ab195a4f6c47aa401eb50a91b8ff70e10
2024-10-16 13:18:36 -04:00
Kevin Lim 9c5d8a2059 Merge "[Tests] Clear MAIN_EXECUTOR in NavHandleLongPressInputConsumerTest#tearDown" into main 2024-10-16 00:50:55 +00:00
Kevin Lim f36375d907 [Tests] Clear MAIN_EXECUTOR in
NavHandleLongPressInputConsumerTest#tearDown

Attempt at fixing flaky tests

Bug: b/359911511,b/355232772
Flag: EXEMPT Test change
Test: NavHandleLongPressInputConsumerTest
Change-Id: I8ea91f732e91b1a7df4b2e2816dc70e35f14d504
2024-10-15 18:32:35 +00:00
Treehugger Robot 242d5b9e26 Merge "Revert "Add screenrecord for testWorkspaceSwitchToAllApps"" into main 2024-10-15 17:58:28 +00:00
Gustav Sennton 6bb9d56ded Add animation runner for alt-tab desktop app launch
Create a remote transition supporting alt-tab app-launches (app launches
caused by a user using alt-tab to select a minimized app) and any
minimization caused by hitting the window limit during such an app
launch.

Test: manual, and WindowAnimatorTest
Bug: 349791584
Flag: com.android.window.flags.enable_desktop_app_launch_alttab_transitions
Change-Id: I6474fff351f3d7681ca25cd7331e4955e3d1c6e0
2024-10-15 17:34:53 +00:00
Brian Isganitis dc4f56040a Merge "Migrate to FakeLauncherPrefs for Taskbar unit tests." into main 2024-10-15 17:08:35 +00:00
Jordan Silva d2867286ff Merge "Update OverviewCommandHelper to use Executors.MAIN to reduce the percentage of missed frames" into main 2024-10-15 16:52:05 +00:00
Graciela Putri 19c00bb849 Merge "Add task menu item to move task to external display" into main 2024-10-15 16:51:20 +00:00
Federico Baron 44854ed9d5 Revert "Add screenrecord for testWorkspaceSwitchToAllApps"
This reverts commit 1d12cbcd23.

Reason for revert: bug resolved

Change-Id: Ie5a15594cb3b168c5368f6bd54aab2c6a9d718ae
2024-10-15 16:11:10 +00:00
Liran Binyamin cfd3326efd Merge "Update taskbar window size for flyout" into main 2024-10-15 13:26:11 +00:00
Andy Wickham 9605643883 Merge "Migrate Contextual Search code to AOSP" into main 2024-10-15 00:47:02 +00:00
Liran Binyamin c33fe5bd56 Update taskbar window size for flyout
This change updates the taskbar window size after the flyout view
has measured itself. This ensure that the taskbar window is tall
enough to display the entire flyout.

When the flyout is removed we reset the taskbar window size.

Flag: com.android.wm.shell.enable_bubble_bar
Bug: 277815200
Test: builds successfully and tested manually -- code is not wired up
Change-Id: I5e8618e57443212e1c4f19ab20d1542ae2d1b865
2024-10-14 19:59:59 -04:00
Brian Isganitis a3ec98e06d Migrate to FakeLauncherPrefs for Taskbar unit tests.
Deprecates the preference rules.

Flag: TEST_ONLY
Test: go/testedequals
Bug: 230027385
Change-Id: Ic3a9e589b556232d196942d687e2e2bddc000877
2024-10-14 18:13:23 -04:00
Treehugger Robot 3a0583272b Merge "Add screenrecord for testWorkspaceSwitchToAllApps" into main 2024-10-14 19:44:47 +00:00
Jordan Silva 7eae20bcb1 Update OverviewCommandHelper to use Executors.MAIN to reduce the percentage of missed frames
This change will reduce the increase in the amount of missed frames measured by crystalball. I believe coroutines launch is competing with Executors.MAIN for scheduling and running tasks in the main thread, thus the increase in missing frames.

Fix: 366077002
Flag: com.android.launcher3.enable_overview_command_helper_timeout
Test: OverviewCommandHelperTest
Test: android.platform.test.scenario.launcher.CloseApp3ButtonModeMicrobenchmark#testOpenLauncher
Test: atp:v2/android-crystalball-eng/health/microbench/launcher/main/launcher-action-suite
Change-Id: I4477879d4f065ec3883f2c3cb3ef044e973ce0cb
2024-10-14 17:46:14 +00:00
fbaron 1d12cbcd23 Add screenrecord for testWorkspaceSwitchToAllApps
Flag: EXEMPT TEST_ONLY
Test: TaplTestsQuickstep#testWorkspaceSwitchToAllApps
Bug: 371615571
Change-Id: Ib2ce1d1b56b1710e65bad8eaa5de89949ec22c7e
2024-10-14 09:42:20 -07:00
Brian Isganitis 805cadc1e7 Fix package name for TaskbarEduTooltipControllerTest
Change-Id: I12795bb8506f44f7bb6af6176f2a647b5f099e50
Flag: TEST_ONLY
Bug: No
Test: go/testedequals
2024-10-14 16:27:19 +00:00
Graciela Wissen Putri 2f4ccc63b6 Add task menu item to move task to external display
Call SystemUiProxy.moveToExternalDisplay to move existing Overview task to desktop in external display

Bug: 372872848
Test: atest
NexusLauncherTests:com.android.quickstep.ExternalDisplaySystemShortcutTest
Flag: com.android.window.flags.move_to_external_display_shortcut
Change-Id: I096a9839956ab5cab86bd0aaabc625a8587ca42a
2024-10-14 15:14:01 +00:00
Brian Isganitis bdc5dd5c86 Merge "Run Taskbar controller tests on VirtualDisplay." into main 2024-10-11 21:03:12 +00:00
Andy Wickham 0b936727d6 Migrate Contextual Search code to AOSP
- Adds ContextualSearchInvoker
 - Adds ContextualSearchStateManager
 - Adds ContextualSearchHapticManager

Example output from ContextualSearchStateManager
in TouchInteractionService dump:
https://paste.googleplex.com/5536017815961600

Bug: 353715553
Test: go/contextual-search-entrypoints-test-plan
Flag: EXEMPT moving code from vendor to aosp

Change-Id: I8253294d6be427e0fc29d6052994de0c03f05a3e
2024-10-10 21:03:42 +00:00
Brian Isganitis 066f5adcf6 Run Taskbar controller tests on VirtualDisplay.
Flag: TEST_ONLY
Test: go/testedequals
Bug: 369641781
Change-Id: Id53f420e7edc1779da9eb7647644ffffb74e67b3
2024-10-10 19:13:40 +00:00
Uwais Ashraf 71fb897f39 Merge "Adds View screenshot tests for TaskThumbnailView." into main 2024-10-10 11:38:19 +00:00
Ats Jenk d137856e26 Merge "Update bubble bar swipe logic" into main 2024-10-09 21:32:43 +00:00
Ats Jenk 6570ac750f Update bubble bar swipe logic
After changes following swipe interactions are available for the bubble
bar:
1. stashed handle
- swipe up to show bubble bar, after swipe reaches unstash threshold, we
  show the bubble bar
- swipe down to stash bubble bar in the same gesture (without lifting
  finger), do this when swipe moves back below unstash threshold
- expand bubble bar on finger lifted when currently above unstash
  threshold

2. collapsed bubble bar (used in home or overview)
- swipe up and release over unstash threshold to expand bubble bar
- bubble bar can't be swiped down to stash it

3. expanded bubble bar
- no swipe interactions available

Bug: 371229061
Flag: com.android.wm.shell.enable_bubble_bar
Test: BubbleBarSwipeControllerTest
Test: manually test:
  - stashed bubble bar:
      - swipe up and back down => bubble bar shown and stashed
      - swipe up slightly and release => bubble bar not shown
      - swipe up and release => bubble bar shown, expands on release
  - collapsed bubble bar:
      - swipe down => no action
      - swipe up slightly => no action
      - swipe up and release => bar expands on release
Change-Id: I42aa59dc288446603e06a3d02419be38cf17fa1f
2024-10-08 16:17:32 -07:00
Brian Isganitis 46b20441e4 Migrate Taskbar tests to use SandboxApplication.
This class has even better sandboxing and is a TestRule, making it easy to tear down singletons.

Flag: TEST_ONLY
Fix: 369504330
Test: go/testedequals
Change-Id: I86fbfecc275da536ab745d61bef8b9bebb28379c
2024-10-08 16:34:44 +00:00
Liran Binyamin 9c3c7cc3e2 Merge "Store the flyout in BubbleBarBubble" into main 2024-10-08 13:31:53 +00:00
Ats Jenk ea6e59537e Merge changes I74af6a72,I603a67a8 into main
* changes:
  Animate bubble bar alpha when notif shade opens
  Set bubble bar invisible while stashed
2024-10-07 22:23:02 +00:00
Liran Binyamin 5e04f0960d Store the flyout in BubbleBarBubble
Extracts the flyout message from the bundle and stores it in
BubbleBarBubble.

Flag: com.android.wm.shell.enable_bubble_bar
Bug: 277815200
Test: builds successfully -- code is not wired up yet
Change-Id: I5e810290991b4ee638f43add4d6a6514edb167af
2024-10-07 16:57:08 -04:00