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
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
Added taskbar icon animation when the bubble bar expansion changes.
If there is enough space to accommodate both bars with spacing in
between, the taskbar remains. If there is not enough space, the taskbar
is animated out and then animated in when the bubble bar is collapsed.
Bug: 346391377
Flag: com.android.wm.shell.enable_bubble_bar
Test: Manual. Set taskbar to persistent mode via 3-button navigation or
through the taskbar itself. Have enough bubbles to cover the taskbar
when the bubble bar is extended. Expand the bubble bar and observe the
taskbar icons animating out. Remove a few bubbles so there is enough
space to accommodate both bars. Expand the bubble bar and observe that
both bars are visible.
Change-Id: I0b03a010c1e49ab39a17934f6629d5496fd66978
Currently only enabled for app launch animation
Future work is planned:
- Overview to home
- App dismiss
- When QSB is drawn inline
Bug: 345768019
Test: Launch an app, taskbar background and stashed handle will
first wrap around hotseat before transforming into the
stashed handle.
Verified by locally forcing taskbar background and
stashed handle to always draw.
Flag: com.android.launcher3.enable_scaling_reveal_home_animation
Change-Id: I9ab1870f87247b6a1b53a352ac3eb0183b7a1a1d
Scrim view was not shown because the TaskbarScrimViewController did not
check taskbar visibility on initialization. Added the check to fix the
issue.
Fixes: 353583417
Flag: com.android.wm.shell.enable_bubble_bar
Test: manual
Switch task bar to transient mode on overview screen or inside an
application. Expand bubble bar.
Change-Id: Ia8a05802a779a4bac70906e7e52ac6650308c85c
We do not need this for now and it is making development more difficult on macs.
Test: Taskbar unit tests
Bug: 230027385
Flag: TEST_ONLY
Change-Id: I2e74e91e21aa650544d8264fab7b336b97b52547
Before this CL we would show only one Taskbar icon per app, making it
impossible (through the taskbar) to switch between several windows of
the same app.
With this CL we add one icon per task instead, making it possible to
bring each task to the front individually.
Flag: com.android.window.flags.enable_desktop_windowing_taskbar_running_apps
Bug: 351118893
Bug: 349790805
Bug: 351156858
Test: Started several Chrome windows -> taskbar has one icon per window
Change-Id: Ia692977effceb9ce339906bf6ca24d73e19d8769
- Re-support GroupTask as a tag on TaskbarView BubbleTextViews
- Can tap to launch (startActivityFromRecents) or drag and drop
- Move divider when enable_recents_in_taskbar is true
Behavior:
- While in Desktop mode, all open tasks show up in TaskbarView,
either in the Hotseat section or the Running apps section
past the divider. Each one also has a running line indicator.
- While in Fullscreen mode, up to 2 Recent apps that are not
part of Hotseat will be added to the right of the divider.
Flag: com.android.launcher3.enable_recents_in_taskbar
Test: TaskbarRecentAppsControllerTest
Bug: 315354060
Change-Id: I2e2870cca434b51f276a701860edb32069109159
- No longer bind All Apps to TaskbarRecentsController, and register
RecentsModel.RecentTasksChangedListener instead
- The source of truth for "running tasks" in Desktop mode is the
DesktopTask#tasks list itself, instead of
RecentsModel.RunningTasksListener (which is no longer used)
- Added TaskInfo.TaskKey#isVisible to distinguish minimized running apps
- Next CL will hook up the UI for Recent/Running tasks that are
not part of the Hotseat.
Flag: com.android.launcher3.enable_recents_in_taskbar
Test: TaskbarRecentAppsControllerTest
Fixes: 335398876
Bug: 315354060
Change-Id: I1313f97a791c5c0c1db7443a5d4f1d5bc761981f
When a task is minimised, it becomes invisible but is still running.
WMShell now signals to the launcher when a task's visibility changes.
The task bar takes the visibility into account to know if a running task
is, in fact, minimised.
Test: atest NexusLauncherTests:DesktopTaskbarRunningAppsControllerTest
Flag: com.android.window.flags.enable_desktop_windowing_taskbar_running_apps
Bug: 333872717
Change-Id: Iaff6b1240d354bb3c4de8e4884948acf9bf40112
This prevents the icons from lingering as the spring settles for the scaling reveal
home animation.
Bug: 298089923
Test: go from app to home, from overview to home, vice versa
Flag: ACONFIG com.android.launcher3.enable_scaling_reveal_home_animation DISABLED
Change-Id: I6bc3f0fcbdc63f0c064d425c8ebaf62a20451ac1
In Desktop Mode we show running Desktop apps in the Taskbar. With this
change we also show an indicator under the app icon for each such
running app.
Bug: 332504528
Test: manual
Test: DesktopTaskbarRunningAppsControllerTest
Flag: ACONFIG com.android.window.flags.Flags.enableDesktopWindowingTaskbarRunningApps DEVELOPMENT
Change-Id: If0906dab8ad0bd8a78d93a4e99db47550e763bed
Previously, app pairs and folders shared a common data model, FolderInfo. Now we need to separate them, so a new type, CollectionInfo, will serve as the parent of both types.
Bug: 315731527
Fixes: 326664798
Flag: ACONFIG com.android.wm.shell.enable_app_pairs TRUNKFOOD
Test: Manual, unit tests to follow
Change-Id: Ia8c429cf6e6a376f2554ae1866549ef0bcab2a22
We remove the added tint to taskbar themed icons to match how they look
in the hotseat on launcher home screen specifically for dark mode.
Fix: 323952706
Test: Turn on themed icons and dark mode. Compare app icons in taskbar
and in hotseat
Flag: N/A
Change-Id: I4dfe352ca17ef5537e48fcc3cff66ba4fd4f603a
When home screen rotation is enabled, instead of updating taskbar height (assuming that folded task bar is always on the bottom of screen display), we should update taskbar width instead.
Bug: 313371759
Test: try out both folded and unfolded 3-button and gesture nav modes, enable home rotation, make sure all the nav buttons are functional and visible when they should be.
Change-Id: I16f53d9e9c3cd0229fc50b73613b032a96322b97
This change adds in a standalone edu window for the pinnable taskbar
feature. The reason for the change is to educate users about pinnable
taskbar to those who have already seen taskbar edu before.
Fixes: 302589411, 300161174
Test: Went through taskbar education taskbar with the flag on and off.
Check that the standalone pinning taskbar only shows up if previous
taskbar education was already completed.
Flag: ACONFIG com.android.launcher3.enable_taskbar_pinning DISABLED
Change-Id: I03a5fb05ae5f15892421a57355f6d503de56d9fd
This is fundamentally caused by the phone device profile not having task bar related attributes, which crashes in icon alignment animation. We had resolved it by skipping this animation based on isPhoneMode check. However, we passed in launcherDp instead of taskbarDp (from TaskbarActivityContext) which doesn't always have the most up to date information in race conditions (e.g. repetitively fold/unfold)
Fixes: 311431054
Test: repetively fold/unfold, make sure it doesn't crash
Change-Id: I65f600112da4123d337b3f59a2fe6dd13ac7af74
In small screen, we use 48dp for nav bar height, while it's 60dp for task bar.
Bug: 230395757
Test: manual
Change-Id: Ia7083a1b2246981466e1163404c63b645a6bf5b1
Currently, all apps button and divider line overlaps each other when launching app from home. so here we are arbituraly making tasakbar divider line position in hotseat to be little off centered so icons don't over lap and divider line travels less to its position on taskbar.
Test: Manual
Bug: 308488785
Flag: LEGACY ENABLE_TASKBAR_PINNING DISABLED
Change-Id: I6cf9f3db50f34deb0c393ec1cfd0268e1b147758
With the existing code, there is a rare case that mIconAlignControllerLazy is
set from unfolded state, and then go to small screen, and we will reuse mIconAlignControllerLazy to animate, only to find out that scaleX for the icon view is infinity. Instead, we should unset mIconAlignControllerLazy in phone mode.
Fixes: 274517647
Test: manual
Change-Id: I3200761e5f4c6df0d89744f22e38bfe7fc7846cc
We need to re-create the icon alignment controller if the
stash status changes, otherwise it will use an old value.
Bug: 296414290
Test: home to app then quickly unstash
Change-Id: I35f23842f289fce95d102a9a93dc94cd033fa8cc
A few params are not set in device profile when task bar (in large screen) is not present, and hence the calculation below causes a crash
Test: Make sure that it doesn't crash in small screen gesture nav mode
Bug: 274517647
Change-Id: I3a61a64ac931fac4aee1a3c40ed54ab9ded298a7
TaskbarScrimViewController was previously unaware of visibility
changes that happened to taskbar outside of when the sysui state
flags changed. Additionally, isTaskbarVisibileAndNotStashing is not
a reliable signal as the visibility might be GONE even though taskbar
is about to animate to be visible (i.e. shade is showing and then
you swipe it back up -- taskbar scrim wouldn't appear because when
the sysuiStateFlags changed, taskbar visibility would still be 'gone'
at that point so the taskbar scrim wouldn't animate back when
the shade is swiped up).
To resolve this, I've added a callback to notify the scrim
controller of visibility changes and it'll update if needed.
Bug: 270634233
Test: manual - enable 3 button nav
- have a bubble
- go to overview
- expand bubbles
=> observe that scrim appears over taskbar
- swipe down shade
=> observe that scrim fades out
- swipe shade up
=> observe that scrim fades in
Change-Id: Ibaae8efb90b4558d30795298570208a52b31efb4
When the bubble bar becomes visible the space between icons in the
hotseat is now adjusted. This change only does it when the QSB is
above the icons, but this will be changed in the future to be based
on the amount of space between the hotseat and the edge of the screen.
When the hotseat is adjusted, the new width is smaller by the size of
2 icons. The icons are then translated to be evenly spaced within the
boundaries of the new width.
Since the adjustment is only applied when the QSB is above the icons,
it is resized accordingly to the new width.
All visual updates currently snap to the new position, but will be animated
in a follow up.
Demo: https://recall.googleplex.com/projects/3391fc5c-599d-4827-b6f8-d2deb160aa99/sessions/fad1a5c5-e9cf-4586-92e4-1e92df3b002e
Bug: 280494203
Test: Manual (on tangor)
- Set device to landscape
- Make the bubble bar visible by adding a bubble
- Rotate to portrait mode
- Observe that the hotseat is adjusted
- Rotate to landscape
- Observe that the hotseat adjustment is removed
- Rotate back to portrait
- Observe that the hotseat is adjusted again
- Dismiss the bubble to hide he bubble bar
- Observe the hotseat adjustment is removed
Change-Id: I5b02a60b6cb301ffa2507a6d825c748a782cca18
* Ignore orientation check from ag/22709055 for now,
that will be reverted. This causes recreateTaskbar() to
not run when folding the device
Bug: 274517647
Test: Tested 3 button nav in portrait/landscape/seascape
Flag: persist.wm.debug.hide_navbar_window
Change-Id: Ied02ead677d496b465c748257e32b7db5eb9580c