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
This cl also removes forced hidden annoucement and focus for Bubble Bar since they are annouced together.
we are keeping the tasksbar show annoucement and focus since it is only way to notify user of taskbar being shown on screen until we figure out proper solution with talkback team.
Test: Manual, Presubmit
Bug: 383928453
Flag: EXEMPT bugfix
Change-Id: I2c32ea393da2509af49e2fce795759a6903b0451
while the slot animation is running
Slot animation is only trigerred through prediction update and it sets
final ring color at that point as part of the animation. If the icon
and the color change due to some other reason (like high-res icon or
a package-update), that color is overriden by the ongoing slot animation.
Bug: 381897614
Test: Verified manually by slowing down animation
Flag: EXEMPT bugfix
Change-Id: Ia3b86330afdb91ba6ff3366e3c8057bd7ec34e5d
Remove and merge the usage of the enableBubbleBarInPersistentTaskBar
flag to the enableBubbleBar flag.
Bug: 383181643
Flag: com.android.wm.shell.enable_bubble_bar
Test: NONE - removed and merged flag usage.
Change-Id: I4f131e1ddf8367425b91c8fb597857ee222b75d8
* changes:
Move recents divider if hotseat is set after recents.
Animate out/in the correct task view when recents change.
Implement initial LayoutTransition for Taskbar recents.
Fixes a bug where updateItems is first called with recents and then with hotseat. This causes the Taskbar to first be All Apps, Divider, and then Recents. The layout transition path assumes though that the Divider after All Apps is not for recents in this case, which is wrong. Due to this assumption, it skips over the divider and then adds the hotseat items after it (should be added before). Added a test for this case.
Flag: com.android.launcher3.taskbar_recents_layout_transition
Bug: 343521765
Test: go/testedequals
Change-Id: Ia690c71fe482709e35ab302a7b497bf547eb4478
The animations mostly match the spec, though the recents indicators scale/fade with icon currently.
The change transitions need to incorporate translateX since that changes based on the number of icons in Taskbar. We need the translateX for pinning update to happen before TaskbarView lays out its children so that the animator computes the correct start and end values.
Flag: com.android.launcher3.taskbar_recents_layout_transition
Bug: 343521765
Test: go/testedequals
Change-Id: I13aa49abf80ddc09fab890f78bde924a8f7f1d6e
Adds a step to verify that TaskbarOverflowView items get set to the list
of the least recent tasks. Adds test cases for an edge case where
taskbar hits max number of items event without recent tasks
(b/379774843).
Has a fix for a further edge case where taskbar overflow view could be
created with a single item (in which case we can just show that item
directly).
Bug: 379774843
Flag: com.android.launcher3.taskbar_overflow
Test: atest TaskbarOverflowTest
Change-Id: I004676da3e17f26b8110d14d39589c84a9f384d8
We were checking the wrong index (off by one), leading to a crash if the divider is already in the Taskbar at the correct index. However, we do need to add it after the expected index if the divider isn't there, otherwise it will push the icon that is at that position to the right of the divider (it should be to the left).
Flag: com.android.launcher3.taskbar_recents_layout_transition
Bug: 343521765
Bug: 368522274
Test: go/testedequals
Change-Id: I0263f704728286b53da5b45828784b20aaae31ce
Only remove divider when it needs to be removed or moved between All Apps and recents locations. Keep All Apps and QSB in Taskbar at all times. LayoutTransition does not work if views are being removed and then immediately readded (what current code branch does).
Overflow is not supported yet with the LayoutTransition flag.
Test: go/tested-equals
Flag: com.android.launcher3.taskbar_recents_layout_transition
Bug: 368522274, 343521765
Change-Id: I9ae1d7c52e853106cdf86329be6f221213e7cb86
To support RTL with recents, will need to support calling updateRecents before updateHotseatItems. Splitting into two methods makes this doable.
Test: go/testedequals
Flag: EXEMPT refactor
Bug: 343521765, 368522274
Change-Id: I8756ea23fff1606ef4ab9f72d18dd4b21f135b25
Fixes an issue where hotseatItems may not reflect the number of hotseat views in Taskbar. Entries in the array can be null (e.g. no predictions but there is space in the hotseat for them). If these are filtered out immediately, hotseatItems.length will correspond to the number of hotseat views.
Test: go/testedequals
Flag: EXEMPT bugfix
Fix: 379704910
Change-Id: I375d8152fccb6df5a9b783842ecf5dcedf6894c1
In certain situations, space in taskbar may be restricted so even the
overflow icon for running apps is technically overflowing available
space (i.e. not fully within intended margins). In such cases the
overflow icon was not rendered, as the size of the overflown icons was
larger than the number of running app icons, so the list of icons for
overflow icon was never fully initialized.
Handle this case by capping the number of items to add to overflow icon
to the number of available running apps.
Bug: 379774843
Test: Enable three button navigation, increase the display scaling (to
effectively reduce available space), and enter desktop session in
portrait orientation. Verify the taskbar overflow icon shows up.
Flag: com.android.launcher3.taskbar_overflow
Change-Id: I06371637d1b01e99eaf30aec98ae0920aa248652
The tests verify that number of icons in the task bar does not go beyond
the intended max number, that the taskbar remains centered as it hits
max number of icons, and maintains a minimal margin to the display
edges.
Also, has a test that the max naumber of icons and the taskbar margins
adapt as bubble bar visibility chages.
Adds a TestRule to mock the recents model in the taskbar window sandbox.
The mocked recents model is used to add fake running app icons to the
taskbar.
Bug: 368119679
Test: atest TaskbarOverflowTest
Flag: EXEMPT test only
Change-Id: I8d033c3e95d7c0a4b139502cd7d70882482117c0
When caculating number of icons to show in taskbar, account for bubble
bar size (the max size when in collapsed state) when bubble bar has
bubbles (even if the bubble bar is stashed). Note that the bubble bar
visibility may change, so max number of icons in the taskbar may change
during the taskbar view lieftime. TaskbarViewController already had a
method called when the bubble bar visibility changed - adapt it to also
reclaculate max number of icons to show in the taskbar, and update the
list of icons shown in the UI if necessary (if the change in the bubble
bar visibility would also cause a change in number of icons shown in the
taskbar).
Bug: 368119679
Test: Launch enough apps for taskbar to enter overflow, open an app that
supports bubbles, and trigger 2 or more bubbles so bubble bar shows up.
Verify that the buble bar does not overlap with taskbar bounds, both
in transient and persistent taskbar. Remove bubbles, and verify the
taskbar bounds expand, allowing more icons to be shown.
Flag: com.android.launcher3.taskbar_overflow
Change-Id: Ifed4e5e5dd64df5256090f5ba55f24203c09e839
When calculating max number of items to show in a taskbar with overflow,
reserve space for taskbar end/start margins that matches inline nav
buttons end spacing.
Bug: 368119679
Test: None
Flag: com.android.launcher3.taskbar_overflow
Change-Id: I1205663ed4455ae1e7807f8d4edf5aaf2beba7d4