Commit Graph

229 Commits

Author SHA1 Message Date
Tracy Zhou 109b442a83 Merge "Do not animate icon alignment in phone mode" into main 2023-11-02 16:23:39 +00:00
Jagrut Desai b7f4236776 Fix Taskabr Divider Line traveling too far
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
2023-10-30 15:46:45 -07:00
Jagrut Desai 631b284836 Taskbar pinning animation with no recreate
Test: Manual, Visual
Bug: 265436799
Flag: LEGACY ENABLE_TASKBAR_PINNING DISABLED

Change-Id: I84a4d1efdb0bd4a0f856fa1f46b6489ef54a3841
2023-10-26 10:36:48 -07:00
Tracy Zhou d313ee0c35 Do not animate icon alignment in phone mode
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
2023-10-24 21:50:22 -07:00
Jon Miranda 330b7754c6 Fix bug where All Apps button loads in late in taskbar.
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
2023-10-12 17:14:49 +00:00
Tracy Zhou 0812a9495c Fix task bar crashing in small screen with task bar / nav bar unification on
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
2023-10-05 16:40:48 -07:00
Mady Mellor b898a3c8d3 Fix bubbles taskbar scrim showing when notification panel is shown
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
2023-09-18 11:49:52 -07:00
Liran Binyamin a833af316b Adjust the hotseat when the bubble bar becomes visible
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
2023-09-13 17:08:42 -04:00
Pat Manning da69661add Show tooltips on cursor hover of taskbar icons.
Fix: 250092437
Test: TaskbarHoverToolTipControllerTest
Flag: ENABLE_CURSOR_HOVER_STATES
Change-Id: Ia0463518d13b313b354328078685930215fb7636
2023-07-14 13:42:30 +01:00
Vinit Nayak 15a9feb67f Add support for taskbar phone 3 button seascape
* 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
2023-07-06 13:58:30 -07:00
Brian Isganitis d478b1464e Support zero-state suggestions in Taskbar All Apps.
Test: manual
Bug: 216683257
Flag: ENABLE_ALL_APPS_SEARCH_IN_TASKBAR
Change-Id: I016d4e4e6a096ca4f5bd65fcda1bf24a444459f4
2023-06-12 17:19:16 +00:00
Kateryna Ivanova 7120373bbc Migrate Interpolators from Launcher3 to the public animation library
Test: atest
Bug: 271850966
Change-Id: Iba999f2e753764a37d35e508e707df02388432e9
2023-05-30 07:20:38 +00:00
Jon Miranda 0aef6981ac Fix SUW unstash animation.
- 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
2023-05-19 17:24:50 -07:00
Brian Isganitis 0b53332c31 Merge changes I35fe528b,Ia612c1b5 into udc-dev
* changes:
  Don't close AFVs when opening Taskbar folder.
  Keep persistent Taskbar visible over Taskbar All Apps.
2023-05-06 14:42:54 +00:00
Brian Isganitis 9c311b2917 Keep persistent Taskbar visible over Taskbar All Apps.
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.
2023-05-04 23:54:27 -04:00
Jagrut Desai 1c9c6d0ea9 Design review updates for Taskbar Pinning
Changes:

- icon allignment animation for taskbar diviver view
- taskbar divider background color according to spec.

Test: Manual
Bug: 265170176
Flag: ENABLE_TASKBAR_PINNING
Change-Id: Ief45e48f4fc9f9b4cc30124c4c93cd3c5a880a33
2023-05-01 14:57:54 -07:00
Jagrut Desai c6d625b8db Exposing functionality to pin Taskbar from TaskbarDividerPopupView.
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
2023-04-20 22:04:21 -07:00
Jon Miranda b0195376d4 Fix badged icons / icons with notification dot being cropped.
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
2023-04-03 10:06:16 -07:00
Jon Miranda 9c478b6c29 Add taskbarIconSize to GridOption/DisplayOptions
- 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
2023-03-24 12:29:11 -07:00
Tony Wickham 2b8b47952f Merge "Handle swipe down on taskbar to stash" into tm-qpr-dev 2023-03-23 18:54:09 +00:00
Tony Wickham c73db73a79 Handle swipe down on taskbar to stash
- 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
2023-03-23 15:13:52 +00:00
Jon Miranda 0a6356a5ea Merge "Update start radius for reveal animation to match spec." into tm-qpr-dev 2023-03-22 16:51:27 +00:00
Jon Miranda cb3fc6b07c Update start radius for reveal animation to match spec.
Bug: 273961611
Change-Id: I3330b8b2ec47d7e9608b900a859d2a865f92a994
Flag: ENABLE_TRANSIENT_TASKBAR
Test: stash/unstash
2023-03-21 14:52:58 -07:00
Jon Miranda 3344ec7004 Add spring animation when stashing transient taskbar.
Bug: 273961611
Change-Id: I35a658a5e30a155094a48effdefc3895f45e0483
Flag: ENABLE_TRANSIENT_TASKBAR
Test: stash transient taskbar
2023-03-21 10:25:48 -07:00
Jon Miranda f0e14ac7da Taskbar motion polish to keep icons within taskbar bg bounds.
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
2023-03-20 07:12:53 -07:00
Tony Wickham 08ea122c79 Fix launcher <-> taskbar dark themed icons background color
- 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
2023-03-16 16:04:50 +00:00
Jon Miranda 4c368373cb Merge "Polish taskbar un/stash animation." into tm-qpr-dev 2023-03-09 03:33:39 +00:00
Jon Miranda 67d4b0ed6b Polish taskbar un/stash animation.
- 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
2023-03-08 23:47:29 +00:00
Jagrut Desai 1dc99f3848 Announce for accessiblity when taskbar is invoked/closed
Test: Manual
Bug: 265620540
Change-Id: I6660be7716ec59c765f3d54f8fe9889eaaf56e10
2023-03-08 09:54:10 -08:00
Pat Manning d3cffe8156 Align taskbar children to Y value instead of X.
Fix: 271858023
Test: manual on tablet.
Change-Id: I60882a062d5f2bb8f24525e2cec9c4a091b31545
2023-03-06 17:57:58 +00:00
Sunny Goyal 82dfc15037 Simplifying code around multiple translation components
Bug: 270759683
Test: Verified on device
Change-Id: I6c758c715828ae25e0e3c60b793cf85d70cb2487
2023-03-02 12:22:03 -08:00
Jon Miranda f01ca85c20 Prevent QSB from being a part of the icon reveal animation.
Fixes: 270694593
Test: taskbar on foldable and tablet
Change-Id: I1782f715454da1240174be1b4f496c910be3764a
2023-03-01 17:17:36 -08:00
TreeHugger Robot 73a2334f7f Merge "Remove setImeIsVisible/setTouchesEnabled as its already handled by insets." into tm-qpr-dev 2023-02-21 21:15:22 +00:00
Jon Miranda ddb909603a Remove setImeIsVisible/setTouchesEnabled as its already handled by insets.
Bug: 260101467
Test: manual
Change-Id: Iba22a6db61abd4be0b2a15b2e4099d9bc03ddbc9
2023-02-18 00:27:03 +00:00
Jon Miranda 13e9b9f889 Translate the taskbar icons to match nav handle shape.
- 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
2023-02-17 10:56:59 -08:00
Jagrut Desai 202c68c8a2 Merge "Removing ENABLE_ALL_APPS_IN_TASKBAR and FLAG_STASHED_IN_APP_EMPTY Test: Visual(pics in buganizer) Bug: 265462138 Bug: 267382941" into tm-qpr-dev 2023-02-16 17:39:35 +00:00
Jagrut Desai ec0b4e1693 Removing ENABLE_ALL_APPS_IN_TASKBAR and FLAG_STASHED_IN_APP_EMPTY
Test: Visual(pics in buganizer)
Bug: 265462138
Bug: 267382941

Change-Id: I223cd5ea7e5b553619dfc81c36f1be93e399639d
2023-02-13 13:34:23 -08:00
Jon Miranda 11b47c542e Crop taskbar icons during stash/unstash animation.
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
2023-02-03 15:14:42 -08:00
Tony Wickham 602f3074f9 Remove ALPHA_INDEX_IME_BUTTON_NAV
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
2023-01-27 17:24:46 +00:00
Alex Chau adbbc2f7fa TaskbarViewController should only translate on rotation if icon is aligned with hotseat
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
2022-12-15 22:04:16 +00:00
Jon Miranda e7417ce2ae Taskbar All Apps button visual updates
- 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
2022-12-13 15:16:01 -08:00
Federico Baron 47d81686e6 Move AnimatedFloat from quickstep to launcher
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
2022-12-08 13:58:07 -08:00
Alex Chau cd76ac24b6 Fade in/out taskbar when launching apps from or back to AllApps/-1
- 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
2022-12-01 18:56:30 +00:00
Jon Miranda 106cc895e9 Allow touches on transient taskbar if ime is present.
Bug: 260101467
Test: open chrome, enter url to pull up ime, swipe up to show taskbar,
      tap on taskbar icon

Change-Id: Ic8be6c2bb82fc9b8ab83572cb8622ac157078ea9
2022-11-29 11:30:39 -08:00
Schneider Victor-tulias 912a53e677 Fix null-pointer exception in all set activity first reveal animation
Fixes: 259296310
Test: started all set activity and started the first reveal animation
Change-Id: I371f62be81e7f28ce5ecee150abb5d294bb2264d
2022-11-15 12:12:17 -08:00
Jon Miranda 29f7474056 Have responsive taskbar UI during swipe up gesture.
- 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
2022-11-08 14:50:02 +00:00
Sunny Goyal 774dcd06ae Relying on the controller state instead of animator state for
icon alignment

Bug: 246644619
Test: Presubmit
Change-Id: Iaa4ddd94a6d85acb9f8501263665ea78394815de
2022-11-03 13:42:09 -07:00
Jon Miranda 8ed5ac05fd Merge "Revert "Revert "Add a way to stash/unstash transient taskbar.""" into tm-qpr-dev 2022-11-03 05:58:38 +00:00
Jon Miranda 575d699edc Revert "Revert "Add a way to stash/unstash transient taskbar.""
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
2022-11-02 11:07:27 -07:00
Sam Dubey de5d5720a1 Merge "Revert "Add a way to stash/unstash transient taskbar."" into tm-qpr-dev 2022-11-02 10:03:06 +00:00