This CL changes how the layoutDirection of the App Chip is handled and update translations in the PagedViewHandler for the app chip for fake orientation.
- The App Chip was updated to use the device layoutDirection instead of the same of RecentsView. This prevents the app chip being displayed in RTL when the device is LTR and vice-versa.
- It also applies the correct layout direction to `IconAppChipView` and its related views to ensure proper RTL behavior.
- RecentsView now updates layoutDirection for its children when updateChildTaskOrientation is called. This will make sure its children have the the latest and the correct layoutDirection.. Before it was only applied when adding a view (addView).
- In `SeascapePagedViewHandler`, it adjust the gravity for app chip be aligned correctly in Seascape.
- In `GroupedTaskView`, it checks if the device is in RTL to align the app chip correctly for split tasks.
- Multiple test combinations were done to validate this fix, please see table in b/326377497#comment7.
Fix: 326377497
Bug: 403284758
Flag: com.android.launcher3.enable_overview_icon_menu
Test: Manual, please check b/326377497#comment7.
Test: OverviewImageTest
Test: OverviewSplitTaskImageTest
Change-Id: I8e8050ccf58c3f90718a48773ee7e32ddbc00f13
Track the DesktopTaskView through its `deskId` if it is the current
TaskView or the running TaskView. This is done to support emtpy
desk which has no tasks inside.
Bug: 400532675
Test: m
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Change-Id: Id1e7e7efc2a6ac3126d0320d85a3d327eec0f3c1
Flag: com.android.launcher3.enable_fallback_overview_in_window
Flag: com.android.launcher3.enable_launcher_overview_in_window
Flag: com.android.launcher3.enable_state_manager_proto_log
Flag: com.android.launcher3.enable_recents_window_proto_log
Test: built and ran locally with flags on and off
Bug: b/401073215
Bug: b/401073401
Bug: b/401075030
Bug: b/401076625
Change-Id: I1bd2822d20f677445610b912dd82ff160bff4143
This CL propagates desk changes events to `RecentTasksList` and
`RecentsView`.
Bug: 395908683
Test: m
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Change-Id: I77457d5e2e66166dd8c7d6505317d9add5b886a2
exploded animation
Following CLs will support launching individual task window in the
desktop task view.
Flag: com.android.launcher3.enable_desktop_exploded_view
Test: Manual
Bug: 353948437
Change-Id: I5d084a7d8b231522bf5db1704cee1d6124affc22
Hide screenshot and select from menu if thumbnail is null
Bug: 383662632
Flag: com.android.launcher3.enable_show_enabled_shortcuts_in_accessibility_menu
Test: OverviewMenuImageTest & manual. See bug.
Change-Id: Idf41de7e36b63f7bcc8639f5f3932a61e56ebfcd
Fix: 397890144
Test: App to Overview, check live tile animation in 1) swipe up from bottom 2) Dismiss 3) Task launching
Flag: com.android.launcher3.enable_grid_only_overview
Change-Id: I143d8ca241505ab2f45c49348dc41885b364b859
- Instead of updating in updateGridProperties, which will be re-run after dismiss and potentially apply wrong translations to live tile.
- Also set gridTranslationX of live tile to 0, as recentsScroll already takes care of horizontally task offest
- Guaded assigning RemoteTargetHandle to DesktopTaskView with enableDrawingLiveTile, so going to Home won't continue to mananages the TaskViewSimulator
Fix: 398231631
Fix: 394316748
Test: App to Overview with live tile on different location in the grid
Flag: com.android.launcher3.enable_grid_only_overview
Change-Id: I2e0f83a55421279581f3632c16c1e4c41d1fdae6
Test: Built and ran locally
Flag: com.android.launcher3.enable_fallback_overview_in_window
com.android.launcher3.enable_launcher_overview_in_window
Change-Id: Iafb75840c4acadb35eb9e89810e9de61bbeda326
- Introduced MultiPropertyDelegate to delegate Kotlin var to MultipPropertyFactory, allowing easy creation of var for MultiPropertyFactory
- Introduced KFloatProperty to map any Kotlin var to a FloatProperty, which simplify the code to creaet FloatProperty a lot
- Combined the above to refactor usage of MultipPropertyFactory, use var to simplfiy things, and expose them as FloatProperty directly when needed
Fix: 399635468
Test: Smoke test main flow of enter Overview, task launching etc.
Test: presubmit
Flag: EXEMPT REFACTOR
Change-Id: Ie7dd8b69da7e3bda9026a0ef7b0377c26a78a332
Introduce [ADD_DESK_BUTTON] in LauncherState and change the button's
visibility across different launcher states. E.g., the button
shouldn't be visible in the quick switch.
Bug: 389209338
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Test: 1. Swipe up from home, the button shown util in overview.
2. Swipe up from the fullscreen app, the button is invisible
util release the finger.
3. The button is invisible in quick switch.
4. All the above tested with NexusLauncher and Nova launcher,
which is a 3rd launcher.
5. Tested with gesture and 3-finger swipe on the touchpad.
6. Both the ClearAllButton and AddDesktopButton are not
visibile when in select mode.
Change-Id: I54e11d4d03401be68b5b67a6f591edd737c9ea30
- Calcualte the scroll diff to bring large tile to middle of screen
- Additional compensate for scroll diff between last task and ClearAllButton if ClearAllButton is visible
Fix: 395883390
Test: manual, not adding e2e because animation jump cannot be caught by e2e test
Flag: com.android.launcher3.enable_grid_only_overview
Change-Id: I6a506f2af46ded4daf21fe49329ab71b59e3f19d
Now that `GroupedTaskInfo` propagates the `deskId` from
Shell (see ag/31825217), we need to plumb this value in
Launcher through `DesktopTask`.
Future CLs will use this value in Overview.
Bug: 395911284
Test: m, modified existing tests.
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Change-Id: I396250e0cac761c4c5f7e8b2d6cddbe68e646217
Do not apply the button's grid translation to its page scrolls if
it is not showing as a grid,otherwise the `mCurrentPage` may not be
set correctly while checking `ensureWithinScrollBounds`.
Bug: 396146789
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Test: m
Change-Id: Ia1378a997e681abda60fa1cb3c125660916df4c5
This change makes it so that the explode animation only happens when
swiping up from the desk. In other cases, the desk is immediately set
to its exploded state.
The desk explode progress is now exposed as a FloatProperty in
RecentsViewUtils.
Flag: com.android.launcher3.enable_desktop_exploded_view
Test: Manual
Bug: 367353392
Change-Id: I5adec7db1fdc933860dce7fcca0a47cec0672ee7
Audit all the functions inside RecentsView with the TaskView index as
a parameter. Make sure the AddDesktopButton is considered while
setting the value of these parameters.
Flag: EXEMPT refactor
Bug: 379942019
Test: m
alt+tab to the "# more apps" button insde KQS view, the first
hidden TaskView inside the RecentsView will be focused.
Change-Id: I92cd3e38700e83e72d362dc47d3adae538695b60
- Add separate property for grid translation in TaskViewSimulator, so it doesn't get reset when other translations (e.g. dismiss) is applied to live tile
- In createAdjacentPageAnimForTaskLaunch, use onAnimationStart without isReverse parameter, so it's actually called when the PendingAniamtion starts
- Also reset pivot if we have overriden it during createAdjacentPageAnimForTaskLaunch
- Also avoid applying addOverviewToAppAnim on live tile if it's not launching, otherwise recentsViewScale will be applied twice with addOverviewToAppAnim applying wrong value
- Use pivot instead of recentsViewScroll to bring non scroll position live tiel to fullscreen, to avoid a trajectory that will otherwise travel left and then right
Fix: 391146807
Fix: 321013528
Test: launching via swipe down with non-launching live tile
Test: dismissing live tile
Test: launching live tile in non scroll position
Flag: com.android.launcher3.enable_grid_only_overview
Change-Id: I24ee85399b09b25e157a8986103658bb4803a87e