Commit Graph

177 Commits

Author SHA1 Message Date
Hilary Huo
7874996823 [AllAppsSearch] Update AllAppsSearch interface to expose the activity to the plugin
Tested=Locally

Change-Id: I8986eb50fea2091d8a1aea3cc1c5ee58e3692bc6
2020-04-28 16:34:42 -07:00
Hyunyoung Song
3f82135f06 Add AllAppsSearchPlugin
Bug: 151089843

Change-Id: I6d61fb9c7855bafee731f47147b3070a1b672071
2020-04-16 11:50:04 -07:00
Tony Wickham
490a8ab7c7 Add all apps education bounce animation
- Update existing arrow bounce animation to repeat 3 times,
  and play it when swiping up from nav bar on first home
  screen as well as when tapping the arrow.

Bug: 151768994
Change-Id: Ib120764fdeab6cd932018b6fed8b1093dda20641
2020-04-06 11:28:50 -07:00
Tony Wickham
5edf9e2923 Update vertical drag handle (all apps arrow)
- Change drawable to match specs, using ShadowDrawable to
  add shadow when necessary based on workspace theme.
- New drawable is 18dp by 6dp; add support for different
  width vs height, and decouple from workspace page
  indicator (which is still 24dp tall).

Bug: 151768994
Change-Id: Icfd0eac197ebc4d1f5bb799f8538c4bd99d800cd
2020-04-06 11:26:59 -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
Tony Wickham
984c01cbcd Invert playNonAtomicComponent() as onlyPlayAtomicComponent()
This avoids the double negative we use in a few places, so should be clearer.
Also added some comments to explain what the animComponents are used for.

Change-Id: Ibd25bd12efce6553b377bbd9c0651e4f4ac3e498
2020-03-11 18:21:53 -07:00
Sunny Goyal
add170098c Merge "Converting some anonymous classes to lambda calls" into ub-launcher3-master 2020-03-10 08:43:41 +00:00
Sunny Goyal
cfaa4889e6 Enabling springs for start dismiss animation
> Adding flag support for PendingAnimation which can be used
  to define custom behavior for various animations
> Using SpringAnimationBuild for spring animation instead of
  SpringObjectanimator

Change-Id: I41ca34b0574981bb3fc7894639a321c12e6feac1
2020-03-06 22:59:03 -08:00
Sunny Goyal
4c9ee63540 Converting some anonymous classes to lambda calls
Change-Id: I386046a4a515d84801a8bbd11cfa090ba7adfd71
2020-03-06 15:18:00 -08:00
Jon Miranda
7edcd7803f Makes spring variable dynamic resources so that they can be changed via plugin
Bug: 147302669
Change-Id: Ia4e74ff46a4d8338a56ea75ed826b69102c42d93
2020-03-02 18:48:23 -08:00
Zak Cohen
43a1615796 Hide apps view in transitions if none of its parts are visible.
Check where the all apps view has any pieces visible, if not hide it.

Test: local
Change-Id: I1d9b957b6c10dfbe4beaa56c4fee920844699a6c
2020-02-25 15:09:12 -08:00
Samuel Fufa
ccebfbe273 Clean up work profile
This includes
- Dismiss work edu on launcher state change
- Remove work tab flash on first setup
- Make edu bottom sheet adopt theme color
- Fix Work toggle bottom inset


Bug: 149200572
Bug: 149197172
Bug: 149199058
Bug: 149215103
Bug: 149198955
Bug: 145595763
Bug:149481723

Test: Manual
Change-Id: I39a30782b80fd3a66bede55754fa30a940d2caee
2020-02-19 19:33:09 +00:00
Jon Miranda
d59b6c59c8 Disable All Apps spring.
Bug: 147302669
Change-Id: I36cf13e94cf2d418909df345a4e36d827ac7eedf
2020-02-10 12:18:42 -08:00
Jon Miranda
2e8828bd30 Enable All Apps spring.
Bug: 147302669

Change-Id: I944ce7d181c554d840329a3affe0dee76eed9143
2020-02-03 14:03:47 -08:00
Jon Miranda
40f0eb2188 Enable working springs. Move unstable springs to a seperate feature flag.
Bug: 147302669
Change-Id: I7a1b9b0e68cc68ad943b5af2b8cf7f80b5680eaa
2020-01-07 11:25:22 -08:00
Sunny Goyal
37279e2313 Scaling down hotseat to match prediction row size when going to overview
Bug: 141265005
Change-Id: I3b11146881af334508f553e4ca3a36b9291511d9
2019-11-06 14:39:28 -08:00
Tony Wickham
bfdeda96e6 Properly prevent All Apps relayouts by avoiding scrollToPosition
Calling scrollToPosition on RecyclerView internally calls
requestLayout() (to cacluate where to scroll and then go there).
Therefore, we should avoid calling that whenever possible, especially
during transitions. In particular, we can optimize scrollToTop() to not
scrollToPosition() if we are already at the top.

This makes some other workarounds unnecessary, namely setting All Apps
to GONE during system gestures.

Test: Open an app, swipe up, ensure AllAppsRecyclerView doesn't get
onLayout().  If we had scrolled to an app first, we get one layout
in prepareRecentsUi(), but not during the transition.

Bug: 140308849
Change-Id: I62ee341bf5893c121cfc013cc6542559f79d2a42
2019-09-03 16:16:54 -07:00
Tony Wickham
7310bb4b5c Don't update all apps content visibility during home animation
We already set the all apps content visibility = GONE at the start of
the gesture to prevent relayouts, but when animating home we were
inadvertently changing it to INVISIBLE, causing a relayout and jank.

Bug: 140308849
Change-Id: I285746f8ac8f3f857282e22ebec8eebd0b98647f
2019-08-30 22:10:55 +00:00
Tony Wickham
35a4e0eec9 Tie prediction text to all apps interpolator
Now floating headers get 2 interpolators: one for the header content
itselt, and one for the all apps content that follows. That way, they
can choose to intperolate part of their content as if it were part of
all apps instead of the header. Currently, we do this to animate
predicted icons quickly, followed by the all apps icons, predictions
text, all apps scrollbar, and all apps divider as you continue swiping.

Bug: 132455160
Change-Id: Ib3e373c291e174e1306a53854d0ad4dc29eb4b76
2019-07-31 14:45:18 -07:00
vadimt
2af71dd058 Removing tracing for a fixed bug.
Bug: 133867119
Change-Id: I796118f5ff0c27db002bb0e3369e651c95b06bbe
2019-07-11 20:18:32 +00:00
Sunny Goyal
c4bb3739b1 Cleaning up some animation states:
> When running one-off animations during quickstep, cancelling prevoisly
  running animations.
> Cancelling such one-off animations when state is reset
> Preventing touch proxied from recent transition to affect quickswitch
  (by affecting pagedView)

Bug: 135686388
Bug: 135571566
Change-Id: Id647015a583761d8fd46a02e3e2d88027e282a79
2019-06-21 12:47:56 -07:00
Sunny Goyal
b80941bb24 Using FloatProperty for spring animation, instead of a interface
to allow easier generalization of animation definitions

Change-Id: I37b1a604003ec007aa390eabdfe8c1ab733b7471
2019-06-19 21:31:43 -07:00
Tony
32cb616fab Fix bugs with hotseat in overview
- Allow touches to go through recents to the hotseat.
- Translate the hotseat with the all apps shelf when swiping
  up in background app state.

Bug: 135222111
Change-Id: Ib887fc25ccfeb406a44074198c11f7b1d245443c
2019-06-18 13:41:08 -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
Govinda Wasserman
c06e151e0f Makes Launcher hide the all apps content and scrim on assistant visible.
This hides the quick search bar and the suggested apps. Visibility is
unchanged when the all apps view is fully expanded.

Test: Tested locally
Change-Id: I6bc453b5ad89ca3d1280957e595bf2a3f074a72d
BUG:129755311
FIX:129755311
(cherry picked from commit 917af755e4)
2019-04-23 17:20:37 +00:00
Tony
e4c2e2b86c Add QuickSwitchTouchController on home
- Added QuickSwitchState, which we animate to when swiping right
  on the nav bar from NORMAL state
- Task launches when the state transition to QuickSwitchState ends

Bug: 126596417
Change-Id: Id66650401d817703fc6d044fb26a25cccbc07e11
2019-03-28 15:09:25 -05:00
Tony Wickham
836602e313 Quickly fade in QSB when swiping up when SWIPE_HOME = false
Now that the "hook" gesture is supported for old quickstep to switch
apps, we need to fade out the QSB so it doesn't overlap the TaskView we
are switching to.

Bug: 111926330
Change-Id: Ie04c7909f6b96d12c810b438db89eedf8ea5bdeb
2019-03-11 08:46:49 -07:00
Tony
4bb4b89b9a Scale and translate hotseat with workspace instead of all apps
- Move the hotseat alongside workspace instead of on top of all apps in xml layout
- Set pivot point of hotseat to match the workspace's, and apply the same scale
- Translate the hotseat with the workspace instead of all apps
- SpringLoadedState does not scale or translate the hotseat

Change-Id: Ic45fe99f83f0e0012afa78073d9577e65da444e2
2019-03-03 15:43:50 -08:00
Jon Miranda
86f6c449a7 Add springs for recents dismiss animations.
Bug: 111698021
Change-Id: If518ba5946ea6fada67f549f2f29e1ab1c89969d
2019-01-29 12:13:57 -08:00
Jon Miranda
60adc3fb83 Generalize SpringObjectAnimator.
This is in preparation for adding more springs to the state transitions.

Bug: 111698021
Change-Id: I32cd7894e940dae00895799280b244d68400d374
2019-01-16 15:15:56 -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
Sunny Goyal
33611be973 Removing Launcher dependency in search box layout
Bug: 118758696
Change-Id: Id918c44b8bd2a97ab577481b7584afbe56e8a591
2018-11-20 13:53:33 -08:00
Sunny Goyal
876e462ffa Removing separate hotseat widget, instead using a QSB acroll all UI.
The QSB is responsible for updating its UI according to various states.

Bug: 109828640
Change-Id: Ic8cbf3d404d5870de0f6b8fe25a332b8d21bae20
2018-11-05 13:36:41 -08:00
arangelov
ad78305862 Highlight work tab when user already in All Apps after creating WP.
When a user created a work profile and was already in the All Apps
view, the work tab was not highlighted, because the logic for that
was only in AllAppsContainerView#onScrollUpEnd(). This CL
highlights the tab when the user has resumed and the All Apps view
is expanded.

Bug: 79242814
Test: Manual
Change-Id: I40af0d513c95f8084e21f4e276e9f56bcb06555e
2018-08-17 20:28:52 +01: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
Sunny Goyal
56e1019e95 Making caret visibility part of state definition
> Hiding the caret in fast overview state
> Hiding caret in task swipe down interaction

Bug: 79700605
Change-Id: I984d535bc75802501e8aeb13c8f37387f331e5bc
2018-05-22 15:58:20 -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
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
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
ec62522682 Set status bar icons to dark at correct all apps progress
Bug: 79866102
Change-Id: I8c97896319406c8360a2f60d213868ad59dafe19
2018-05-16 14:27:49 -07:00
Tony Wickham
56b247da1d Merge "Add atomic recents animation while swiping up" into ub-launcher3-edmonton 2018-05-09 20:13:23 +00:00
Sunny Goyal
ef39540dde Adding a carent in the scrim
> Caret is only visible when the accessibility is enabled
> It is visible in NOTMAL and OVERVIEW state and moves out of the
  scrim along with the scrim.
> Acts as an accessible target for various options

Bug: 78172350
Bug: 79215734
Change-Id: I8a968b67e36901859649546295f6491d49cc9ce9
2018-05-09 12:39:30 -07:00
Tony Wickham
6becf7c07d Add atomic recents animation while swiping up
State handlers can now specify atomic and non-atomic components of
their animations to states, which can be specified when creating a
new animation. There is now one atomic animation, when going from
NORMAL to OVERVIEW (and in reverse):
- RecentsViewStateController's animation (scale/alpha) is all atomic
- WorkspaceStateTransitionAnimation has atomic and non-atomic:
  - Hotseat and workspace alpha is atomic, as is workspace scale
  - Everything else (scrim, translation, qsb and drag handle alpha) is
    non-atomic
- All apps progress is non-atomic

Also simplified dragging through overview; no longer pulls against you,
so we use an OvershootInterpolator when flinging instead of our custom
interpolator for the spring effect.

Bug: 76449024
Bug: 78089840
Change-Id: Iafac84d0c2b99ee9cf9dd5b30e2218286713b449
2018-05-09 12:33:46 -07:00
Sunny Goyal
927447e71d Chaniging all-apps scrim
> Converting the scrim to View, to better avoid overdraw
> Overview and Spring loaded state have different scrim alpha
> When going from overview to all-apps, there is a color scrim drawn over the overview panel.
  The slef color is merged with this color to prevent overdraw, and the remaining screen is drawn
  with a cut-out round rect path

Bug: 79111591
Change-Id: I26801fde13dd6adb4b06110bbe8087e35cc31847
2018-05-08 08:29:43 -07:00
Tony Wickham
7a5d4ae64f Merge "Fix some state issues with user-controlled animations" into ub-launcher3-edmonton 2018-05-02 16:20:19 +00:00
Tony
31fbd4c08b Fix some state issues with user-controlled animations
Previously, user-controlled animations weren't properly being canceled when a
non-user-controlled animation started, e.g. when hitting home. Thus, we could
end in the wrong or inconsistent state because the user-controlled animation's
end runnable was still used. Now we add a cleanup callback for when we reset
the user-controlled animation for one that isn't user-controlled.

Also fixed a couple typos.

Tests (easier with animation durations extended):
- Swipe up and hit home before reaching overview -> land on home
- Go to overview, swipe down slightly (before threshold to go to workspace)
  and let go -> return to overview without flash (recents was resetting)
- Swipe up, press home while swiping -> goes home, stops responding to drag
- Start dismissing task and hit home before it finishes (or while dragging)
  -> goes home, stops responding to drag

Bug: 78249220
Change-Id: If11d8999e3fadba38c987b25af67cd2304cd859b
2018-05-01 13:45:27 -05:00
Sunny Goyal
36d090df67 Adding a round rect background for the self in Overview
Bug: 78771910
Change-Id: I71460a284ed185e82d66fe65104402fb99d6b312
2018-04-30 15:37:39 -07:00
Jon Miranda
2b67bacadc Fix bug where drag handle translation was not set to 0 on device profile change.
Bug: 77523779
Change-Id: Idec97c34999e05adfac7e9931ab9596a8aae67ae
2018-04-03 11:54:49 -07:00