Move feature flag logic to the state mapper
Fix: 401469907
Flag: com.android.launcher3.enable_desktop_exploded_view
Test: TaskUiStateMapperTest & TaskContentViewScreenshotTest
Change-Id: Ic6ee5bef438ae2782816f526b003e1fb91992065
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
- Fix some mockito issue by using a fake implementation rather
than a mock.
- Return early in the bubble bar animation if there's no animating
bubble. The issue here is that the scaleY property of the bubble
bar is set to 1 when the animation is interrupted. However, in
the test environment, the cancellation of the animator is posted
to a different thread, and another animation frame is running
after the scaleY was already reset to 1.
Flag: EXEMPT test only
Test: atest BubbleBarViewAnimatorTest
Bug: 399934422
Bug: 399720438
Change-Id: I271f670c50168237aeaf867c8171ae3023ee09ff
loadTasksInBackground_freeformTask_createsDesktopTaskPerDisplay assumes
that when FLAG_ENABLE_SEPARATE_EXTERNAL_DISPLAY_TASKS is enabled, all
desktop tasks (regardless of the GroupedTaskInfo.deskId) will be grouped
into one GroupTask per display.
However, if multi-desks is enabled, this logic does not apply, and
GroupTasks are created for each desk. Given that this test uses deskId=0
with the expectation that it is an unused/invalid field when testing
FLAG_ENABLE_SEPARATE_EXTERNAL_DISPLAY_TASKS, this CL disables
FLAG_ENABLE_MULTIPLE_DESKTOPS_BACKEND to match that expectation.
Flag: com.android.window.flags.enable_multiple_desktops_backend
Flag: com.android.launcher3.enable_separate_external_display_tasks
Bug: 362720497
Test: atest NexusLauncherTests:com.android.quickstep.RecentTasksListTest
Change-Id: I88cceaa37582fdcf1a3ad4f59712abbfa7e428a8
Noticed that predictor holds the registered callback and caused leak.
Using named listener classes for better stacks and also unregisters them
Bug: N/A
Flag: EXEMPT BUGFIX
Test: WidgetPredictionsRequesterTest
Change-Id: I94211ddbc77077c98b804827bb1cecdefe57703b
This cl creates some basic tests for popup menu on hotseat items
and recent tasks.
Bug: 3446576299
Test: The cl itself is for tests
Flag: EXEMPT adding test
Change-Id: I872078969d9c3d20b5bf47a43cd8e3c940dd4d8f
Also implements RTL support for overflow.
Flag: com.android.window.flags.enable_taskbar_recents_layout_transition
Bug: 343521765
Test: go/testedequals
Change-Id: I34983821a2a1a80793dc6d811d42cfeafe274ef4
Flag: com.android.launcher3.enable_gesture_nav_horizontal_touch_slop
Fixes: 394364217
Test: Tested overview gesture with slight horizontal fling at the end
Change-Id: Ifb716b58486dd0bfadee467978b85150525af333
Flag: com.android.launcher3.enable_gesture_nav_on_connected_displays
Bug: 382130680
Bug: 398881237
Test: connected an external display and attempted touch gestures. checked logs to ensure motion events are separated by display id
Change-Id: I45356fd7f1926685093833990d39c85a4a074c58
- Add TaskContentView parent view
- Extract TaskThumbnailViewHeader logic and any related state out of
TaskThumbnailView and move to TaskContentView
- Use vertical LinearLayoutManager to hold the TaskThumbnailViewHeader
and TaskThumbnailView
- Rename TaskThumbnailViewHeader to TaskHeaderView. Rename xml and state
similarly
Bug: 397889146
Flag: EXEMPT. Refactor
Test: Refactoring CL. Existing unit tests still pass.
Change-Id: Ie31f35c6617aab272f984a6beb3e4cb8f58e3ce9
This changes the ILauncherProxy.aidl interface to also allow propagating the display id from SysUI to launcher for each SysUIState update.
The SysUI part of filling SysUI state correctly has not been implemented yet. But for now, only default display flags are propagated anyway.
On the launcher side, the sysui state is propagated correctly to each taskbar instance (there is one for each display)
Bug: 362719719
Bug: 398011576
Bug: 399371607
Test: LauncherProxyServiceTest
Flag: com.android.systemui.shade_window_goes_around
Change-Id: Ic9fa55ca82e4fe395a915c4d611afc8835c5d65d
TouchInteractionService sends a touch cancel when the screen turns
off, for example. So we shouldn't assume there was a touch down.
Fix: 398855863
Test: NavHandleLongPressInputConsumerTest#testTouchCancelWithoutTouchDown
Flag: EXEMPT bugfix
Change-Id: Ic1b6e981fe183864663bd44e1488d6f6749183bc
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
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
In flexible split ratios like 90:10 and 10:90, we hide the Overview icon of the smaller app completely. This resulted in a bug where the single remaining visible icon was positioned badly.
Fixed this by adding a check in updateIconPlacement() so that we can skip the two-icon positioning and center the visible icon alone. Also fixed the cases where split select is initiated on a split tile (from Taskbar). Now the correct icon should be shown and centered.
Fixes: 391865942
Flag: com.android.wm.shell.enable_flexible_two_app_split
Test: Single icon is positioned correctly in the middle. When split select is initiated, the right icon is shown and centered. When app chip menus are enabled, the (existing) correct behavior is not changed.
Change-Id: I79842222fc325a7661cbabbb54d277389a317504
On some devices, the long press would trigger due to an overly
long wait in the test. Separately, the small slop tests were
using a slop that would trigger the second stage if that flag was
enabled, so the trigger didn't happen (WAI). We already test 2
stage, so I updated these tests to use a smaller slop that should
not trigger with or without 2 stage.
Test: atest NexusLauncherTests:com.android.quickstep.inputconsumers.NavHandleLongPressInputConsumerTest -- --abi arm64-v8a
Flag: EXEMPT tests
Fix: 398216382
Change-Id: Iec633d01eff63eac8ba072fef4ac1e7b452d8242