This CL adds a fix to prevent OverviewCommandHelper adding and running a new command when a previous command is already running.
In some cases OverviewCommandHelper queue gets cleared, ignoring if a command is still running. This behavior allows a new command to be added in the queue and executed right away, even that an old command is still waiting for callback. This results in the queue to be stuck due to an invalid state.
To prevent this, we implement the following changes:
- Prevent calling onTaskLaunchedInLiveTileMode from RecentsView when recents animation controller is null.
- Fix clearPendingCommands to clear only the pending commands from the queue, and not the running command.
Fix: 352046797
Flag: EXEMPT bugfix.
Test: Manual.
Change-Id: Ia6afc86424d298353a7ad6755e9a98275330d4ce
This CL should not affect the behavior of OverviewCommandHelper.
- It splits executeCommand into smaller functions
- Rearrange public/private functions
- Adds extra logs.
Bug: 352046797
Bug: 351122926
Flag: EXEMPT bugfix.
Test: Manual.
Change-Id: I283f179794af812973a559db6291febe19e3c6d7
- Updates pendingCommands to be a ConcurrentLinkedDeque and make the list safe across multiple threads.
- Introduces CommandStatus to clear only IDLE and COMPLETED commands.
- Adds CommandType enum to prevent adding an invalid command value into the queue and having an unexpected behavior.
- Log messages improved
Bug: 352046797
Bug: 351122926
Flag: EXEMPT bugfix.
Test: Manual.
Change-Id: I80705dca0be579e62cb9e2bd923808dd33c4d633
Fixing desktop task in place along the x-axis and animating its background's alpha to more smoothly handle the transition.
Flag: com.android.launcher3.enable_desktop_task_alpha_animation
Fixes: 320307666
Test: swiped to and from desktop mode and overview
Change-Id: I38d62d0c966733f96c2f4d4ecfa4a9418039fd48
Before: when launching an app and immediately swiping home, the icon alignment
animation would become stale, which lead us to playing the wrong interpolator
for the action key alpha animator.
Fixes: 359579152
Test: open app, then immediately swipe home
Flag: EXEMPT bugfix
Change-Id: Ief08bd0fcb9fdc60efd0b8dd0821c1122cfa6f4f
- Prior to ag/28807475 we would not finish the recents transition
when ending to home while the device is locked, so we need to
continue to skip that now.
Flag: EXEMPT bugfix
Bug: 361950809
Bug: 359608026
Test: Lock the device, open camera and swipe up
Change-Id: I66ba065ebd0084ecd51ea803e88e31bf8acbfdcb
Updated logic of the touch area configuration. Only add the taskbar
bounds if the taskbar is being shown inside the app or on overview.
Fixes: 358301278
Fixes: 361653416
Test: Manual:
http: //recall/-/gx8ASgewUeUS3QYohfrd1J/lpzJER3iGI5PpZrQqv7b7
Flag: com.android.wm.shell.enable_bubble_bar
Change-Id: Id9902058c5ec873dab6257a34b4c3a87aec5ae6b
This changelist ensures that the Taskbar is not hidden when the
Glanceable Hub is showing. Logic for hiding the Taskbar when dreaming
was suppressing it from showing when Glanceable Hub was present. The
surrounding condition has been updated to now not trigger is Glanceable
Hub is showing.
Test: manual - verified Taskbar was properly displayed and hidden
between glanceable hub and dreaming.
Flag: EXEMPT bugfix
Fixes: 353803584
Change-Id: I58a61617baff65041757ae0df96687a071120880
This CL converts OverviewCommandHelper to kotlin prior to a refactoring CL and improvements in how the command queue is handled.
Bug: 352046797
Bug: 351122926
Flag: EXEMPT bugfix.
Test: Manual. Class conversion without behaviour changes.
Change-Id: I7edda0a5326ad2047546434214e048a5989124a4
- We now calcualte the first task's start position, and compared against the expected position (mLastComputedTaskSize) to determine if we need extra translation for ClearAllButton
- The calculation is done with `mIsRtl = true`, and only only flip +/- when applying translation
- http://screen/brM3taew74Z3uZJ shows what happens without clearAllShortTotalTranslation:
- Blue area is mLastComputedGridSize, green area is longRowWidth
- firstTaskStart is caculated from left of grid size, adding longRowWidth
- Red area is mLastComputedTaskSize, where focus task is in the middle (for grid-only-overview it's in top right)
- clearAllShortTotalWidthTranslation is the yellow area
Fix: 354104098
Test: With normal/largest display size, LTR/RTL, focus task /grid only Overview, swipe up with 1/2/6/7 tasks
Flag: EXEMPT BUG_FIX
Change-Id: I324eebc0a2b2129a4ba62d4569bc555b74140c21
Also fix calculation for divider position during this transition
when there are recent apps. Added tests as well.
Flag: com.android.launcher3.enable_recents_in_taskbar
Flag: com.android.window.flags.enable_desktop_windowing_taskbar_running_apps
Test: TaskbarViewControllerTest
Bug: 343522351
Change-Id: Ifffd620c1d4c156b37561584d6e3278b39804439
Debugging locally, it seems there were a couple of state changes
and the last one (which is correct) was getting clobbered by a
previously destroyed instance of TaskbarLauncherStateController.
Fixed this by updating the isDestroyed() call which previously
only checked TaskbarActivityContext to now check
TaskbarLauncherStateController's destroyed state directly. This
is needed because TaskbarLauncherStateController is part of
LauncherTaskbarUIController which can be destroyed independently
of the other Taskbar controllers when Launcher is destroyed.
Also fix a debug log that was not updated long ago in ag/21122190
Flag: EXEMPT bugfix
Test: Go to overview, change Font Scale or Dark Theme from Quick
settings, ensure Taskbar is not visible over Hotseat
Fixes: 302923055
Change-Id: I1299462955b51a2bf931f022177045b1cec039c5
Animation is modeled after the notification dot animation.
- This avoids the ring jumping in after swiping up to home to
a predicted app.
- Also decreased the amount of time the icon has to fade out so
that it shows up less during the animation.
Fixes: 360115794
Test: open predicted app from hotseat, swipe up to return home
Flag: EXEMPT bugfix
Change-Id: I59659610eb2e9f375a408d553bb4aa80947a28c4
This CL updates the DesktopTasks in the RecentsView to be displayed after the focused task, separated from the other tasks in the grid. The DesktopTasks will be larger, following the same size used for focused tasks.
It was necessary to do the following changes to support DesktopTask at the front of the list.
1. Sort the GroupTasks in applyLoadPlan to move DesktopTasks after all other tasks.
2. Update the target page to take into account the DesktopTasks after the running task.
3. updateGridProperties had to support DesktopTask and Focused Task to be positioned at the front of the list. This function updates view translations to support the grid with two rows and rebalacing the position after a task is dimissed.
4. Update the max and min page scroll. Updated getFirstViewIndex to check for a DesktopTaskView, and if it doesn't exist, it uses the focused task as reference.
5. TaskView.updateTaskSize was updated to prevent DesktopTaskView being resized. This change makes DesktopTaskView to have the same size of our current focused task.
6. Update several places using focused task to use isLargeTile.
Bug: 353947137
Fix: 353947516
Fix: 353947467
Fix: 353947334
Flag: com.android.launcher3.enable_large_desktop_windowing_tile
Test: OverviewDesktopTaskImageTest
Change-Id: Ic7c0d8340ca259e8644de180aa6859a3c968d66e