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
- We need to reset icon alignment whenever icon layout bound
changes. This fixes the issue where we build an icon
alignment animator before any of the views are laid out.
- Separated animation logic between.
createTransientAnimToIsStashed and createAnimToIsStashed
* The values still require a bit more tuning but this gets us
a lot closer to spec for many of the motion polish.
Bug: 267806083
Bug: 246634367
Bug: 246635237
Test: manual
Change-Id: Id122134b22ef4e418ce632e4a8137239dc8bb313
When we stash, we crop the taskbar icons to the height of the
stashed handle.
In a follow up CL we will translate the icons so that at the
end of the stash animation, the icons will overlap with the
stashed handle for a more seamless handoff.
This will be good to get in first so that we can see if there is
any performance regression by running multiple outline
animations at the same time.
Test: stash/unstash observe cropping
Bug: 267806083
Change-Id: I19b05647a669c11376ac1d3267fd600131246be8
Taskbar already stashes when IME is showing, which hides the taskbar
icons in 3 button mode. Hence this extra flag seems redundant and breaks
Transient Taskbar, which allows unstashing taskbar over IME
Test: Install 3P keyboard, swiping taskbar up over IME still shows icons
Test: Connect physical keyboard, icons still hide in 3 button nav when
the IME switcher is showing
Fixes: 264723145
Change-Id: Iafb89e765668d70a1bfad2e136957a2ef8924514
Fix: 254191175
Test: With 3 button, rotate at home and overview, nav button are at expected position. Repeat with TASKBAR_IN_OVERVIEW flag off.
Change-Id: I1e629e6be92c4793d3dfdb0dac60c3bfce886e7a
- Moved to new position
- Using 3x3 icon
- New Colors
Checked with visd that this half is good to go,
will follow up with positioning of the 3x3 icon within
its container.
Bug: 259712417
Test: manual, LTR/RTL modes, transient/persisent models
Change-Id: I298b6dbca004cdb8920e6533fffc8ca83e0197f9
We are moving AnimatedFloat to launcher to be able to use this in class in launcher. Having it in launcher will allow us to do restore icon treatment animations to do with scaling the icon size
Bug: 254858049
Test: verified that the device still works
Change-Id: I1c4c47ab436c389a94abf7c910c1a44724efc955
- Added isHotseatIconTopWhenAligned to control both iconAlignment and stash animation to just fade in if hotseat icon isn't on top of the screen in the aligned state
Fix: 257355864
Fix: 213455090
Test: Launch apps from/back to home, taskbar animate from/to hotseat
Test: Launch apps from/back to AllApps/-1, taskbar fade in/out
Test: Repeat aboth with transient or persistent taskbar
Change-Id: I6bdae615ff9e199d23cbfe2d26c8d46a08fbc436
Bug: 260101467
Test: open chrome, enter url to pull up ime, swipe up to show taskbar,
tap on taskbar icon
Change-Id: Ic8be6c2bb82fc9b8ab83572cb8622ac157078ea9
- Makes taskbar threshold an absolute Y threshold
instead of a distance threshold.
- Moves handle, taskbar view, and taskbar background
during the swipe up gesture
Next CL will address transforming the nav handle <-> taskbar
and ensuring that there's a clean handoff
Bug: 246631059
Test: swipe up on taskbar, release. see bounce
swipe up on taskbar to go home, proper icon alignment
swipe up on taskbar, pause for overview, see bounce
-> further movement should not move taskbar
test launcher3
Change-Id: I141236fd72428cda7edd0ff116de1d478d18c722
This reverts commit afc3bff10b.
Reason for revert: fixing launcher tests broken by original change
We'll only add flags for transient taskbar case
Bug: 256988243
Bug: 256987492
Change-Id: I8915ef5345816316bfb71efc9fc667e4e8db824c