Commit Graph

64 Commits

Author SHA1 Message Date
Becky Qiu
84fa94e2fc Fill the log container as hotseat or workspace based on position.
Test: manual
Bug: 137953006

Swipe from workspace:
07-30 15:15:44.031  9779  9779 D UserEvent: action:FLING direction=UP direction=UP
07-30 15:15:44.031  9779  9779 D UserEvent:  Source child:WORKSPACE id=0 span(951,1313)	parent:WORKSPACE id=0
07-30 15:15:44.031  9779  9779 D UserEvent:  Destination child:ALLAPPS
07-30 15:15:44.031  9779  9779 D UserEvent:  Elapsed container 826 ms, session 9361 ms, action 0 ms

Swipe from hotseat:
07-30 15:15:46.010  9779  9779 D UserEvent: action:FLING direction=UP direction=UP
07-30 15:15:46.010  9779  9779 D UserEvent:  Source child:HOTSEAT id=0 span(786,1908)	parent:WORKSPACE id=0
07-30 15:15:46.010  9779  9779 D UserEvent:  Destination child:ALLAPPS
07-30 15:15:46.010  9779  9779 D UserEvent:  Elapsed container 1139 ms, session 11339 ms, action 0 ms

Change-Id: I959528889fda778efc569bb59e7f44d3bd5b81bc
2019-08-01 22:24:44 +00:00
Tony Wickham
c088051c29 Add OverviewScrim to show below overview but above workspace
- Refactor some basic scrim logic to Scrim class and have
  WorkspaceAndHotseatScrim and OverviewScrim extend it
- Draw OverviewScrim under recents unless predictions are disabled, in
  which case draw it under hotseat (since that is in recents)
- Remove sysui scrim (behind status bar and nav bar) when overview is
  peeking

Bug: 132455160
Change-Id: Ia5d6f54582a4c5a70e3b2d4a98281567edd68519
2019-07-31 14:44:28 -07: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 Wickham
e1463f5580 Defer jumping to NORMAL state if overview is still peeking
Bug: 137316430
Change-Id: I1ace19bb229d07bd9dfe5ed6f60c63715b9f8cf2
2019-07-11 16:55:01 -07:00
vadimt
2af71dd058 Removing tracing for a fixed bug.
Bug: 133867119
Change-Id: I796118f5ff0c27db002bb0e3369e651c95b06bbe
2019-07-11 20:18:32 +00:00
vadimt
8f9cf2f38f Calling sendStateEventToTest() from a place guaranteed to be called
See discussion in the bug

Bug: 133867119
Change-Id: Id162cfa3b0a0aafe17dd9b41e2c4b5d02c411830
2019-06-10 18:01:58 -07:00
vadimt
a8f77a6afd More debug tracing for switching to all apps not sending the final event
(to the test)

Bug: 134172603
Bug: 133867119
Change-Id: I00cf3a35daefa23d2e72a89d21e6ce37c8a9a46d
2019-05-31 13:34:24 -07:00
vadimt
17f9d57ac7 Add debug tracing for a lab-only flake
This time, Launcher doesn't send a completion event upon switching from
Home to all apps.

Bug: 133867119
Change-Id: I3738cf10a14ea288df2dfda387aafda022beb349
2019-05-29 14:10:28 -07:00
vadimt
8649cf29e4 Remove tracing for fixed bugs
Bug: 129434166
Bug: 131170582
Change-Id: Ia9b356594001d96c69ffbb7f8b767b2f54ed5feb
2019-05-01 16:10:56 -07:00
TreeHugger Robot
3c007368a7 Merge "Cleanup unnecessary override dump method" into ub-launcher3-qt-dev 2019-04-25 23:22:04 +00:00
Hyunyoung Song
9e7d2acc22 Cleanup unnecessary override dump method
Change-Id: Ic2909a4d382362ddec9bcc2c738d13120e792fd8
2019-04-25 16:08:52 -07:00
Hyunyoung Song
efe8475093 Merge "Add important dump logging Bug: 130851537 Bug: 119992316" into ub-launcher3-qt-dev 2019-04-25 22:33:31 +00:00
Hyunyoung Song
a310a80c7b Add important dump logging
Bug: 130851537
Bug: 119992316

Change-Id: I3de7c1d910d1aecd80b47a85284565c79fe0e2cc
2019-04-25 15:14:44 -07:00
Hyunyoung Song
bf44bc342f Fix NPE / add downX,Y location for all swipes/ add extra debugging info
Bug: 122700646
Bug: 127840207

Change-Id: I5862c8950565df172a933114e1fb2f9c4575593e
2019-04-24 16:16:51 -07:00
Tony
e243a9493e Swipe up from nav bar in OVERVIEW or ALL_APPS to go home
Add NavBarToHomeTouchController, which intercepts touches from the nav bar
region when in overview or all apps.

Swiping up from all apps translates it up and slightly fades out app icons,
then letting go springs towards home screen.

Swiping up from overview translates it to the right, then letting go springs
towards the left where it lives in the home state.

Both cases have a strong deceleration while swiping.

Bug: 129571305
Bug: 111926330
Change-Id: I5b7de05f15f0300233343fa2d69fcad624e070f8
2019-04-01 15:48:51 -05:00
TreeHugger Robot
794a68e998 Merge "Fix SwipeDetector positive vs negative for HORIZONTAL direction" into ub-launcher3-master 2019-03-28 20:07:06 +00:00
TreeHugger Robot
2f9b438a3a Merge "Adding tracing for Lab-only flake: drag to workspace doesn't happen" into ub-launcher3-master 2019-03-28 18:43:17 +00:00
Tony
101807d8e7 Fix SwipeDetector positive vs negative for HORIZONTAL direction
Previously left was considered positive and right considered negative.
Now left and down are negative, and right and up are positive.

For RTL, left is positive and right is negative.

Change-Id: Ia31e8c687c8c2716fc632b2fe88aa8955b934bce
2019-03-27 19:45:04 -05: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
vadimt
0b339b5273 Adding tracing for Lab-only flake: drag to workspace doesn't happen
Bug: 129434166
Change-Id: I4433a4848b57da42412a9108a0965ff13c708c39
2019-03-27 17:42:25 -07:00
vadimt
42a88b9681 Sending state ordinals from Launcher to TAPL
This improves diagnostics.

Test: TAPL tests
Change-Id: I0ebb533513405372ea7c58a36910160cfb6d8368
2019-02-14 13:08:01 -08:00
Sunny Goyal
8b2b4e24ee Adding support for swipe and hold to overview from home screen to all-apps
- After the atomic animation ends, overview jumps slightly because the
  normal -> all apps transition puts it at a different position than
  normal -> overview

Bug: 111926330
Change-Id: I6ca359b3ef2fc4d0b6b96229d8bf118bd0db9649
2019-01-28 15:51:19 -08:00
Jon Miranda
7e390c3b17 Revert "Revert "Add spring to shelf for home <-> overview <-> all apps state transitions.""
This reverts commit 2bdac8f7e5.

Reason for revert: Reverting and added fix to crash

Change-Id: I20508eb05c85ba5dfba52630aa9becea270f890b
2019-01-08 16:43:45 -08:00
Jonathan Miranda
2bdac8f7e5 Revert "Add spring to shelf for home <-> overview <-> all apps state transitions."
This reverts commit e018711aac.

Reason for revert: investigating crash

Change-Id: I157b61a9f1bd46e2fcd3f2f883d3b5c23ca314af
2019-01-05 00:04:20 +00:00
Jon Miranda
e018711aac Add spring to shelf for home <-> overview <-> all apps state transitions.
Added new SpringObjectAnimator class that wraps an ObjectAnimator so the
Object can be controlled via the Animator or via a SpringAnimation. It extends
ValueAnimator so that it remains compatible with AnimatorPlaybackController.

Code is behind feature flag toggle QUICKSTEP_SPRINGS.

Bug: 111698021
Change-Id: I1b20179ede37e89a6a6bb2a45d407cc74c99ac4e
2019-01-04 11:12:53 -08:00
Tony
6cfb0edb41 Fix end state when animating launcher after swipe up from an app
Previously we were comparing the controller's progress at the time of
the end of the animation... which is always 1. Instead, we should be
comparing the effective final progress based on the interpolator.

Change-Id: I18110b5a3b914839860931187f39cfa11182b3e2
2018-11-29 11:35:16 -08:00
Sunny Goyal
8c79668069 Merge "Using velocity tracker for computing the velocity of motion events" into ub-launcher3-master 2018-09-25 21:15:26 +00:00
Hyunyoung Song
24b209c65a Swipe down on status bar
Bug: 111839343

Change-Id: I5332dc098af980b4d4ef45b095586d68975ad98c
2018-09-18 11:11:04 -07:00
Sunny Goyal
4d8ec15fb5 Using velocity tracker for computing the velocity of motion events
Change-Id: I14f2f970825a2936f4bb285834405d67daf8667c
2018-09-13 09:50:47 -07:00
Vadim Tryshev
b6398a1eb8 Sharing protocol constants between Launcher and TAPL
Bug: 110103162
Test: TaplTests
Change-Id: I5b2a2b8576a7a6ea4a156f00858711496d6b5bba
2018-08-14 19:53:43 -07:00
Vadim Tryshev
2ce6a13f60 Tapl library
The public API of the library has finalized; flakiness has been removed;
code polished.

Bug: 110103162
Test: TaplTests suite
Change-Id: Ic156bbfeedb1cb9c4a48ef907f97e396e8e81936
2018-07-20 14:43:05 -07:00
Tony Wickham
520ffec9d3 When controlling atomic components, bound to remaining progress
Before, we were just controlling the components as far as we had left,
which was fine since they are just a subtle effect anyway. But now that
we don't fade out until the very end, this means that long swiping from
home usually kept recents in the background during the entire swipe and
then abruptly disappear after letting go. Now we make sure the entire
atomic animation plays by the time we reach all apps, so recents will
fade out in all cases.

Bug: 79867407
Change-Id: I7cb6790d9055bc76b4b73ed761604042a308c987
2018-06-21 13:38:53 -07:00
Jonathan Miranda
48010091f4 Merge "Adjust interpolators when swiping from overview to all apps" into ub-launcher3-edmonton-polish 2018-06-21 00:30:02 +00:00
Tony Wickham
17be4e71b2 Adjust interpolators when swiping from overview to all apps
- All apps content fades in quickly so that icons are opaque by the time
  they are on screen
- Recents fades out late so that we don't see it as translucent while
  the transition is continuing (the translucent icon top of tranclucent
  task view looks bad, for instance)
- Fix colored scrim that appears over recents - was using 0 to 1 instead
  of 255

Bug: 79867407
Change-Id: I4f50423157f7870c8d0708f586a72e3e5a7b6559
2018-06-20 16:58:21 -07:00
Tony Wickham
c0b468c990 Merge "Don't intercept above shelf progress if still animating" into ub-launcher3-edmonton-polish 2018-06-19 22:04:17 +00:00
Sunny Goyal
2b03b713f7 Fixing atomic animation not getting completed properly
> Finishing the atomic animation to that proper states are applied
> Offsetting the duration of atomic animation so that it completes along with
  the swipe animation

Bug: 80432882
Bug: 86308723
Bug: 80549582
Change-Id: I8a3b44c2c7017e241b2fbdbb96c5d67edbb359d1
2018-06-12 17:08:55 -07:00
Tony Wickham
29aef52be3 Fix some issues with haptic
- Don't have double haptic on quick scrub
- Correctly check interpolated progress to determine final state,
  so that it always aligns with the haptic (i.e. passing the haptic
  means letting go will go to the new state)

Bug: 109709720
Change-Id: I702bb76a4c15f932f923e81a14cc49f6a9126cb8
2018-06-11 23:23:49 +00:00
Matthew Ng
c4b75abf3b Added haptic feedback when swipe/fling up from an app in fullscreen
This includes swiping/fling up from a fullscreen app and swiping/fling
down a task to a fullscreen app.

Test: swipe up when app is fullscreen
Fixes: 80543530
Change-Id: Iee259284cc6d4fe1e784532f0822ffd38cdee280
2018-06-11 10:45:47 -07:00
Tony
89126653cd Don't intercept above shelf progress if still animating
When you swipe up to overview from home, we should allow touches on
recents even if the overshoot animation isn't finished. If the
touch is below the all apps progress, we continue to intercept to
allow for double swipe up.

Bug: 80093992
Change-Id: Ifdca61e7cfc1f7a713c067596cc0c1bd3154b44e
2018-06-07 20:48:04 -07:00
Sunny Goyal
87a6ad18cd Fixing controller state is not properly cleared when the animaiton is cancelled.
This was leading to a pending animation running while the state had changes,
leaving user in an inconsistent state.

Various atomic animation fixes
> Ensuring that there is only one success listener on atomic animation, so that atomic
  controller is created only once and to the final mToState
> If atomic controller is already running, skip animating the atomic conmonenets as
  part of main animaiton
> Cancel atomic controller if it is going to a different state

Bug: 80549582
Bug: 109583168
Change-Id: Ie7a032e0fa73b1f1c2ef53055c08d16444f0385e
2018-06-05 16:07:29 -07:00
Tony Wickham
422e1f9c69 Only log swipe interaction on swipe end
Previously we were logging new states as we swipe past them; now we just
log the start and end states when lifting your finger.

Bug: 80102083
Change-Id: Icec6c3dab1441023a3cdcadb7b56ecef8313cb8c
2018-05-23 13:20:10 -07:00
TreeHugger Robot
39ac161095 Merge "Add mStartState to determine if user swipes up from Home." into ub-launcher3-edmonton 2018-05-23 17:57:58 +00:00
Jon Miranda
1d19e2f152 Start springs for All Apps when user flings up.
Bug: 77695481
Change-Id: Ifecfbbb89601947118f620f522662aee8a61946e
2018-05-23 09:13:07 -07:00
Tracy Zhou
788c051493 Add mStartState to determine if user swipes up from Home.
Bug: 80146880
Test: Manual test
Change-Id: Ia0743bff3f2a5b3998a798743138b012ec461a94
2018-05-22 16:25:37 -07:00
Tony Wickham
4e21c1b552 Cleanup how we set back button alpha
Add BackButtonAlphaHandler to set back button alpha, instead of setting
it from multiple places.

Also force back button alpha to be 1 if swipe up is disabled (b/80091187)

Change-Id: I49b63a0e6b033a3a947a847669a398f1b9ff0564
2018-05-22 11:05:01 -07:00
Tony Wickham
f9d38098ca Merge "Fix a couple issues with swiping up from home" into ub-launcher3-edmonton 2018-05-18 16:50:47 +00:00
Matthew Ng
8b92fe336b Fade back button in and out tied with the overview/shelf (2/3)
Back button changes opacity when moving the shelf during swipe up
between home screen and overview. The alpha changes depending on the
progress of the swipe up animation. When going from app to home and vice
versa, the fade animation does not tie with the swipe up progress. The
fade animation also masks the back button drawable when ime visibility
changes.

Change-Id: I51e42930640ba711e81880b385bb722d7ee8ad33
Fixes: 74581837
Fixes: 76900236
Test: swipe up from home screen to overview
2018-05-18 00:48:51 +00:00
Tony Wickham
7de574175b Fix a couple issues with swiping up from home
- Don't update the animation to go from 0 to 1; instead, update the
  interpolator to clamp to the remaining progress (b/79773309)
- Fix NPE that can happen in a race between the atomic animation
  ending and the non-atomic animation canceling/ending

Change-Id: I313251dc5cbd7b931b043fc3e840bb4ab368a790
2018-05-17 16:30:46 -07: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
0f640b6c1b Make fling thresholds consistent
There are 3 places we can block a fling:
- Swiping from home to all apps (through overview)
- Swiping from an app to all apps (through overview)
- Dismissing a task (in the same gesture that started by swiping down)

In all of these cases, we block the fling when crossing the threshold
to a new state (e.g. OVERVIEW), but unblock if the user pauses their
drag. With this change, the logic is consistent:
- Unblock the fling after pausing a short amount of time
- If a fling was blocked, increase the settling duration based on
  velocity

Bug: 78089840
Bug: 78658678
Change-Id: I5ef52b74229418b867b26c3c6d3db2cf6e48914b
2018-05-16 13:47:20 -07:00