Commit Graph

12793 Commits

Author SHA1 Message Date
Wen-Chien Wang ca95004403 Updates layout when overflow button and alt-tab are both triggered.
Before this cl, the KQS view is closed and reopened when the
overflow button and alt-tab key are triggered one after the other.
This cl changes the behavior so that instead of reopening, the
list of task is updated and the KQS container layout is toggled
between "wrap content" and "match parent".

Bug: 368119679
Test: open KQS via taskbar and observe the layout change
Flag: com.android.launcher3.taskbar_overflow
Change-Id: I05ea4c66727daa206ff1d7906500dc8f9cc81982
2024-11-13 20:48:07 +00:00
Ats Jenk d3a4f9f721 Merge "Fix bubble bar position on recreate" into main 2024-11-12 18:11:39 +00:00
Alex Chau 6734784b72 Merge "Fix split animation with small number of tasks only" into main 2024-11-12 15:30:06 +00:00
Treehugger Robot 9b44959f68 Merge "Move logic onto default dispatcher. Clearing main - stop performance bug" into main 2024-11-12 14:24:21 +00:00
Treehugger Robot 48770752e2 Merge "Register transitions for Desktop app launch + minimize animations" into main 2024-11-12 13:55:29 +00:00
Treehugger Robot cdbc828af6 Merge "Create new TTVData onAttachedToWindow for new TTVModel." into main 2024-11-12 13:17:20 +00:00
Gustav Sennton 39c006e792 Register transitions for Desktop app launch + minimize animations
In other CLs we pass specific RemoteTransitions to Shell for app
launches and unminimize actions. Those CLs cover Launcher actions like
the keyboard alt-tab shortcut, or launching an app from Taskbar.
This CL covers launches that don't originate from Launcher, e.g.
launches through intents.

Test: DesktopAppLaunchTransitionManagerTest
Bug: 369966416
Flag: com.android.window.flags.enable_desktop_app_launch_transitions
Change-Id: I82fd72f870c1e38efe5a8ce533a60f282c10203c
2024-11-12 09:16:34 +00:00
Ats Jenk 5ad93d97fa Fix bubble bar position on recreate
When device is rotated, taskbar goes through recreate flow.
LauncherTaskbarUIController restores the state for taskbar in-app
display multiprop.
Ensure that bubble bar is positioned within the taskbar bounds.

The multiprop values in LauncherTaskbarUIController for taskbar in-app
display progress can be restored from shared state when the device
rotates. But this means when we receive updates to various indexes, the
progress for that index may not match what is the actual value of the
multiprop. As it relies on the max function.
Make sure we pass along the actual value for in-app display progress
when updating bubble bar and not the value for the index that got
updated.
Also make sure bubble bar translation always updates when updates are
received as this is the only path for bubble bar to receive updates.

Make sure that when we do override bubble bar translation using in-app
display progress, any existing animation for bubble bar translation y is
cancelled. Otherwise the unlock animation was animating the bubble bar
to the incorrect position after unlock.

Bug: 377621110
Flag: com.android.wm.shell.enable_bubble_bar
Test: atest PersistentBubbleStashControllerTest
Test: manual, have bubble bar with 3 button nav, swipe to -1 and rotate
  the device, observe that bubble bar is in the correct position
Test: manual, repeat same test with all apps open, observe that bubble
  bar has correct position after rotation
Test: manual, with gesture navigation, observe that bubble bar has
  correct position on home screen, -1 and all apps after rotation
Change-Id: I66138e003c4b371299e40558fdadc142fbdbbcd5
2024-11-11 23:21:30 -08:00
Liran Binyamin 4785a5e24e Merge "Animate the bubble notification in overview" into main 2024-11-11 23:08:03 +00:00
Treehugger Robot d89f2f14f7 Merge "Fix some tests in TaskbarScrimViewController for bubble bar" into main 2024-11-11 21:03:49 +00:00
Mady Mellor 1d1e50d33b Fix some tests in TaskbarScrimViewController for bubble bar
When taskbar is in pinned mode with bubble bar expanded, in some
scenarios, we hide taskbar contents (i.e. when bubbles overlaps with
taskbar) and the scrim still shows.

One of the existing tests in TaskbarScrimViewController checks that
the scrim would be 0 when taskbar is not visible, however, in the
bubble bar case this isn't always true... I think there probably are
cases where taskbar isn't visible for other reasons (e.g. shade is
pulled down, but there are other tests specific to that). I'm
setting this test to only run when bubble bar isn't running, because
in that case bubbles never impacts taskbar visibility.

I added a test case to ensure scrim is hidden when pinned BUT bubble
bar is on home -- in this case we shouldn't show the scrim.

When adding the enableFlag/disableFlag I saw some NPEs in onDestroy
methods of some controllers so I protect against those as well.

Flag: EXEMPT test change
Test: atest NexusLauncherTest:TaskbarScrimViewControllerTest
      atest NexusLauncherRoboTest:TaskbarScrimViewControllerTest
Bug: 377764181
Change-Id: I71001222aa8a4393b341dd2b43a4b2e46e617a70
2024-11-11 11:03:58 -08:00
Ats Jenk e3e3bc1f4e Merge "Send bubble bar location update source to shell" into main 2024-11-11 17:04:40 +00:00
Alex Chau 2c7004164d Fix split animation with small number of tasks only
- Extract newClearAllShortTotalWidthTranslation out from the last grid task visible case, to use it to predict new clearAllShortTotalWidthTranslation after focus task is staged, then use newClearAllShortTotalWidthTranslation to compensate getScrollForPage of grid tasks not on top-right corner for tasks close to clearAllButton
- Applied ag/28945919's fix to dismiss animation as well
- Fixed next focused task translation using wrong sign in RTL

Fix: 378403770
Test: With LTR/RTL, test focused task staging / dismiss with 1-6 tasks, dismiss grid end tasks with 1-6 tasks
Flag: EXEMPT BUG_FIX
Change-Id: Ie5b597c4318c5de84377fde50090491e78581af9
2024-11-11 15:12:28 +00:00
Uwais Ashraf 36e0c2521a Move logic onto default dispatcher. Clearing main - stop performance bug
Bug: 377437341
Fix: 374061907
Fix: 357542211
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: Manual - checking slowed down videos of performance
Change-Id: Idab5bd0728395413159a7aafbba8faec62e520a3
2024-11-11 13:39:46 +00:00
Treehugger Robot 6cd51b8344 Merge "Only add accessibility actions in Overview if not in select mode" into main 2024-11-11 11:34:16 +00:00
samcackett 3a8a36f8fa Only add accessibility actions in Overview if not in select mode
When modalness is >0, the user is in select mode and the icon menu is
hidden, therefore Talkback shouldn't pick it up.

Fix: 320203664
Flag: NONE bugfix
Test: Manual. Turn Talkback on, navigate to Overview, enter select mode,
 select the whole TaskView, Talkback shouldn't have any accessibility
 actions to execute.
Change-Id: I83dffce60f42cc32d83c499dfb08ddf97888f527
2024-11-11 09:55:41 +00:00
Johannes Gallmann f47df1f60a Merge "Use FlingOnBackAnimationCallback for predictive back" into main 2024-11-11 08:29:47 +00:00
Uwais Ashraf 881b97b3b5 Create new TTVData onAttachedToWindow for new TTVModel.
Fix: 378295588
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: Manual - checking instance ids, splash fucntionality
Change-Id: If02c3c152aad651cb2497730310715e0812e587f
2024-11-10 07:43:22 +00:00
vinayjoglekar 0cceb24288 Animation issue when splitting task from taskbar which is in DW
When app is in DesktopTask being split, we need to bring tasks after last desktop task to correct position during split animation. Solution is to add additional primary translation from current desktopview to first non desktopview.

Refactored how primary translation is being calculated.

Test: Manual, split app from taskbar which is in desktop window
Fix: 377230397
Flag: com.android.launcher3.enable_large_desktop_windowing_tile
Change-Id: Ic76b0e7d9a627158e5d521ed40f17279130a974a
2024-11-09 10:55:46 +00:00
Sihua Ma 73487c1475 Merge "Resetting workspace alpha when the animation is cancelled" into main 2024-11-09 01:50:27 +00:00
Sihua Ma 424b8dee5e Resetting workspace alpha when the animation is cancelled
Bug: 364465567
Test: Manual
Flag: EXEMPT bug fix
Change-Id: I0dcc62a10ca96670c5ed794001c58fd319e36854
2024-11-08 22:51:29 +00:00
Ats Jenk e93688f77d Merge "Translate bubble bar when in -1 or all apps" into main 2024-11-08 22:46:40 +00:00
Liran Binyamin 8f9c2cc020 Animate the bubble notification in overview
Flag: com.android.wm.shell.enable_bubble_bar
Fixes: 378095516
Test: manual
       - swipe to overview
       - send bubble notification
       - observe bubble animation
Change-Id: I9e52f1f7c7ddcc19b075af662d79ee9327b89fdb
2024-11-08 14:26:31 -05: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
Liran Binyamin c3a2387af4 Merge "Suppress the bubble animation on updates" into main 2024-11-08 13:40:23 +00:00
Tracy Zhou 7e969d4400 Merge "Move initInputMonitor to the main thread" into main 2024-11-08 02:30:46 +00:00
Tracy Zhou 9d072a5e5c Move initInputMonitor to the main thread
- Stuff related to updating internal TIS state need to also run on the
  main thread

Bug: 374197142
Flag: EXEMPT bugfix
Test: Presubmit
Change-Id: Ia62b665d9a39bc4a4c119fce8538bb147d92957a
2024-11-07 16:27:57 -08: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
Liran Binyamin 44048ba0a3 Suppress the bubble animation on updates
When a bubble is updated, we now suppress the animation when needed.
This prevents the animation from playing on the lock screen, when
the shade is open, when the IME is visible, etc.

Note that for new bubbles we were already suppressing the animation.
The issue fixed by this change is only observed for updated bubbles.

Flag: com.android.wm.shell.enable_bubble_bar
Fixes: 377618253
Fixes: 377624611
Test: manual
       - tap qsb or launch any app and show the keyboard
       - send an update to a bubble
       - observe the flyout is not appearing
       - repeat with shade open and on lock screen
Change-Id: Id78e0cfbc413bcebaf6445cecacaaf34b36ed411
2024-11-07 16:45:39 -05:00
Liran Binyamin a2603e829a Merge "Disable bubble bar in vertical taskbar" into main 2024-11-07 20:01:41 +00:00
Liran Binyamin c944fb15ad Merge "Animate bubble badge scale" into main 2024-11-07 20:00:21 +00:00
Ats Jenk 5140e8ca7e Send bubble bar location update source to shell
Shell can use the location update trigger information for logging
purposes.

Bug: 349845968
Test: manual
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: I5af4375f88ea438b1aed9b3b2bd02d0c33fff53f
2024-11-07 09:24:32 -08:00
Liran Binyamin 35e1be7ade Disable bubble bar in vertical taskbar
Flag: com.android.wm.shell.enable_bubble_bar
Fixes: 348694846
Test: manual
      - force vertical taskbar
      - observe that bubbles are floating
Change-Id: I831787933efb922877ee14911e395f27d6936336
2024-11-07 11:12:21 -05:00
Liran Binyamin f4434d169a Animate bubble badge scale
When a bubble is added or removed while we're collapsed, animate the
badge scale to make sure that only the badge for the top bubble is
visible.

Flag: com.android.wm.shell.enable_bubble_bar
Fixes: 360652359
Test: manual
       - add bubble while collapsed
       - observe that badge only shows for top bubble
       - remove bubble while collapsed
       - observe that badge only shows for top bubble
Change-Id: I91472bb2ddeeeebd33ca64e20e065b2336c08589
2024-11-07 10:47:34 -05: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 a903eb93cf Merge "Mark TaskbarOverlayProxyView closed sooner" into main 2024-11-06 22:59:01 +00:00
Artsiom Mitrokhin 7352a82689 Merge "Draw leave-behind circle after pressing taskbar overflow button" into main 2024-11-06 22:08:57 +00:00
Jagrut Desai 585de4e0e9 Merge "Fix ActivityLeak for RecentsViewContiner in TaskbarManager" into main 2024-11-06 21:15:25 +00:00
Andy Wickham adfd002972 Merge "Adds all_apps_sheet_for_handheld flag." into main 2024-11-06 20:25:23 +00:00
Jagrut Desai dbceb92317 Fix ActivityLeak for RecentsViewContiner in TaskbarManager
Test: presubmit
Bug: 376763663
Flag: EXEMPT TEST_ONLY
Change-Id: I9724e9d91e9ab1a414ce2fbcb6a618b5b23f7ab1
2024-11-06 10:15:00 -08:00
Sukesh Ram 48d215be87 Merge "[Connected Displays in Taskbar] Refactor TaskbarDelegate for Display Signals" into main 2024-11-06 18:12:00 +00:00
Andy Wickham 1f6a7b46be Adds all_apps_sheet_for_handheld flag.
This flag causes All Apps to render on a background panel in
handheld mode similarly to how it does on tablets.

Demo: https://drive.google.com/file/d/11K8yueTb9Xr8oRJCM3TxcFH8V3rRFJrJ/view?usp=sharing&resourcekey=0-hMNEGzMQ5KC9D7may2Gb-g

Bug: 374186088
Bug: 372618421
Test: Manual
Flag: com.android.launcher3.all_apps_sheet_for_handheld
Change-Id: Ie0b1e784d4330fd71f7f36f39e5dd85e8ee14933
2024-11-06 16:05:25 +00:00
Schneider Victor-tulias 1295fc62df Merge "Add SystemOnBackInvokedCallback to RecentsWindowManager" into main 2024-11-06 15:12:10 +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
Riddle Hsu 4ba51f3bf9 Merge "Notify finish on the same thread when entering recents above home" into main 2024-11-06 07:15:04 +00:00
Riddle Hsu f030458a10 Notify finish on the same thread when entering recents above home
The expected order to finish recents is first "setWillFinishToHome"
and then "finish" via RecentsAnimationControllerCompat.

Because RecentsAnimationController uses UI_HELPER_EXECUTOR to invoke
setWillFinishToHome, if "finish" is called on UI thread directly,
there may be a race that WillFinishToHome is not set yet (only when
animation is disabled), then the shell's RecentsTransitionHandler
will handle it as "return to app" rather than entering recents.

By using the regular finishRunningRecentsAnimation (forceFinish is
false), RecentsAnimationController#finishController will also post
to UI_HELPER_EXECUTOR, so the order between setWillFinishToHome can
be consistent.

Bug: 375667878
Flag: EXEMPT bugfix
Test: atest com.android.quickstep.FallbackRecentsTest#testOverview
Test: Set 3rd party home as default.
      Disable animation (Settings's "Remove animations").
      Press recents key on home. It should enter recents.

Change-Id: Ia449f77b317db812360092c2aaf9e3657b92cf7b
2024-11-06 05:15:34 +00:00
Artsiom Mitrokhin ccd96a1868 Draw leave-behind circle after pressing taskbar overflow button
This CL does not include animating app icons / leave behind circle.

Bug: 376281549
Flag: com.android.launcher3.taskbar_overflow
Test: press the oveflow button, dismiss KQS in different ways
Change-Id: I1f830c6859a5be4fb5947ec38e6d30da79138b7f
2024-11-05 19:12:50 -05: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