This is a preparation to migrate TaskViews iteration that
rely `getTaskViewCount` to the `TaskViewsIterable` and
`TaskViewsIterator`.
Flag: EXEMPT as no functionality changes
Bug: 379942019
Test: Tested on tangor with `adb shell wm density 480` to simulate
phone layout, and verified overview layout is correct in
scenarios below:
1. Dismiss the first TaskView
2. Dismiss the last TaskView
3. Dismiss a TaskView in the middle
4. Click `ClearAll` button to dismiss all the TaskViews
Change-Id: Icbaf1ea706906097fc6ac60ad3e2ab17d2781284
Previously, clicks were not handled because no listener was set on the
bubble bar.
Fixes: 383622825
Test: Manual. Ensure bubbles are on the home screen and set the
navigation mode to 3-button navigation. Click on the collapsed bubble
bar and observe the bar expanding.
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: I99e1c20e40a9dd9da97b68817734c8ca1f656baa
When updating the bubble bar visibility, allow it to become visible
if the only hidden bit is the stashed one and we're animating.
This fixes the visibility issue that appears after dismissing the
bar while stashed, and then sending an initial bubble, while still
stashed.
Flag: com.android.wm.shell.enable_bubble_bar
Fixes: 383620113
Test: manual
- create bubble
- launch app
- dismiss bubble with adb
- create bubble with adb
- observe bubble bar is visible during the animation
Change-Id: I7a955de068867829b3ccab11b2b0adc8d8e10239
This cl adds the pin shortcut option to the context menu, where
it works on Home launcher, hotseat, and pinned apps on the
taskbar.
Currently the option is a no-op.
Bug: 375648361
Test: Manual. Recording uploaded to buganizer
Flag: com.android.launcher3.enable_pinning_app_with_context_menu
Change-Id: I5d1284a6e909fd75f14e81c3ae713da3cdc01ce3
Using `getChildCount` to iterate TaskViews instead of
`getTaskViewCount` when indices are used. As it is not safe to assume
the TaskView starts from index 0.
Flag: EXEMPT as no functionality changes
Bug: 379942019
Test: Manual
Change-Id: I599b5117f0848e429ebf83fc4b85451e52b4bcab
- RecentsViewUtils is owned by RecentsView, it's safe to have an instance of RecentsView to simplify a lot of call sites
Fix: 383999010
Test: presubmit
Flag: EXEMPT refactor
Change-Id: I69f991ea137b30e0297df825b78ad431f6388af8
Setting the depth when predictive back to home is started. This will be animated to NORMAL state by ScalingWorkspaceRevealAnim on back gesture commit.
Bug: 382453424
Flag: com.android.launcher3.predictive_back_to_home_polish
Test: Manual, i.e. testing predictive back-to-home animation on device
Change-Id: Id33f49d78aae268b7d89035cce58065f6a60a8bf
Update the bubble bar visibility for the initial bubble if the animation
is suppressed, e.g. if we're creating the bubble when the shade is open.
Flag: com.android.wm.shell.enable_bubble_bar
Bug: 382693837
Test: manual
- enable bubbles
- remove all conversations from the list of allowed to bubble
- create notification
- open shade and click on the bubble button to bubble the notification
- observe bubble bar becomes visible
Change-Id: If771c28998b2b091f4f1ab38001e9485ed1ed849
Bug: 382453424
Test: Manual, i.e. tested back-to-home and back-to-allapps animation on phones, tablets and foldables, including interruptions.
Flag: com.android.launcher3.predictive_back_to_home_polish
Change-Id: I092a74ab2340828e18067ca15c7019c44d30f40b
The reason is because when ag/29152694 was introduced, the accessibilityEvent that would
trigger is TYPE_VIEW_HOVER_ENTER that would eventually always have the list scrolling depending
on where the mouse would be. Gating it to TYPE_VIEW_ACCESSIBILITY_FOCUSED would be fix this as
this should still work for talkback when traversing the A-Z list as TYPE_VIEW_ACCESSIBILITY_FOCUSED is whats is always used
during this case.
bug: 372965379
Test: manually
Flag: EXEMPT bug fix
Change-Id: I249cee8036216f93aab53efc3d77fad047f7e408
Hide or show bubble based on suppression signals from shell.
If this is the only bubble, hides or shows the bubble bar.
Bug: 273316505
Test: have a single bubble in the bubble bar, suppress the bubble,
observe that bubble is hidden and bubble bar is not shown,
unsuppress the bubble, check that bubble bar and bubble is shown
again, perform check with transient and persistent taskbar
Test: have multiple bubbles, suppress one bubble, check that this bubble
is not shown, but the bubble bar remains visible with other bubbles,
perform the check with transient and persistent taskbar
Test: have a single bubble in bubble bar that is suppressed, receive
notifications to trigger new bubbles, observe bubble bar is shown for
new bubbles, check that after unsuppressing bubble, it is added back,
perform the checks with tranient and persistent taskbar
Test: suppress a bubble and rotate the device to trigger launcher
recreation, check that after unsuppress, the bubble is added back
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: I17e5cec750a2666feecc62213a3e8fc204ee510a
Migrating the remaining `getTaskViewAt(0)` to `getFirstTaskView()`.
Flag: EXEMPT as no functionality changes
Bug: 379942019
Test: Manual
Change-Id: I083626b0ca62b88d06f508dfc15d9f64112f1a6a
- This function is going to replace all the call sites that compares
`getTaskVieCount()` and `0`.
- This is based on the fact that this count can not be a negative
number.
- Introduce `getLastTaskView()` to get the last TaskView inside the
RecentsView.
Flag: EXEMPT as no functionality changes
Bug: 379942019
Test: Manual
Change-Id: Iefb107d1aba61549a870f14c18e025c34b19a1b5
- Create TaskViewsIterator to iterate all the current TaskViews inside
RecentsView.
- Create TaskViewsIterable with TaskViewsIterator as its iterator.
- Create `mTaskViewsIterable`, an instance of TaskViewsIterable that
used to make the TaskViews iterable.
- Current `getTaskViews()` return `mTaskViewsIterable` directly.
- Change `getTaskViews()` to be a public function, thus it can be
used outside of the RecentsView.
Some follow-up work includes:
- Replace all the call sites of `getTaskViewAt(0)` with
`getFirstTaskView()`
- Replace `0` as the index of the first TaskView with
`getFirstTaskViewIndex()`
- Audit all the call sites of iterating the TaskViews, let them use
`getTaskViews()` or IterableTaskViews.iterator() if index is needed.
Flag: EXEMPT as no functionality changes
Bug: 379942019
Test: Ensure the TaskViews required are correct in the following
scrnarios:
1. Swiping up from home screen to enter overview with empty or
multiple tasks
2. Swiping up from a fullscreen app to enter overview with
one or multiple tasks
3. Dimissing one or multiple tasks, exit and enter overview w/o
newly opened tasks
4. Remvoing all the tasks, reenter overview w/o newly opened
tasks
Change-Id: I930ce92b7e0bc37005af74a58fd4c0ce3013e5cb
Add a member property `mTaskViewCount` inside the RecentsView to track
the number of TaskView inside it. Its value will be increased
`onViewAdded` and decreased `onViewRemoved`.
- Then `getTaskViewCount()` can just return this variable directly.
- Invalidate the `PagedView.mPageScrolls` on a view addition and
removal util they have been updated on next `onLayout`. This is done
to guarantee that `mOnPageScrollsInitializedCallbacks` is run with
up to date `mPageScrolls`.
Flag: EXEMPT as no functionality changes
Bug: 379942019
Test: Tested on Tangor, ensure `mTaskViewCount` is correct in the
following scenarios:
1. Adding more tasks and enter overview
2. Dismissing one and more tasks
3. Dismissing all tasks
Change-Id: I32407e77dd2a9b3d8200efc334c1eadea1336b31
While splitting focus task, there is a timing issue of focus task being animated first and then small tiles.
This CL fixes that makes animation smooth i.e. animate stage task(focus task) and other small tiles together.
Also refactored animationStartProgress and animationEndProgress initialisation by adding "if/else" for readability.
Test: Manual.Split focus task.(RTL as well)
Fix: 383417963
Flag: com.android.launcher3.enable_large_desktop_windowing_tile
Change-Id: I7b8c651d91168802b930fdeac62e762a2be9dbe9
This reverts commit 09603bfb39.
Reason for revert: Launcher icons are sometimes not visible during the back-to-home animation when immediately swiping back after opening the app.
Change-Id: I13869cf755160986e323365a460f6ebe128008a9