Update TaskbarView logic to remove all apps divider when it's not
expected to show (if the taskbar is showing desktop tasks), instead of
just assuming it was never added. This handles an edge case where
`shouldShowDesktopTasks()` may return false initially for taskbar on
home screen, until home screen visibility as seen by taskbar controllers
is updated when transitioning out of desktop mode.
Bug: 416402113
Test: On desktop first device, disable
enable_desktop_taskbar_on_freeform_displays, go to desktop mode,
then minimize/close all desktop windows. On home screen, verify
taskbar is shown, and contains only pinned apps - no divider is
shown between all apps and pinned apps.
Flag: EXEMPT bugfix
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:f10c3e9afe8aa866fe21c797a5aade262bd4fcdc)
Merged-In: I7bb419d87420575cebe0c332111797678b07d654
Change-Id: I7bb419d87420575cebe0c332111797678b07d654
Also, I moved some of the boolean expressions to a method in the
rotation handler to avoid repeating code and to make the expressions
more legible.
Bug: 401483343
Flag: com.android.launcher3.one_grid_specs
Test: RecentOrientedStateTest
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:0a7bf1db572262d3263f623a1a41fe75076858e4)
Merged-In: I84c1a6e90ede827fd93ec44c3937acaf45f02413
Change-Id: I84c1a6e90ede827fd93ec44c3937acaf45f02413
Test was added but never passed on certain target.
Bug: 418979038
Fix: 423041240
Test: presubmit
Flag: EXEMPT Test Only
Change-Id: Id5317c90a97795a8b0cfb76872f75078d3801913
Bug: 404753077
Flag: com.android.window.flags.enable_taskbar_overflow
Test: Verify that taskbar overflow bubble view only shows tasks not
visible in taskbar.
Change-Id: Ie04f79c91b524bbc592309ef62723d428e78f304
This CL prevents taskbar from forcefully moving the existing fullscreen
task to desktop on desktop-first display.
On desktop-first displays, we want to keep the current windowing mode
when its taskbar app icon is clicked.
Flag: com.android.window.flags.enable_desktop_first_fullscreen_refocus_bugfix
Bug: 420499923
Test: TaskbarRecentAppsControllerTest
Change-Id: I5e5c950d2e7bd25762eaddad94c57a4bf29ee800
When selecting grid size to use for desktop, size breakpoints are
compared to the display dimensions with "stable" device density.
Expose the scale factor that needs to be applied to dimensions
provided in spec via DisplayController::Info, so it can be more easily
faked in tests.
Bug: 375643744
Test: atest DeviceProfileDumpTest
Flag: com.android.launcher3.enable_scalability_for_desktop_experience
Change-Id: I836430cc052f72c0f89b6cdd5ab5309a3482d94e
Problem: upon exiting the deesktop mode we were getting change in recents tasks which we were commiting to ui and that resulted in hotseat flashing.
Solution: since layout transition is only in use while we are in desktop windowing mode, we will only need to change icon layout bound while we are in desktop mode and not when we are exiting.
Test: Manual, Presubmit
Bug: 417696108
Bug: 415700104
Flag: EXEMPT bugfix
Change-Id: Ibcf65df49e7b48312a27d2750d3d0c6c5d392006
Problem:
The framework prevents a key gesture handler from being re-registered by the same process ID. In `TaskbarAutohideSuspendControllerTest`, we observed two calls to `QuickstepKeyGestureEventsManager#registerAllAppsKeyGestureEvent`. The first call originated from TouchInteractionService (as expected). The second, however, came from a new TaskbarManager instance created within `TaskbarbarUnitTestRule`. This occurs because `TaskManager#recreateTaskbarForDisplay` triggers `AllAppsActionManager#isTaskbarPresent`, which ultimately leads to the duplicate call to `QuickstepKeyGestureEventsManager#registerAllAppsKeyGestureEvent`.
Solution:
Since this problem only occurs in tests and not in practice, we can mock out `QuickstepKeyGestureEventsManager`'s [un]registration calls to do nothing within `TaskbarbarUnitTestRule` to prevent duplicated re-registration.
Flag: com.android.window.flags.grant_manage_key_gestures_to_recents
Test: atest NexusLauncherTests:TaskbarAutohideSuspendControllerTest
Test: atest NexusLauncherTests:TaskbarEduTooltipControllerTest
Fix: 421853013
Change-Id: Ic87bd8d36ce018935002b8698b1d53e30b2fca6d
In these cases, stateManager.getTargetState() reflects the state the
animation is going to, while getState() reflects user controlled state
transitions.
An example of this is the All Apps edu animation, which occurs when
you swipe up a few times on the navbar. In this case, the workspace
was not getting blurred because the depth controller didn't think it
was animating towards ALL_APPS.
Demo: https://drive.google.com/file/d/1fR_4dawE6je7Vkcs8InWZG4LcJShUJQA/view?usp=sharing&resourcekey=0-PYDMWlS9-sSbrYO0ATMNEg
Test: Manual (swipe up 3 times on navbar; spot check other state transitions)
Test: atest DepthControllerTest
Flag: com.android.launcher3.all_apps_blur
Fix: 421371766
I'm not sure if the following are fixed, but the symptom is similar.
Bug: 419036313
Bug: 420677002
Change-Id: I55d6d15afbb26169ff531dc1b8869d15ee84b100
Bug: 402365283
Flag: com.android.launcher3.enable_overview_on_connected_displays
Test: unit tests + local test on tablet + foldable
Change-Id: I379547e41029baedb95c67b4440f23adfb29b1ba