Commit Graph

207 Commits

Author SHA1 Message Date
Samuel Fufa
ee9aff9b5b [Search][Motion] Normal<->AllApps transition revamp
Preview video attached to BR

Key changes:

- SearchUiManager#getScrollRangeDelta is removed. AllApps initial vertical offset is now controlled by deviceProfile.allAppsOpenVerticalTranslate.
- ShelfScrimView is renamed to AllAppsScrimView. Scrim no longer does vertical translate with AllApps open.  Shelf/overview related code removed.
- Scrim and AllApps content transition are animated with different interpolators. Scrim color is a blend of accentColor and allAppsScrim with proportion determined by progress*TINT_DECAY_MULTIPLIER

Bug: 183001675
Test: Manual
Change-Id: Id6bde7ee65c55c83c2973fe41f458b9364d39ecd
2021-04-05 13:32:51 -05:00
Sunny Goyal
0b5b8d4969 Fixing all-apps appearing as blank
Since all-apps and homescreen do not share any QSB, we can
change the alpha for hotseat QSB directly

Bug: 184122599
Test: Manual
Change-Id: Ifa610fe75ad22cfe8a7d816ed2b48e2b9411c4c1
2021-03-31 14:59:54 -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
Sunny Goyal
c373e1c642 Adding an optional QSB in hotseat
Removing sections in all-apps during transition and treating
it as a single unit

Bug: 175137718
Test: Manual
Change-Id: I55a501d80b5903f1a9d92a26b3784784fd9e50fd
2021-03-17 12:21:44 -07:00
Hyunyoung Song
a907a995c9 Hide keyboard only when scrolling happens
Bug: 179307221
Test: see attached video

Change-Id: I9b13c8f62122a6d7bf56a28c830be9a9dbfee52a
2021-03-16 00:05:04 -07:00
Sunny Goyal
b5181c8c39 Revert "Revert "Removing insets controller animation as part of ..."
Revert "Revert "Moving insets animation to StateHandler so that ..."

Revert submission 13823490-revert-13810332-insetcontroller-CLXXLCZAUM

Reason for revert: Fixed original error in ag/13823726
Reverted Changes:
Ie19a3fd90:Revert "Moving insets animation to StateHandler so...
I4eb33772a:Revert "Removing insets controller animation as pa...

Change-Id: I7fb395c51ea99081913bc99515257e98c0a32754
2021-03-10 07:39:12 +00:00
Pasty Chang
13358f65ab Revert "Removing insets controller animation as part of all-apps..."
Revert "Moving insets animation to StateHandler so that it can b..."

Revert submission 13810332-insetcontroller

Reason for revert: QsbLayout#getEditText() return object is changed, but extended class HotseatQsbWidget wasn't updated.

https://android-build.googleplex.com/builds/submitted/7197042/aosp_crosshatch-userdebug/latest/view/logs/build_error.log

Reverted Changes:
If6a088d14:Removing insets controller animation as part of al...
I296415604:Moving insets animation to StateHandler so that it...

Change-Id: I4eb33772acd887d6e1d92a9ecde41cf1e0687896
2021-03-10 06:58:51 +00:00
Sunny Goyal
0724113b3d Removing insets controller animation as part of all-apps opening
Adding support for easier extension of StateHandlers

Bug: 180143210
Test: Verified on device
Change-Id: If6a088d1482c9b268b21786c4694f6e0927be0c3
2021-03-08 18:38:25 -08:00
Hyunyoung Song
f0988f1fb1 Prevent NPE inside AllAppsTransitionController
Bug: 181911438
Test: manual

Change-Id: Ia2cfe43512c0336232fc6787eb955d476280e3b8
2021-03-08 00:43:25 -08:00
Samuel Fufa
9ffaee3110 Break up nasa search results
+ replace IME feature flag launcher setting

Test: Manual
Bug: 178638266
Change-Id: Id013cd247cfa2b33cdf62ee3239ad1bacc35b5da
2021-02-22 09:10:18 -06:00
Sunny Goyal
79e52fc23b Moving slice loading on a background thread
> Also fixing slice icon loading, such that the request is cancelled
  if views are recycled quickly
> Loading widget label on dg thread and cancelling request if views
  are recycled quickly.

Bug: 179068415
Test: verified locally
Change-Id: Id5a524e2bf596862330a8170394aef9ffd708544
2021-02-04 13:03:33 -08:00
Samuel Fufa
062a8fd979 Introduce feature education for AllApps Search
Preview: https://drive.google.com/file/d/1eXf3K6kFh0bHcYlpwW_voSRjY9RQalJN/view?usp=sharing&resourcekey=0-IABjrtXM5JhHvSf-7yc4tg

Edu can be dismissed permanently by pressing "Got it" button or typing. Swiping down defers edu until next visit to all apps

- Move fallback search to quickstep
Bug: 178100472
Test: Manual

Change-Id: I920aab366330758e81f8b9fa62736abf82fe5cac
2021-01-25 15:17:34 -06:00
Hyunyoung Song
f19c579706 Disable default IME in all apps if DISABLE_INITIAL_IME_IN_ALLAPPS is on
Bug: 173447266
Test: manual
Change-Id: Ib5c03b20cc7f09fdc2d066dd20fb7ccbb1e154f5
2021-01-10 21:09:19 -08:00
Samuel Fufa
37432444fc Initial setup for widgets in Search
LiveSearchManager creates AppWidgetHost when user starts a new search session and destroys it when user returns to home. In addition, it also manages the creation and caching of PlaceholderSearchWidget which can be used to create AppWidgetHostViews.
Bug: 168321831
Test: Manual

Change-Id: I06a893028e55aa6e0702a4f1cd7a2edbb1f61671
2020-11-07 10:07:33 -06:00
Samuel Fufa
4b7f38b8fa Align fallback result query with result text
screenshot: https://screenshot.googleplex.com/6Daj5vdmz2jmznX
bug: 169438169
test: Manual
Change-Id: Ie621ed3c834aec5e9467607da4f685d05d152183
2020-10-07 10:31:06 -07:00
Hyunyoung Song
b0277191f3 Improve AA+ Search UI, fix IME double close
Bug: 167573256

Change-Id: If0d76177a8589bee3283d8c06529cedc8aab6c31
2020-09-08 00:51:00 -07:00
TreeHugger Robot
c697e6d565 Merge "Removing arrow indicator from homescreen and adding a separate view for various accessibility actions" into ub-launcher3-master 2020-07-29 04:38:01 +00:00
Sunny Goyal
52e2545a66 Removing arrow indicator from homescreen and
adding a separate view for various accessibility actions

Bug: 159247871
Change-Id: I14536844929e03d36a6a5f294d4f5daad8c82d15
2020-07-28 14:21:31 -07:00
Hyunyoung Song
26bca08089 Handle requestFocus for ENABLE_DEVICE_SEARCH
Bug: 161594550

Change-Id: Ic99c04f1235e48e90b64df86e3739f8e14bc648f
2020-07-28 01:37:57 -07:00
Hyunyoung Song
d25dabb466 Add InsetTransitionController to device search
Also removed plugin support as if both the feature flag and
the plugin is turned on, there are object/resource contention

Bug: 161594550

Change-Id: I2cb98e83c46c7e47db96b90fa8d7cb9620643221
2020-07-24 13:57:16 -07:00
Tony Wickham
80846543b5 Fix qsb when flinging to home during gesture to overview from home
- AllAppsTransitionController should not animate alphas for atomic
  components even when failing fast (we already had this check for
  the normal flow where mProgress != targetProgress).
- Don't set state to NORMAL until both the workspace stagger anim
  and overview peek anim are finished

Test: swipe up and hold from the nav bar on the home screen, then,
without lifting finger, fling upwards to return home; ensure qsb
springs in staggered formation with rest of workspace, and alpha
matches accordingly

Bug: 154637581
Change-Id: Iafeaeac50ee8bce05492628d443c3ca4ab3d26df
2020-06-15 19:27:45 -05:00
TreeHugger Robot
e3a51fec39 Merge "Fixing sysui visibility changing multiple times on startup" into ub-launcher3-rvc-dev 2020-06-12 18:45:41 +00:00
Sunny Goyal
de52876a2b Fixing sysui visibility changing multiple times on startup
> During startup shelftop is updated after all-apps, causing all-apps to
set the sysuiVisibility according to it's own UI

Bug: 156422012
Change-Id: Idee06249ad45946ed0a9dc84702510ad90a305f4
2020-06-10 19:13:36 -07:00
Tony Wickham
fe54c36822 Apply PendingAnimation#mDuration to all added anims
Doing this at the root instead of individually for all added
animators ensures none fall through the cracks.

Fixes: shelf moving too quickly in 2 button mode
Change-Id: I0de1ba9cee3fb8f1d6161371625d97e4b2305129
2020-06-09 18:35:07 -05: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
Hyunyoung Song
ef9a6972ce AllAppsSearch interface change Version 3
Change-Id: I79f635582075a1e33e970e4f4eb6ec653572fefe
2020-05-27 17:16:56 -07:00
Sunny Goyal
35e7d38681 Abstracting out state handler logic into base classes so that it can
also be used in different activity

Change-Id: Ic5e60b21e1429c71f1cd4e7041e70bf4fc9761b7
2020-05-11 16:38:26 -07:00
Alex Mang
5c6b320057 Listening to progress of all apps transition.
This will be used to synchronize keyboard popup. Also setting edittext before disabling to allow plugin to perform some cleanup

Change-Id: Ib9b4ab33d4292fe5d827c37f33c546a9fe6cb002
2020-05-01 16:47:22 -07:00
TreeHugger Robot
e6843777b0 Merge "[AllAppsSearch] Update AllAppsSearch interface to expose the activity to the plugin" into ub-launcher3-rvc-dev 2020-05-01 23:08:00 +00:00
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
898bd99116 Force all apps content to be alpha 0 when plugin is in place
Bug: 155114822

Change-Id: I9b2d10d5c009c3bb4fb2cf4cb4d9ff50153eba39
2020-04-28 09:38:39 -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