Commit Graph

35 Commits

Author SHA1 Message Date
Pat Manning
cc64218e68 Animate task translation on dismissal.
Test: manual
Bug: 186416527
Fix: 186416527
Change-Id: I3919b96b96fdd490e15968b7c2e680dad7f6e5d6
2021-05-17 16:21:38 +00:00
Jon Miranda
94e43bd7d8 New motion for ArrowPopup open/close.
Bug: 175329686
Test: long press on apps where container opens above & below
      and where container is aligned left & right

Change-Id: I09bbf57b6e19cc6f022b9a96fb48d8c4ae080813
2021-05-07 19:33:22 -07:00
Jon Miranda
c9ad2dd6c7 Add new app close implementation.
- We remove the fling completely
- We set damping to 1 for x/y springs so there is no
  bounciness, and updated the stiffness and bounds to tighten
  up the path to the final location.
- During the animation, we translate all launcher content
  down
- When the x/y springs, and rect animator all finish,
  we use a spring to bounce the launcher content back up

- Added AppCloseConfig so that the entire animation can
  be defined in one location, with getter methods so that
  all the involved parties of the animation can access the
  current value.
- The animations are all defined linearly, and then
  interpolated over using a 3 point curve.

Building behind feature flag as we tune the values.

Bug: 173107751
Test: manual, visual
Change-Id: I83ad0fa2c4234cf30004240d43e191354595adc8
2021-04-22 16:11:11 -04:00
Andy Wickham
18694a2545 Updates quickswitch animation from Launcher.
- Workspace/All Apps/Hotseat no longer translate down
 - Fading of these elements and scaling of Workspace are tied to the
   wallpaper depth animation
 - At any point in the drag, you can still swipe up to enter Overview

This makes it feel like the apps are tied to the wallpaper and avoids
moving them orthogonally to the finger.

It also makes the "No recent items" animation more elegant.

Demo: https://drive.google.com/file/d/1phuRCqb69vuMp3ijS6PR5lTEcBHScjie/view?usp=sharing&resourcekey=0-2HXtMLUhQ-YU53hYlYV-fQ
Demo with no recent apps: https://drive.google.com/file/d/1wjexqznxs9ZhiUtCDW4-ZK6c7hKDRaXn/view?usp=sharing&resourcekey=0-GugbpJK8_cnFbUBB2Ar30w

Fixes: 174228745
Test: Manual
Change-Id: I1574ff89a0f382b7e63bf03cf4300ec7c695cfec
2021-04-13 15:35:46 -07:00
Alex Chau
dedbc8ac36 Remove grid scaling in Overveiw
- Grid scaling has problem that scales task icon and menu, which makes it hard to control icon size and text size in the manula
- Replaced the whole concept with dedicated Task size calculation in grid layout
- Support different icon size in TaskView in grid and removed task_thumbnail_top_margin
- Removed grid progress in TaskViewSimulator as well
- Refactored how ClearAllButton scroll and translations are calcualted to align clear all properly in grid
- Make page center calculation aware of PagedView pivot and scaling

Bug: 174464863
Test: Manual on two screens
Change-Id: I47b13ef6e55c6e16c52ea04225f5bde02ed82fc2
2021-03-24 18:46:32 +00:00
Sunny Goyal
a0bc6d964e Removing some animation special casing for 2-button mode
This would simplify reusing the same code for 3-button mode

Test: Verified on device
Bug: 175137718
Change-Id: Ia757eec069efc251475baa6af38c690431325f66
2021-03-04 22:25:30 -08:00
Sunny Goyal
fd58da6a75 Wrapping display properties in a wrapper class
This would allow us to support gestures on multiple-displays

Change-Id: I8f426bbdf04520f4189cadce2bde6aab4933c8d9
2020-08-12 13:43:56 -07:00
Tony Wickham
03c38c5c66 Rewrite long swipe resistance ("pullback") logic
- Rename "pullback" to "resistance" to reduce confusion.
- Remove mDragLengthFactorStartPullback & mDragLengthFactorMaxPullback
- Add AnimatorControllerWithResistance, which has 2 controllers, one
  for the normal shift to overview, then one to apply the resistance
  when swiping beyond that.
- Don't hack animator interpolators/progress; insteaad, allow progress
  to go > 1 (which will run the separate resistance animator).
- Don't start launcher controller separately from window controller;
  instead, both are controlled by mCurrentShift in updateFinalShift().
- The resistance animation logic is shared by both the active window
  and launcher (RecentsView).

Bug: 149934536
Change-Id: Ib0f9da18e10cc9ddf1a2f82ed767f237c89d3a41
2020-08-03 13:59:38 -07:00
Tony Wickham
244e173a68 Fix all apps alpha applying twice
Test: quick switch from home, ensure QSB fades out at the same
rate as the workspace/hotsea

Change-Id: I59ecd0c65a6abf3e24ea1c2bfba3c84f6a88e653
2020-05-29 11:10:10 -05:00
Tony Wickham
37a0970bf5 Improve quick switch from home by tracking both x and y motion
- Add NoButtonQuickSwitchTouchController which uses
  BothAxesSwipeDetector to track horizontal and vertical motion.
- Initially, we only detect swipe left to right to quick switch
  (like before), but then we allow swipe up to either go to
  overview (if you hold) or back home (if you don't hold).
- xDisplacement transitions non-overview components out (e.g. shelf
  and workspace), and translates overview in.
- yDisplacement translates overview up and scales it down

Bug: 126596417
Change-Id: Id679ad84c08246e205c667a78ed5df00d7276258
2019-11-14 15:50:18 -08:00
Sunny Goyal
4e6c45bcd3 Using the first frame delay based on the display refresh rate instead of
hardcoding it to 16ms

> Creating a utility class for caching display property changes

Bug: 128940249
Change-Id: I6f9a214548de65bd1c8530508d665ee88312da4a
2019-07-24 10:12:37 -07:00
Tony
5818f9b3c5 Fix overshoot velocity in 2-button landscape mode
Now we use the velocity towards the middle of the screen
(e.g. x when in landscape) instead of always using y.

Test: testBackground with @PortraitLandscape

Bug: 135567630
Change-Id: I77ab6bdf0d556475a6c182ae91914a718a81e1c4
2019-07-12 18:02:09 -07:00
Tony Wickham
96d065d87d Make sure overview visibilty is GONE when it stops peeking
Bug: 129711952
Change-Id: Ib33c3d360e8810e5cbf59049dd90ba28957dbe8f
2019-04-02 16:00:13 -07:00
Tony
1787ee9596 Peek overview on motion pause, then animate fully on touch up
Add AnimationComponents.ATOMIC_OVERVIEW_PEEK_COMPONENT, and rename
previous ATOMIC_COMPONENT to ATOMIC_OVERVIEW_SCALE_COMPONENT.

When SWIPE_HOME is enabled:
- Overview lives to the left of Workspace, which is encoded in
  LauncherState.NORMAL.getOverviewScaleAndTranslation().
- Create atomic animation based on ATOMIC_OVERVIEW_PEEK_COMPONENT
  and OVERVIEW_PEEK state when swiping and holding from home screen.

Bug: 111926330
Change-Id: Iab6dbef7238dae15b3036d4b2a026b781eee6b4b
2019-03-27 19:45:04 -05:00
Adam Cohen
d63e6dff28 Last minute swipe up overshoot tweaks
b/109709720

Change-Id: Ie3831289a9af2ba4b03fcbb4f2cbb3f4c2431aec
2018-06-27 15:57:12 -07:00
Tony Wickham
969abca838 Merge "Swipe up overshoot always plays" into ub-launcher3-edmonton-polish 2018-06-27 21:00:54 +00:00
Tony
cc3755da6e Swipe up overshoot always plays
Instead of using an OvershootInterpolator, we adjust the end progress to > 1 and
add a second interpolator to settle back to 1. That way, even if the animation runs
starting very late, e.g. 1.0, it still has room to overshoot. We use this same
OvershootParams class to calculate an overshoot for a blocked long fling as well.

Bug: 109709720
Change-Id: I43152237e4350f93e7c462c22e68d09d05c1dd57
2018-06-27 12:25:35 -07:00
Jonathan Miranda
f274996ef3 Revert "Add stagger and "springs" to app closing transition."
This reverts commit cd57901ca4.

Reason for revert: <INSERT REASONING HERE>

Change-Id: I13e9d2db8f6d6118a1448ba04b67c81b4e485447
2018-06-26 23:24:20 +00:00
Jonathan Miranda
33cbe61e97 Revert "Fix typo in horizontalShift"
This reverts commit e45b3e21a9.

Reason for revert: <INSERT REASONING HERE>

Change-Id: I4d2956d3f8d23e8f9579fd61418bc84e7226ef60
2018-06-26 22:33:44 +00:00
Jonathan Miranda
5023771e05 Revert "Tune app closing/launcher resume animation "spring" values."
This reverts commit c9a7c50fac.

Reason for revert: <INSERT REASONING HERE>

Change-Id: I7ed4270b742803265ed4e3e13b63688842e0b48c
2018-06-26 20:21:07 +00:00
Jon Miranda
c9a7c50fac Tune app closing/launcher resume animation "spring" values.
Bug: 109828964
Change-Id: I64252667451f511b7affdde5ffb28812876e7f4c
2018-06-25 16:42:58 -07:00
Jon Miranda
e45b3e21a9 Fix typo in horizontalShift
Bug: 109828964
Change-Id: I0ef749ccd2d24556e05873186ed3fcdcb09a7d32
2018-06-21 11:33:04 -07:00
Jon Miranda
cd57901ca4 Add stagger and "springs" to app closing transition.
The "spring" is actually three sequential animations: 1) a slide,
2) an oscillation, and 3) a settle.

Bug: 109828964
Change-Id: I0a2c55f877446a6408952a1201636760283be57b
2018-06-20 16:35:19 -07:00
Sunny Goyal
0f3af75eb0 Making the self always follow the vertical progress without any min height limit.
After a certain height, the self fades out, but keeps following the vertical progress.

Eventually the fade-out can be decoupled from vertical progress and tied to the state

Bug: 109829614
Change-Id: I9808ed3fa1730b938196bc6d3518a6d096a13f4c
2018-06-11 09:51:42 -07:00
Tony Wickham
b45444b250 Overshoot when flinging up from an app
- Use OvershootInterpolator based on velocity (consistent with swiping up
  from home)
- Scale down recents as well, to be consistent with adjacent pages scaling
  up when you launch a task

Bug: 109709720
Change-Id: Ie47309058ccf673a4b86c40c843c415beb2d8dc7
2018-06-06 23:20:58 +00:00
Tony Wickham
b2ddf10041 Update interpolators and durations for state animations
When we enter overview (overview appears, workspace disappears):
- Workspace scales down from 1f to .8f with OvershootInterpolator(1.2f) at 200 ms
- Workspace fades from 1f to 0 with OvershootInterpolator(1.2f) at 200 ms
- Overview scales down from 1.33f to 1f with OvershootInterpolator(1.2f) at 200 ms
- Overview fades from 0 to 1f with OvershootInterpolator(1.2f) at 200 ms

When we exit overview (overview disappears, workspace appears):
- Workspace scales up from .92f to .1f with DecelerateInterpolator() at 200 ms
- Workspace fades from 0 to 1f with AccelerateInterpolator() at 200 ms
- Overview scales up from 1f to 1.1f with AccelerateInterpolator() at 180ms
- Overview fades from 1f to 0 with DecelerateInterpolator(1.7f) at 200 ms

Parallax while the finger moves: Workspace translates half the distance as the shelf

Bug: 79776746
Change-Id: I319d982cf202bcd6dbbcd68ffc5c0c7853629c7e
2018-05-16 15:59:31 -07:00
Tony Wickham
d58c2d5a48 Tune quick scrub
- Change durations/interpolators when starting from home vs an app
- Increase dim animation duration after quick scrub from an app
  - Also fixed contention between setting dim alpha for the animation
    and setting dim alpha for scrolling
Change-Id: I2c9ea52d4eafaad8954f3ff9d3c0c459a07953bc
2018-05-15 11:49:09 -07:00
Jon Miranda
d26d5aaa6d Tweaks to app closing animation.
Change-Id: Ia2cbc1401a57ad8dc3e3553110497eb35c19fe64
2018-05-09 12:51:34 -07:00
Tony
0c95559cbc Change overview animation to scale instead of translationX
As you swipe up to overview from home, workspace scales down and fades out as before,
and now recents scales down from 1.2f on top of it. The interpolators are set such
that the workspace animation is seen before the recents animation. Also, we don't
scale down all of recents, only the visible pages (current and adjacent).

Change-Id: I5f8bfe8cafeaa41d26873c63549735d7bdff2bce
2018-04-04 13:48:42 -07:00
Jon Miranda
863e05556e Tweaks to synchronized app transitions.
* Animations appear snappier by using new interpolators
  ie. new EXAGGERATED_EASE and updated AGGRESSIVE_EASE_IN_OUT
* Updated app icon/window alpha to make the motion/synchronization clearer.

Bug: 70220260
Change-Id: Ib05efc7f58d53b070e58f682f30651e31f9b3524
2018-02-16 15:44:40 -08:00
Winson Chung
3e803c7a4b Animate the visible task view if launching an app that resolves to the task
Test: Manual, launch app for associated visible task
Change-Id: I7a56553197ad23e1269eb50523eca0ea88898f47
2018-02-09 12:40:10 -08:00
Jorim Jaggi
fc0f6a5c5a Fix a couple of issues with app close
- Make sure to use center pivot point
- Use correct curve for alpha
- No need for the layer hack anymore because framework issue
was fixed.
- End X should be 480dp for a 411dp device, so we need to scale
it with 1.16

Test: Close app
Change-Id: Ib4587e324aeeb11921de87da7c389b2e148dc913
Fixes: 72691044
2018-02-01 19:07:33 +01:00
Jon Miranda
7853bdb8b5 Launcher app close transition.
Bug: 70220260

Change-Id: I0a3a6153dc1cba53546f792bf3ec037b1a5f6d90
2018-01-22 17:43:04 -08:00
Jon Miranda
69057173a7 Synchronized opening app transition animations.
Bug: 70220260
Change-Id: I3c8e1c477266fb3bd7a39f74e3e1191e82ce58e9
2018-01-18 09:44:54 -08:00
Sunny Goyal
5bc6b6f14c Consolidating various interpolators
Change-Id: I9588eee3552001b162a1e8d5ccefcfb44d221880
2017-10-26 16:38:55 -07:00