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
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
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
This cl simply reuses logic of setting the default taksbar window size upon rotation of device.
Test: Manual
Bug: 411587814
Flag: EXEMPT bugfix
Change-Id: I65149425b8d03240c3c4ab09ec0ec82be6b40c8f
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
Add check of the bubble bar highest size when setting the taskbar window
size from TaskbarViewController.onRotationChanged
Fixes: 407708503
Test: Manual.
Use foldable device, set navigation mode to the 3 buttons. Fold the
device and trigger bubble. Lock screen. Unfold. Unlock screen. The
bubble remains visible.
Flag: EXEMPT bugfix
Change-Id: If16bf289ea394f6586d8530182db000dbcdea214
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
This fixes a problem of 3-button variant of pinned taskbar. The code for updating the alignment (taskbar to hotseat) animation clashes with LayoutTransition, leading to weird icon states. This change coordinates these two animation systems.
Fix: 409442851
Test: ABTD cherrypick to Q2 release candidate (manual)
Flag: com.android.window.flags.enable_taskbar_recents_layout_transition
Change-Id: Ifa80c384500a9cd3e65090ee39487977a2ac3b5d
Taskbar stashes once an app is launched from taskbar, or remains stashed if you launch something from All Apps. The layout transitions therefore are unlikely to be seen by the user. Disabling them means when the user unstashes, they will see the end result of the transition immediately. The problem with them being enabled for transient taskbar is we set icon alpha to 0 if Taskbar is stashed, which conflicts with the alpha layout transition animation.
Flag: com.android.window.flags.enable_taskbar_recents_layout_transition
Fix: 406809935
Test: Manual
Change-Id: Ibcfc04e5c9af104725a69c8cceccef49544d7bd3
This cl includes: adding support to stash controller to get device locked state. Use different taskbar offset before and after lock screen.
Test: Manual
Bug: 407589216
Flag: EXEMPT bugfix
Change-Id: I55b27d39049458c741efc9bec365cdbc27d4e012
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
Null Protect Taskbar against onLauncherVisibilityChange crash.
Flag: EXEMPT not adding new behavior
Bug: 403294086
Bug: 404928723
Test: m
Change-Id: I84e899d26f93d484031073d1b63c6757daa8b141
To ensure consistent, controllable Taskbar in Connected Displays Behavior, move all independent calls to the singleton DisplayController's various methods into one place in BaseTaskbarContext, where we have access to the parent context and can override default behaviors of these methods throughout taskbar if in external display.
Flag: EXEMPT not adding new behavior
Bug: 401553128
Test: m
Change-Id: If9efc0cfc18bac3ee75bb64bf5280ea979d1faa2
1. Trigger `notifyIsInDesktopModeChanged` on
`visibleDesktopTasksCount` changes only when the multi-desks
flags are disabled.
2. Make `DesktopVisibilityController.isInDesktopMode` variable
private and legacy, which should only be used when the multi-desks
feature is disabled. All the call sites should go to check
`DesktopVisibilityController.isInDesktopMode(displayId)`, which
works both with and without the multi-desks feature enabled.
Bug: 402222877
Test: m
Flag: com.android.window.flags.enable_multiple_desktops_frontend
Flag: com.android.window.flags.enable_multiple_desktops_backend
Change-Id: I291e2be6d99e81b0c918ae7f39c17a8cd4ea0918
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
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
This cl inlcudes: while user is in desktop mode, we will add state description(active, minimized) of each app icon to it's content description.
Test: Manual
Bug: 397555157
Flag: EXEMPT bugfix
Change-Id: Iaec18e7099108e8b076b76c637a41e29ed837265