Commit Graph

9 Commits

Author SHA1 Message Date
Steven Ng 73d44f63b4 Animate recommended widgets vertical transition when reset widgets picker scroll position
Test: Set up work profile. Then open the widgets picker, scroll down from
      the personal tab, then switch tab. Observes a vertical transition
      animation of the search and recommendation container view.
Bug: 188538428
Change-Id: I2b8523d1682a6312de3b5393c0bff782ae110b3c
2021-05-19 23:58:54 +01:00
Steven Ng 3503e6fa25 Add a scrim underneath the top section of search & recommendation UI
Test: In the full widgets picker, scroll up. Recommended widgets are
      not visible behind the search bar when they overlap.
Bug: 188021019
Change-Id: I13144ad534c74393bb1b12c651e734bb8bee0bc2
2021-05-14 17:03:01 +01:00
Steven Ng 095e7562a4 Fix UI overlapping and void space in the full widgets picker
The issue is caused by not updating the header container after widgets
recycler view items changed due to item click.

Test: Expand / collapse items in the full widgets picker. No UI
      overlapping or void space is observed.
Bug: 186121915
Change-Id: I6a12bbdcca921d66c6d62601bb59cea66a33640b
2021-05-07 10:21:24 +01:00
Steven Ng e675a8e6b4 Fix full widgets picker fast scroll offset issue
Even though there is no change in fast scroller offset, the recycler view
scroll Y may still be updated. Let's also notify a scroll change if
the recycler view scroll has changed when updating the fast scroller thumb
offset.

Test: In the full widgets picker, scroll up and down with the fast
      scroller. Then, scroll up and down in the recycler view. The top
      section is scrolled together with the recycler view smoothly.
Bug: 183721076
Change-Id: I009fc7e27c8a20505a60502405ebbf695b5a37f2
2021-05-06 22:58:47 +01:00
Steven Ng edfec2fc0b Fix scrolling issue in the full widgets picker
Before this change, the widgets recommendation table handles all the
touch events. The table doesn't distinguish a touch event from a scroll
event. This change forwards the motion event to the active recycler view.
If the recycler view doesn't handle the event, it will then forward the
event back to the view hierarchy.

Test: Open the full widgets picker, then start scrolling on the
      recommended widgets UI. The full widgets picker scrolls perfectly.
      Drag-n-drop a recommended widget
Bug: 186567644
Change-Id: I89d473179796c516d2394332dd75f8e9a1d8b388
2021-05-05 23:19:09 +01:00
Steven Ng 4235fc129c Renders widget recommendations
Update the tapl test logic to scroll a smaller distance to avoid the
search bar blocking the target touch area.

Test: Open full widgets sheet and observe the widget recommendations
      shown at the top.
      Run AddConfigWidgetTest

Bug: 179797520

Change-Id: I6d53bbb46e2cb928ed7d015aaac604be17d33178
2021-03-19 21:11:32 +00:00
Alina Zaidi 334e65935b Have a recycler view to show search results.
-Have a recycler view layout for search widgets list.
-Make WidgetsFullSheet implement interface- SearchModeListener to get notified when user is using search and also when search results are ready.
-Have a WidgetsListSearchHeaderViewHolderBinder for search result headers which shows subtext in header as concatenated string of widget/shortcut labels.
-Modify WidgetsListAdapter and WidgetsDiffReporter to work well with search recycler view.

Test: Tested prototype locally. Also added robolectric test.
Bug: b/157286785
Change-Id: Ie29d9f295fddb6d727b5fc26a360f514f2f4a763
2021-03-11 21:27:51 +00:00
Steven Ng 7f7b2f7ee9 Fix scrolling bugs in full widgets sheet
Bugs:
1. Layout margins were not taken into account
2. Fast scroller offset has a different scale to the recycler view
3. Update padding & margin in onMeasure rather than in onLayout

TODO: fast scroller measurement doesn't take into account of
      expanded item. It naively use the same height for all items
      from the recycler view adapter.

Test: Open full widgets sheet for both work profile and non-work
      profile setup. Scrollbar initial position is correct. Scroll
      up and down to confirm views vertical translation is correct.

Video: https://drive.google.com/file/d/1kp3iSm23RVk_otBNeYalEPPkWjjWMOY0/view?usp=sharing

Bug: 181629430
Change-Id: I398a94510751782e78aa8f426f37b03ecca8ec99
2021-03-05 11:44:47 +00:00
Steven Ng 167f81b931 Add a header container view to the widgets full sheet
A header container view will contain
1. A horizontal bar: for indicating the popup view can be dragged
   to dismiss:
2. A title view: a title of the widgets full sheet popup view.
3. A search bar: for widgets / shortcut search. Since we will be
   making the fallback search algorithm available in AOSP, the
   search bar will now live in the Launcher3 codebase.
4. Recommended widgets (coming soon...)

This CL also added a scroll effect which gradually collapses the
title view when the user scrolls down the recycler view. The title
view will gradually restore its height when the user scroll to the
top of the recycler view.

Test: Manually test widgets pickers in work profile and non work
      profile setup. Verified the fast scroll bar works well in
      both setup.
      With searchbar: https://drive.google.com/file/d/19grUHL_LspLhMD_5p6-i0CiMW1FpflmD/view?usp=sharing
      Without searchbar: https://drive.google.com/file/d/1KRPgEAESHUhJDo1UJsQN80JO1c9Y8Nhl/view?usp=sharing

Bug: 179797520

Change-Id: If0016e3b3c693414897140e7912531ed9bd5deef
2021-02-26 10:03:36 +00:00