Commit Graph

20 Commits

Author SHA1 Message Date
Sunny Goyal 98b5e1f077 Adding support for skipping animation cancel on reapply
Bug: 314279319
Test: Verified on device
Flag: None
Change-Id: I0a6e9eef77a1d917c0fce7d4bddd079ceeb10c99
2024-01-09 10:35:43 -08:00
Andy Wickham 64896f3098 Put the "floating" in ENABLE_FLOATING_SEARCH_BAR.
This means adding the search view to the drag layer, so it can
persist and animate across Launcher states (i.e. Home, All Apps,
Overview, Overview from App).

Some high level things:
 - LauncherState now has a flag indicating if the floating
   search bar should be visible, as well as a method indicating
   how high it should rest when the keyboard is not showing. By
   default the height is set negative if the flag is not present,
   so the search bar will rest off screen in that state.
 - LauncherState also has a new method indicating if the search
   bar should show as a pill when not focused. Currently this is
   done in phone portrait mode in all apps and overview.
 - SearchUiManager now has a method for gestures to hint that
   the search bar will be focused or unfocused soon, e.g. for
   the app -> overview case, we hint that it will be focused
   when crossing the threshold, and unfocused if retracting.
   This allows the search bar to animate during the gesture
   and take or release focus after the state change completes.
 - AllAppsTransitionController lets the apps panel translate in
   from the bottom of the screen, for example when coming from
   an app and we don't want to pop it in halfway up the screen.
   Instead it can slide in gracefully from behind the keyboard
   and floating search bar.
 - KeyboardInsetAnimationCallback can now notify listeners of
   keyboard alpha changes during controlled animations. And
   StateAnimationConfig has a new animation type to control
   the keyboard alpha during the all apps transition.
 - This new ANIM_ALL_APPS_KEYBOARD_FADE is used to pop the
   keyboard in at the threshold for going from an app to all apps.
   Note that its position moves linearly before this, so the
   search bar starts moving up accordingly before the keyboard
   alpha is non-0.

Fix: 266761289
Fix: 268845147
Fix: 267683921
Fix: 265849321
Fix: 266446733
Fix: 269301440
Bug: 275635606
Bug: 259619990
Bug: 261866704
Test: Manual with all the state transitions on phone and tablet
(also folding/unfolding foldable).
Flag: ENABLE_FLOATING_SEARCH_BAR, ENABLE_ALL_APPS_FROM_OVERVIEW
(latter just for the background app interpolator changes).

Change-Id: I6f06552e95747348a62260279626cf407bf145b0
2023-06-12 21:55:24 +00:00
Andy Wickham 830e4b7ce0 Add long swipe from app to overview gesture (with flag).
High level:
 - As you swipe up from an app (OtherActivityInputConsumer),
   a state transition animation to All Apps is created in
   AnimatorControllerWithResistance. The animation is played
   alongside the Recents resistance animation (i.e. past the
   settling point of Overview, which is at mCurrentShift 1).
 - The actual state transition to All Apps only happens if you
   release your finger in the "all apps region." This is set to
   mCurrentShift 2, so double the distance that Overview rests.
 - A haptic plays whenever you enter or exit this region, and
   the all apps animation is set to 0 until the region is
   active. This is so it's clear that something different is
   happening.
 - The panel that was previously used for tablets is now used
   for phones during this transition. It comes in at full
   opacity when you enter the region, and the contents (apps
   and search suggestions) fade in as you continue swiping.
 - The only gesture that is recognized in the all apps region
   is a fling downwards, which will return you to the previous
   app. Otherwise a left/right/up fling or slow release will
   finish the all apps transition.
 - The threshold is ignored if the flag is disabled (default)
   or if FallbackActivityInterface is active.

Flag:
The threshold is ignored if ENABLE_ALL_APPS_FROM_OVERVIEW is
disabled (default).

Bug: 259619990
Bug: 275132633
Test: Manual with and without the flag enabled
Change-Id: Ie311b77252416d97677b2c56fad61dfd392b6fe8
2023-04-26 10:52:04 -07:00
Jeremy Sim e5ba8fa7a5 Update animations for TM-QPR: OverviewSplitSelect > Home transition
The animation from OverviewSplitSelect to Home is now updated to the latest spec. See bug for details.
- New timings
- FloatingTaskView now translates out, instead of fading
- FloatingTaskView and SplitInstructionsView now disappear concurrently with the rest of Overview, instead of afterward

Fixes: 236761067
Test: Manual on tablet and phone
Change-Id: Iaa1c804a60859232f331950098b67968cc187e82
2022-07-21 20:46:43 -07:00
Luca Zuccarini ef006c7603 Update the NORMAL->ALL_APPS transition when tapping on QSB on phones.
- New interpolators
- New duration
- Removed workspace translation
- Removed overlapping fades -- are now sequential

See video in the bug.

Bug: 227745955
Test: manual
Change-Id: I19fa19a3806e963a04c5e694a52d3c1b921cf51f
2022-05-06 16:07:17 +00:00
Pat Manning b04dd608bf Add workspace page translations for edit state.
Bug: 202971709
Test: manual
Change-Id: Ic807d380053b8cc5aaf521513c308854e1b14a43
2022-03-22 17:58:19 +00:00
Samuel Fufa 3ab273da0c [Search][Motion] Modify interpolator for AllApps background scrim
Also rename ANIM_WORKSPACE_SCRIM_FADE to ANIM_SCRIM_FADE since
the scrim is shared between states now.

Bug: 183001675
Test: Manual in 3 button and 0 button modes
Change-Id: Ice83b54480bdf74155e8593c421b68d7186cf78a
2021-05-03 21:13:20 -07:00
Tony Wickham 154b1c928b Cleanup/consolidate normal<->all apps interpolators
We no longer need to have a different behavior for no button mode,
so make PortraitStatesTouchController the source of truth

Also remove unused ANIM_ALL_APPS_HEADER_FADE & RECENTS_FADE_THRESHOLD

Test: manually in 0 button and 3 button modes
Bug: 183001675
Bug: 175137718
Change-Id: If0bc2a6d6d3bf1649fad45226a4e6055f30e4880
2021-05-03 21:07:24 -07:00
Tony Wickham 01320be908 Fix regression where StaggeredWorkspaceAnim didn't respect animateScrim
Before, this happened to work because we skipped setting the scrim when
doing an atomic animation, but the atomic animation code has been
removed. Add an explicit SKIP_SCRIM config flag instead.

Test: swipe up from overview to home, ensure scrim animates nicely

Bug: 185411781
Change-Id: I7bc14a11d9d416cc7336ea29d21107dcdbdbf782
2021-04-14 14:54:44 -07:00
Sunny Goyal c82916fecb Some cleanup in RecentsView
> Merging overview and all-apps scrims into a single View
> Decoupling TaskMenuView from taskView

Bug: 184676497
Test: Manual

Change-Id: I49f7249eaa2a800054385ab8e73a441d6a1b5e16
2021-04-06 15:47:33 -07:00
Tony Wickham 52bbcc3976 Invert StateAnimationConfig.PLAY_ANIMATION as SKIP_ALL_ANIMATIONS
This allows the default flag to be 0 instead of PLAY_ANIMATION, and is
aligned with the existing SKIP_OVERVIEW and SKIP_DEPTH_CONTROLLER
flags.

Test: Navigate to various states, works as before
Bug: 175137718
Change-Id: I2af1792e7fbd5bca82afb225290fd6b545368dcf
2021-03-29 11:59:14 -07:00
Tony Wickham 6cd95cd2d8 Remove Overview atomic animation support
- Remove PLAY_ATOMIC_OVERVIEW_SCALE and PLAY_ATOMIC_OVERVIEW_PEEK
- Remove complicated parallel atomic animation support from
  AbstractStateChangeTouchController and subclasses
- Remove some code related to going between Overview <-> AllApps

Test: Swipe between states in all 3 navigation modes
Bug: 175137718
Change-Id: Ice314d46946c3a983cdc6ccf1a67effb5da9156e
2021-03-29 11:59:06 -07:00
Tony Wickham e63bd38a55 Remove dead taskbar code
Test: Works as before
Bug: 182512211
Change-Id: Id4c979f2924f9ae6881a9bed18bcc52fbd80c05b
2021-03-23 11:42:50 -07:00
Tony Wickham a29a046d83 Align real hotseat with taskbar hotseat during drag and drop
Remove hotseat space from workspace in DeviceProfile if
taskbar is present, and instantly swap between taskbar and
hotseat when entering SpringLoadedMode. To allow for an exact
handoff, we also scale up the TaskbarView such that its icons
match the hotseat icon size when on the home screen.

Note that this CL only supports dragging to the taskbar, not
out of it (which still triggers system drag and drop instead).

Test: In RTL and LTR, drag a workspace item and ensure hotseat
seamlessly swaps with the taskbar hotseat and allows drops.

Bug: 179886115
Bug: 171917176

Change-Id: Id6462075b9b0b66b06d51a78c9c0b3e11e83e84d
2021-03-03 11:16:42 -08:00
Tony Wickham d683d98b34 Animate taskbar background alpha and visibility alpha
Setup codepath to animate the Taskbar when going to and from Launcher,
primarily by listening for pause/resume signals but also hints from
gesture nav and AppToOverviewAnimationProvider.

Additionally, add TaskbarStateHandler to listen for Launcher state
changes if Taskbar is enabled. Combined, the end behavior is:

- Background alpha is 0 when Launcher is resumed, and 1 when Launcher
  is paused (we can make this animation more interesting later).
- Taskbar is always visible when Launcher is paused, otherwise its
  visibility is determined by multiple factors: LauncherState and
  whether the IME is showing.

Bug: 171917176
Change-Id: I7856fc979931c9d12d714dee11d179fd1b5a6968
2021-01-29 21:22:00 +00:00
Tony Wickham 03a4a0cd53 Update overview from home transitions
For both NoButtonNavbarToOverviewTouchController and
NavBarToHomeTouchController:
- Have consistent resistance applied such that RecentsView scales
  down and translates up slightly (but not as much as from an app)
- Have consistent animation to home if you fling to that state
  rather than stay in overview. This is handled by a new class,
  OverviewToHomeAnim, which consolidates logic from NBTHTC and
  overrides some interpolators such that RecentsView doesn't fade
  out or translate downwards during the animation (it just slides
  off the screen while the home animation plays).

Also make overview actions not clickable when alpha == 0, so that
you can tap the hotseat/qsb during the transition from home to
overview.

Bug: 144170434
Change-Id: Ic291f285ff2f63c477633c48d4fadb23cf70c28a
2020-08-10 13:15:23 -07:00
Tony Wickham 10c2b4f9d9 Update home to overview depth interpolator to match other motion
Overview comes in and workspace goes out at overshoot(1.2), so
the wallpaper depth/blur should match that speed.

Test: go to overview from home in 3 button or 0 button mode,
ensure wallpaper scales down at the same rate as other elements

Bug: 154637581
Change-Id: I03254fa3fdf19f468852bed8aab7ba21203c429a
2020-06-01 14:36:46 -05:00
Zak Cohen a39544d562 OverviewActions - Use launcher state to track modal state.
Test:local

Change-Id: I44e25b95095b9a7aac4b4172c9c91fbfbf4d9ec7
2020-04-27 16:29:44 -07:00
Jon Miranda dc186e68a1 Add AnimationFlag for SKIP_DEPTH_CONTROLLER.
We use this flag to prevent the depth from being immediately set to 0 when
preparing to animate home.

Bug: 152327671
Change-Id: I614c6ae08b9f9e56ecb94fb51748791a38504583
2020-04-15 15:19:49 -07:00
Sunny Goyal f3ac703256 Moving animation config so a separate class
Using PendingAnimation for animation builder.
This will allow us to easily add SpringAnimation to stateAnimation

Change-Id: I8d88489a5da6fc85747ef9be7c13858b441cd28a
2020-03-16 19:36:36 -07:00