The problem: Currently, when users increases font size to fullest and also display size to fullest, taskbar icons goes beyond screen. The isssue is event worst when there is bubble bar present in the Taskbar. This is currently a problem with 3 button nav button.
The Solution: The solution is in two parts.
Part 1: figure out amount of icons we need to remove from hotseat for the taskbar icons to not got beyond screen and not collide with nav buttons or bubble bar.
Part 2: Once we figure out how many icon we need to not show in takbar which are present in the hotseat, we need to modify the takbar icon alignment controlled to modify alpha animation and eventually the visibility of those taksbar views. We also need to modify taskbar icon layout logic so that we don't take space for invisible taksbar icons and we layout next visible icon on the place of invisible icons.
Test: Manual, Presubmit
Bug: 412835965
Flag: EXEMPT bugfix
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:8def3264e3f4fa3a2354dfa693751ea3d5f33f36)
Merged-In: I8dea948df09c0a86871a9ac649f312ecf281545a
Change-Id: I8dea948df09c0a86871a9ac649f312ecf281545a
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
Fixes few instances where taskbar icon layout was calculated incorrectly
for desktop-fist taskbar, assuming that taskbar gets scaled from
transient taskbar sizes to pinned taskbar (which is not the case).
Adds logic to determine whether taskbar supports transition to transient
taskbar to TaskbarFeatureEvaluator, and uses that values in place of
directly checking whether three button nav is enabled.
Bug: 413494672
Flag: com.android.window.flags.enable_desktop_taskbar_on_freeform_displays
Test: Manual - observe the taskbar layout on a desktop device.
Change-Id: Ie0d44ee5be90024ba405f652bbfd888ed22c393b
Revert submission 33672643-DataDeviceProfile1
Reason for revert: Droidmonitor created revert due to b/419867875. Will be verifying through ABTD before submission.
Fix: 419867875
Reverted changes: /q/submissionid:33672643-DataDeviceProfile1
Change-Id: Icb66aefbbcee24e05806b2139923e1f2ea1c65e3
Both flags are in Nextfood, so there will be no change to
user experience.
Bug: 368119679
Bug: 375627272
Test: TaskbarOverflowTest
Flag: com.android.window.flags.enable_taskbar_overflow
Change-Id: Ie3ef3bd49e078f5657bd069bc92c5a48a136e7cb
Instead of the dispatcher specifying the type, the UI checks th diff. This
ensures that the UI is updated correctly in all paths
Bug: 390572144
Flag: EXEMPT refactor
Test: Manually verified folder edit path where these callbacks were getting dispatched
Change-Id: Ib73eed5da87a847753a78453a48ab4fc495c1199
On freeform displays where taskbar is always pinned, toggling "Always
show taskbar" option is no-op, as the taskbar won't transition to
transient taskbar.
Left a TODO to reevaluate behavior once desktop taskbar transient
behavior gets updated.
Bug: 390665752
Flag: com.android.window.flags.enable_desktop_taskbar_on_freeform_displays
Test: Manual.
Change-Id: Icfe7cd26e77de48ab34bfe4932bfedfe21923ef1
- Makes sure view is removed and set to null
- Makes sure draglayer is visible before trying
to copy it to the snapshot. I wasn't able to repo
the ANR, so will need to keep an eye on it once we
re-enable the flag.
Test: open/close shade multiple times
trigger launcher recreate by toggling dark theme
no leak detected in AS
Fixes: 404331867
Bug: 408450275
Flag: com.android.launcher3.enable_taskbar_behind_shade
Change-Id: Ide375943214548b938953230e2140d4df23317df
The taskbar shown on freeform display taskbar when
enable_desktop_taskbar_on_freeform_displays feature is enabled is
expected to remain in persistent taskbar state (and never
transition to transient taskbar). Given that transitions to transient
taskbar is not expected, use actual peristent taskbar sizing to layout
the taskbar in this case (similar to three-button navigation taskbar).
Bug: 390665752
Flag: com.android.window.flags.enable_desktop_taskbar_on_freeform_displays
Test: manual on desktop device - keep opening apps in desktop mode, and
verify that taskbar does not enter overflow based on transient
taskbar icon dimensions (i.e. that taskbar keeps filling up until
it hits intended horizontal margins)
Change-Id: If6cdadccf0fe4da1462b437a13def78f6050e3bb
Update usages of TaskbarActivityContext.inDesktopMode to account for a
possibility of a desktop flavour taskbar (i.e. pinned taskbar that
shows desktop tasks) being shown outside desktop mode, which may be the
case on freeform displays (e.g. when
enable_desktop_taskbar_on_freeform_displays feature is enabled, or on
home). Tasks launched from this taskbar should preferably be launched
into desktop mode.
Bug: 390665752
Flag: com.android.window.flags.enable_desktop_taskbar_on_freeform_displays
Test: manual on desktop device. verify correct taskbar is shown
on home screen, in overview, in desktop mode, with fullscreen
app shown. Verify opening/launching apps from taskbar works
as expected.
Change-Id: I8f198216d84fd165c2dcbf437c82e418e5c7405e
Folder and FolderIcon are UI objects and can talk to each other directly.
FolderInfo changes are already propogated via model callbacks, and doesn't need a separate listener pattern.
Bug: 398791288
Flag: EXEMPT bugfix
Test: atest FolderTest
Change-Id: Iefd47b8ea12a8ecaf34211a3d908220a0e999187
This is more consistent with pre-LayoutTransition approach, and should
behave more reliably on phones.
Flag: com.android.window.flags.enable_taskbar_recents_layout_transition
Bug: 343521765
Test: go/testedequals
Change-Id: Ib758b1e44c3b87d6d2ff71425ed40ff621261104
The problem: Due to complexitiy of recent animation, taskbar is currently getting recreated upon recent animation being canceled for Desktop Mode.
Upon canceling of recent animation showDesktopApps is called again, but user is already in desktop mode.
The solution: simply check if user is in desktop mode upon getting onEnterDesktopMode transition callback before recreating taskbar.
Test: Manual
Bug: 399857150
Flag: EXEMPT bugfix
Change-Id: I8f36a8c8c834bca7be1ce7164cd712a7578c1ab4
The gesture handle still persists in conjunction with the three buttons. In addition to being forced into three button mode, the taskbar on external displays needs to never enter transient mode. More info and before/after images on bug.
Flag: com.android.window.flags.enable_taskbar_connected_displays
Bug: 399718805
Test: Manual
Change-Id: Iff5c297c8ac4823fa24e7a8e4becd0447224cac0
Phone can now have QSB inline when in landscape. Need to adjust layout
transition initialization to reflect that.
Flag: com.android.window.flags.enable_taskbar_recents_layout_transition
Bug: 343521765
Test: go/testedequals
Change-Id: I9f0b61108170188da1a37b99c9e1411da6b71946
Also implements RTL support for overflow.
Flag: com.android.window.flags.enable_taskbar_recents_layout_transition
Bug: 343521765
Test: go/testedequals
Change-Id: I34983821a2a1a80793dc6d811d42cfeafe274ef4
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
See go/refactor-group-task for details. This is the final CL
in this refactor, where `task1` and `task2` are finally removed,
and `DesktopTask` is allowed to have empty tasks.
Bug: 388593902
Test: m
Flag: EXEMPT pure refactor with no behavior change.
Change-Id: I8af39b58138f11030981311efc2e95a77cef125b
See go/refactor-group-task for details. This CL removes all the usages
of `task1` and `task2` from `GroupTask` in Launcher3. Follow-up CLs will
remove it from NexusLauncher and remove the fields altogether.
Bug: 388593902
Test: m
Flag: EXEMPT pure refactor with no behavior change.
Change-Id: I902c8135b3a0aae95acf25267b3bcbf286bd4e7d