Commit Graph

1546 Commits

Author SHA1 Message Date
Ats Jenk
e93688f77d Merge "Translate bubble bar when in -1 or all apps" into main 2024-11-08 22:46:40 +00:00
Sunny Goyal
5ad2d9f53c Moving some tests off TAPL
Bug: 377772352
Test: Presubmit
Flag: EXEMPT test refactor
Change-Id: I679ae043d617b74a61a682d802c38cc904d2d0c5
2024-11-08 11:09:59 -08:00
Ats Jenk
72d176c407 Translate bubble bar when in -1 or all apps
When persistent taskbar is used, bubbles align with hotseat when
launcher state is home. But when user navigates to the -1 page or all
apps, we show the persistent taskbar instead of hotseat.
3 button navigation container shifts in this case. Apply the same shift
to bubble bar.

Bug: 376141984
Flag: com.android.wm.shell.enable_bubble_bar
Test: atest PersistentBubbleStashControllerTest
Change-Id: I2765936e0bac43a790b628e7df2a1b4ddad32cae
2024-11-08 10:23:18 -08:00
Treehugger Robot
7347a81e41 Merge "Handle Desktop app launches from Taskbar/AllApps icon clicks." into main 2024-11-08 01:04:15 +00:00
Gustav Sennton
da2c2c0f7f Handle Desktop app launches from Taskbar/AllApps icon clicks.
- Provide both launch and minimize animations from
  DesktopAppLaunchTransition
- Add support to TaskbarRecentAppsController to check whether an app is
  visible vs. minimized vs. not showing at all in Desktop Mode
- Use DesktopAppLaunchTransition when clicking a Taskbar/AllApps app
  icon (when in Desktop Mode and the app is not visible) to animate the
  app launch
- The animation / transition is passed to Shell through ActivityOptions

Note: this CL does not add animations for launching managed/work
profile apps. That will be handled in b/376819104.

Test: launch apps in Desktop from Taskbar/AllApps
Bug: 327428659
Flag: com.android.window.flags.enable_desktop_app_launch_transitions
Change-Id: I44be96b9c53718b2082d2f630e1921356785fc4b
2024-11-07 23:06:24 +00:00
Sunny Goyal
8bbe47c31b Moving Wait to kotlin
Making LauncherInstrumentation optional and removing some reduntant constants.
This allows less dependency on AbstractLauncherUITest

Bug: 377772352
Test: Presubmit
Flag: EXEMPT test refactor
Change-Id: I7cf78d6acc5fef0359dee141a06fd51ff9d4f5a8
2024-11-07 13:51:27 -08:00
Shamali P
531c227c45 Update widget predictor to apply prediction filter
When enough widgets are not passing the filter, additional randomly
 selected widgets are added.

The count to decide whether to add more is a configuration, so that,
if some OEMs don't want any suggestions, can override the value to 0.

Bug: 356127021
Flag: com.android.launcher3.enable_tiered_widgets_by_default_in_picker
Test: Unit tests
Change-Id: Iffa8619149a1a4b468d367fc7bbee381be59469d
2024-11-07 14:01:52 +00:00
Gustav Sennton
6241d7ef46 Merge "Support Desktop unminimize animations, and move app-state logic" into main 2024-11-07 11:08:04 +00:00
Johannes Gallmann
652e49dc03 Merge "Add predictive back animation for 3-button-nav" into main 2024-11-07 07:59:38 +00:00
Treehugger Robot
43da2538ff Merge "Add OverviewDesktop test to verify carousel behavior on swipe up" into main 2024-11-06 15:50:18 +00:00
Jordan Silva
f048c99de4 Add OverviewDesktop test to verify carousel behavior on swipe up
This CL updates a test to verify the behaviour while swiping up from a fullscreen app to Overview and checking if that TaskView is between DesktopTasks (right side) and Grid Tasks (left side).
The test adds the following validations:
- Launches adjacent task while DesktopTask is at the center of the screen
- Swipe up from a fullscreen app to Overview to validate whether the task is between other tasks and desktop tasks.
- Fling back to DesktopTask to dismiss the adjacent focused task

Fix: 353948167
Flag: com.android.launcher3.enable_large_desktop_windowing_tile
Test: TaplTestsOverviewDesktop
Change-Id: Iaa15d4061c3b6ba8fc0d03416b4721cdf3f047c3
2024-11-06 13:58:41 +00:00
Johannes Gallmann
bc4936fb6b Add predictive back animation for 3-button-nav
Bug: 373544911
Flag: com.android.window.flags.predictive_back_three_button_nav
Test: OverviewProxyServiceTest
Test: TaskbarNavButtonControllerTest
Test: TaskbarScrimViewControllerTest
Change-Id: I04cadc660f38e2d4541b06fcda950098a0768492
2024-11-06 11:02:13 +01:00
Anushree Ganjam
2d55010135 Make ContextualEduStatsManager injected by Dagger (13/n)
Bug: 361850561
Test: Manual
Flag: EXEMPT Dagger Integration
Change-Id: I0150ad8edeac1746e27b7d919891d02e648413be
2024-11-05 14:53:01 -08:00
Winson Chung
bc5637296a Merge "2b/ Update launcher to use GroupedTaskInfos" into main 2024-11-05 15:43:01 +00:00
Gustav Sennton
461caa7c5f Support Desktop unminimize animations, and move app-state logic
- Support Desktop unminimize animations through
    1. keyboard alt-tab shortcut
    2. taskbar hotseat icon click (TaskItemInfo)
    3. taskbar running-app icon click (GroupTask)
- move taskbar running-app state logic from TaskbarViewController to
  TaskbarRecentAppsController.

Test: manual - ensure the transitions above cause unminimize animations
Bug: 369966334
Flag: com.android.window.flags.enable_desktop_app_launch_alttab_transitions

Change-Id: I20322bdf58bc69cff360bf26e533e0732d5297b9
2024-11-05 13:39:46 +00:00
Winson Chung
d8ddd4c023 2b/ Update launcher to use GroupedTaskInfos
Bug: 346588978
Flag: EXEMPT adding new flag enable_shell_top_task_tracking
Test: Build SystemUI & Launcher
Test: atest WMShellUnitTests

Change-Id: I1e41712d9f94649f4381d4235d8f2925df71e2b2
2024-11-01 22:52:09 +00:00
Liran Binyamin
65edaf53af Merge "Hide bubble dot after flyout init" into main 2024-10-31 22:46:56 +00:00
Tony Wickham
0f954d9d3b Merge "TaskbarManager now sets TaskbarUIController for RecentsWindowManager" into main 2024-10-31 20:17:21 +00:00
Liran Binyamin
0e8093ae92 Hide bubble dot after flyout init
After the flyout initializes to its collapsed state, hide the
notification dot so that the flyout and dot will seem visually as
one.

Flag: com.android.wm.shell.enable_bubble_bar
Fixes: 376276297
Test: atest BubbleBarFlyoutControllerTest
Change-Id: Ie581ddcd56a26844526f80b2169639c1a7d87500
2024-10-31 15:56:19 -04:00
Liran Binyamin
3955e224be Merge "Handle new bubble notification during animation" into main 2024-10-31 13:56:06 +00:00
Liran Binyamin
0242d124c2 Handle new bubble notification during animation
When a new bubble notification is pushed during an ongoing animation
we now update it to reflect the new bubble.
 - If the current animation is in the middle of animating in,
   we only update the animating bubble without interrupting the
   current animation. The flyout content will show the data for the
   new bubble.
 - If the current animation is in the IN state, then the flyout is
   showing and we're just waiting for it to be hidden. In this case
   we update the flyout and reschedule the hide animation to run after
   a delay.
 - If the current animation is animating out,
   - If we're in the middle of collapsing the flyout, we reverse it
     so it shows with the new content and reschedule the hide animation
   - If the flyout is gone already, then we reverse the handle animation
     and show the flyout. If the handle animation is not running, then
     the animation is already over.

Not really related to this change, but while testing one of the tests
was flaky, so rewrote it to make it deterministic.

25x runs: https://android-build.corp.google.com/test_investigate/invocation/I56000010330987902/test/TR44729496826317635/

Demo of interrupting the animation while animating out: http://recall/-/bJtug1HhvXkkeA4MQvIaiP/cu4fLeFlnDkg7mDVaaDTB

Flag: com.android.wm.shell.enable_bubble_bar
Fixes: 277815200
Fixes: 346400677
Test: atest BubbleBarFlyoutControllerTest
Test: atest BubbleBarViewAnimatorTest
Change-Id: I2b4af36d39bedbdfc4a08a988967ccbc33c06522
2024-10-30 16:57:08 -04:00
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
Brian Isganitis
f9dea5e095 Merge changes I20cff11c,I751cdab5 into main
* changes:
  Stop suspending Launcher Taskbar in tests.
  Sandbox SettingsCache for Taskbar tests.
2024-10-30 19:05:14 +00:00
Yuichiro Hanada
ca23e23655 Merge "Move the animator for the minimization to WMShell" into main 2024-10-29 23:19:09 +00:00
Brian Isganitis
bab87b1551 Stop suspending Launcher Taskbar in tests.
The Taskbar under test should now be sufficiently isolated from
Launcher, so we no longer have to suspend it.

Flag: TEST_ONLY
Bug: 230027385
Test: go/testedequals
Change-Id: I20cff11c90208b59f1dca3730ec3978913c43a50
2024-10-29 19:15:58 -04:00
Brian Isganitis
722d7b8dc9 Sandbox SettingsCache for Taskbar tests.
Flag: TEST_ONLY
Bug: 230027385
Test: go/testedequals
Change-Id: I751cdab5cca443111c28e5f752c8abb06410dc2c
2024-10-29 19:15:58 -04:00
Treehugger Robot
331c3e3bef Merge "[Dagger] Make SystemUiProxy provided by DaggerSingletonObject" into main 2024-10-29 21:57:58 +00:00
Schneider Victor-Tulias
716a154211 [Dagger] Make SystemUiProxy provided by DaggerSingletonObject
Test: presubmit
Bug: 361850561
Flag: EXEMPT dagger migration
Change-Id: I00cb14ec5d7e423a34c88e75d1bcf9db4f0ae229
2024-10-29 16:01:36 -04: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
Yuichiro Hanada
c90fcf26c4 Move the animator for the minimization to WMShell
to share the animator with the minimize button.

Flag: EXEMPT refactoring
Bug: 369349585
Test: manual
Change-Id: I42325913313a85e1086ab6bc4151f60cb3bc4605
2024-10-28 16:53:47 +09: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