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
- Defer any UI updates to taskbar after the SUW unstash animation is created.
- Predicted app icons take longer to load, so it's possible that they are
added after the animation is created.
- This avoids the case where icons are seemingly in the taskbar but
do not get animated like the rest of the icons.
- We also need to call onAnimationStart for the reveal animation immediately,
otherwise the clipToOutline params never get set.
Bug: 277712185
Test: flash device, very quickly go through SUW
Change-Id: I4c3089da0d20bf91672e2305655c4c37b1f367aa
Additionally, this CL fixes some touchable insets issues with the
overlay window. Dragging and dropping is now reliable from taskbar while
All Apps or EDU is also open.
Change-Id: Ia612c1b5266a8fb2b7005a773fbd2b00ec4824db
Bug: 279465803
Bug: 275890048
Bug: 264463659
Flag: PERSISTENT_TASKBAR_OVER_TASKBAR_ALL_APPS (Teamfood)
Test: Taskbar is functional over All Apps and EDU.
This CL allows user to long press on Taskbar divider view to bring up divider popup view. It also included functionality of allowing user to turn on always show taskbar from the divider popup view.
Test: Manual
Bug: 265436055
Bug: 265434718
Bug: 265434902
Bug: 265434705
Flag: ENABLE_TASKBAR_PINNING
Change-Id: Ied54d718483a9b06b053d68988e5c294a786002a
For icons, we use radius = 0 during the reveal animation so
that the entire view will be visible.
Fixes: 276625136
Test: - have work profile icon or badged shortcut in taskbar/hotseat
- swipe up to close
- also check swipe back to close
- ensure entire icon is visible at the end of the animation so
that there is a clean handoff
- run same test with icons that have notification dot
Flag: ENABLE_TRANSIENT_TASKBAR true
Change-Id: I3fef1eede5cac189dab1bf1be4ebd048720727c7
- Renamed variables to make it more clear what they represent
- DeviceProfile will be source of truth for taskbar
sizes
Bug: 265144213
Test: phone, multi-display, tablet
Change-Id: Id9c19d15a65894fd7645e0f876a4b6527b713c34
Flag: ENABLE_TRANSIENT_TASKBAR=true
- Moved all touch-to-stash logic to new TaskbarStashViaTouchController
(handles both tap outside to stash instantly as well as swipe down
inside to stash after letting go)
- This is a TouchController on TaskbarDragLayer, so it intercepts
touches from TaskbarView before icons can be dragged during swipe down
Test: swipe up to invoke transient taskbar in an app, swipe down or
touch outside to stash
Flag: ENABLE_TRANSIENT_TASKBAR=true
Fixes: 246631710
Change-Id: I5cf64848bba34ad32fcc80a93fb4f79ebd2c10a7
Instead of making the icons themselves move faster, we change
the startDelay/duration of the taskbar bg alpha animation
so that the taskbar is only visible when the icons are within
the taskbar bounds.
This is still an approximation. For U+, we should support taskbar
width change to fit the icons when they are in the 'hotseat'
alignment.
Bug: 273961611
Test: home <-> overview
home <-> app
stash <-> unstash
foldable/tablet
RTL
Change-Id: I39bedafac4afd641d250f7c97abf1e2de070d646
- Moved colors to final in TaskbarViewController (since controllers are
recreated on theme change)
- Clarified some variable names
- Animate from progress 1 to 0 instead of vice versa, since 0
corresponds to launcher's theme icon color which is what the alignment
animation is going towards
Test: in gesture nav with dark themed icons in hotseat, go to overview
and ensure smooth transition to ligher themed background; return home
and ensure reverse transition
Flag: none
Fixes: 271651337
Change-Id: I4451f995a3e79e512c59a834051f601ead70ff87
- When QSB is inline, we add it to the reveal animation
so that it moves in coordination with the rest of the
taskbar icons
- Hide All Apps button when transitioning from Home -> App
to match spec
- Shorten duration icons move in x duration so that they
stay within the taskbar background bounds.
Bug: 267806083
Bug: 246635237
Bug: 246660243
Test: transient taskbar
with isQsbInline = true and false
Change-Id: Ie6b866311cc2ceba88cdf01652b30fee457d0359
Merged-In: Ie6b866311cc2ceba88cdf01652b30fee457d0359