This cl inlcudes: while user is in desktop mode, we will add state description(active, minimized) of each app icon to it's content description.
Test: Manual
Bug: 397555157
Flag: EXEMPT bugfix
Change-Id: Iaec18e7099108e8b076b76c637a41e29ed837265
- Eventually we should remove circular geometry from ClippedFolderIconLayoutRule altogether
Bug: 392610664
Test: changing shapes with different size folders
Flag: com.android.launcher3.enable_launcher_icon_shapes
Change-Id: I15c854c19186a3e4262e8d2b40960f3519ec2729
- 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
Move SandboxContext to a separate class.
Remove all MainThreadInitializedObject references in Launcher3 and tests.
Remove ObjectSandbox interface and make RoboApplication extend
SandboxContext
Bug: 361850561
Test: Presubmit
Flag: EXEMPT dagger
Change-Id: I1a8af5e6ae59df44d8ad6732b4d6e949ac402d6c
TODOs have been added for verifying and updating the Outline, right to left mode,
and the entry animation. This CL is complex, and those have been left out on purpose.
Bug: 394355070
Test: Verified this behavior looks good in LTR on the workspace.
Flag: com.android.launcher3.enable_launcher_visual_refresh
Change-Id: I8f0192f461d344360572411e1a62921fd65ba600
This cl adds the unpin option by tracking the hotseat/taskbar state. The
option shown is determined by the following conditions:
1. If the target non-predicted item is on the taskbar, shows
"Unpin from taskbar"
2. If the taskbar is not full, that is, reaching the limit of the
available spaces, and the target item is anywhere outside of the
taskbar, including All apps, shows "Pin to taskbar".
3. If the taskbar is full, simply don't show any shortcut option.
This cl also removes the option that will be shown on Launcher
homescreen or hotseat, as further UX alignment is needed.
One note about why the pin shortcut is not implemented in the
getShortcuts(). The reason is that getShortcuts does not have the
ItemInfo of the triggered item, while the SystemShortcut.Factory doesn't
have the hotseat/taskbar information. The simplest way at this point is
to check all the conditions in the controller and then manually add the
shortcut into the list.
Bug: 375648361
Test: Manual, Recording uploaded to buganizer
Flag: com.android.launcher3.enable_pinning_app_with_context_menu
Change-Id: I7d048bcb1b00f78651e909fbfcd911052a4cd4ef
Remove legacy all apps UI from secondary display. This is a quick temporary fix just to remove the legacy all apps button for aesthetic purposes without breaking secondary display launcher. The button will appear invisible. A more robust removal will be done when secondary launcher is eradicated completely.
Bug: 398196983
Test: m
Flag: com.android.window.flags.enable_taskbar_connected_displays
Change-Id: Ic5bc44efd479f7298e346d9d45fbb6f24dfad5d3
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
This Cl includes
- addition of entry/exit callback methods in DesktopVisibilityController.
- taskbar manager now listens to desktop mode changes.
- TaskbarBackrgroundRedererer can now individually animation backgrounds for transient and persistent taskbars
- new channel for taskbar icon alpha added to TaskbarViewController
- new animated float to handle background alpha while we are recreating taskbar with animation.
Solution:
we use the callabck we get from DekstopVisibilty for entry/exit to first change logic of when we are considered inDesktopMode. Upon entry/exit we notify display controller for info change.
we also at notify taskbar manager who is now a listener to the desktop mode change and start the recreate process. TaskbarManager first animates existing taskbar out of user view and then follows the original recreate flow.
Test: Presubmit
Bug: 343882478
Flag: com.android.window.flags.enable_desktop_windowing_mode
Change-Id: Ib827564cacd194f499e7d9b1965e2bb13e3548ab
This cl include: Allows user to click on lottie animation views to play and pause animations. If user have choosen to remove animations we will honor it and not play the animation from begaining.
Test: Manual, Presubmit
Bug: 378980835
Flag: EXEMPT bugfix
Change-Id: Ieaaf771bc307837f042f6e59d8f02fefb2e8286a
- also avoids race condition where unarchived shortcut is not pinned in shortcut service after restore, and then marked as broken
Bug: 375414891
Test: Launcher B&R w/ archiving
Flag: com.android.launcher3.restore_archived_shortcuts
Change-Id: I2b5331117be93d66e4acbded49b65cd5ce9f8f83
Rather than register a StateListener for each LauncherAppWidgetHostView, just register one StateListener which, upon launcher state is changed to NORMAL, iterate over all child views under Workspace and perform a11y action if view tag is set.
Fix: 397978703
Test: presubmit
Flag: EXEMPT bug fix
Change-Id: I044d012b74eaa5356196c5503318fa8ab389ec46
Restricting to 200ms+ to reduce the spamminess of these logs.
The idea is to log the latency of LPNH abandons to see the effect
of prewarming at x ms.
Bug: 397484410
Flag: EXEMPT logging
Test: Manual and updated NavHandleLongPressInputConsumerTest.
Change-Id: I93f94ed0757508b68fcb48d61bdd194564dcc573
Earlier wallpaper preview was reading widgets that were eligible for
displaying in picker, which means widgets that are marked as hidden in
picker wouldn't show up in wallpaper preview.
This fix updates widgets model to maintain map of all widgets (instead of just pickable widgets like before), so that the existing `getWidgetsByComponentKey` function used by wallpaper preview can see all widgets. And, updates picker specific methods to use separate functions (suffixed `forPicker` that filter out picker ineligible widgets when read by picker code).
Bug: 385695615
Test: WidgetsModelTest, WidgetsPredictionUpdateTaskTest and demo
Flag: EXEMPT BUGFIX
Change-Id: I59efe38be0ce1f8a956ba4be42fb6e8b48b5d323
Bug: 394902299
Test: tested with themed/forced-themed icons on and off
Flag: com.android.launcher3.enable_launcher_icon_shapes
Change-Id: I5b189b8dcfefe195e42b8cfad1bda9e18fd80a29
In flexible split ratios like 90:10 and 10:90, we hide the Overview icon of the smaller app completely (ag/30949010). However, there was an unintentional side effect where one of the icons would disappear when rotating the display.
This happened (basically) because SplitBounds is not recalculated on device rotation, so fields like leftTaskPercent and topTaskPercent should not be used directly when the rotation state is not known. I added an API to SplitBounds that hopefully makes it harder to write bugs like this in the future.
Fixes: 395783367
Flag: com.android.wm.shell.enable_flexible_two_app_split
Test: Icons do not disappear on rotation. When app chip menus are enabled, the (existing) correct behavior is not changed.
Change-Id: I2c1b38f4bd9a76dfb127b7bbf230897d747d3c49