Commit Graph

65 Commits

Author SHA1 Message Date
Steven Ng 24c16de329 Use 32dp as the content margin for widgets pickers in large screen
devices

Test: manual
Bug: 194369046
Change-Id: I7376eab59d57bdd9ccc8a64e9f321358e09ee579
2021-07-27 12:00:52 +01:00
TreeHugger Robot c48e4fa64d Merge "Measure WidgetsFullSheet before estimating the recommended table size" into sc-dev am: 6a01fe49a5
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/15359118

Change-Id: I0004e2f55347e018fa553f8b56c26a754a93e0f1
2021-07-22 19:11:55 +00:00
Steven Ng a606d344a6 Measure WidgetsFullSheet before estimating the recommended table
size

Issue: The header view height was obtained before any measurement.

Test: On Pixel 5 4x5 gird with Photo widget shown in recommended
      table, make the device in landscape. Then open the full widgets
      picker. The widgets picker can be scrolled. Before this fix,
      scrolling is not possible.
Fix: 194172597
Change-Id: Ib30cf4b95d2ed23ff28f3d24e103f0e919b3a551
2021-07-22 16:08:15 +01:00
Steven Ng 452e8b8512 Correct # of cells estimation that can fit horizontally in widgets
picker

Fix: 192661517
Test: check widgets are fit correctly in both full & bottom widgets
      picker in portrait and landscape in different grid settings.
Change-Id: Ic1b0589b7ccf62ff1ec1fd5713b4249ba58246a5
2021-07-08 16:23:38 +01:00
Alina Zaidi 57973c328a Make sure search recycler view is bound to fast scroller if user is
in search mode at the time of attachment of work/personal recycler view.

Bug: 191980945
Test: Tested manually.
1) Open widget picker, scroll.
2) Enable dark mode, scroll.
3) Type search query, scroll.
4) Disable dark mode, scroll.
5) Have work profile in phone and repeat the above with work tab open
and search.

Change-Id: I106717091a88868c4bbe3fad0dd71c8344e9c8ed
2021-06-29 16:32:32 +01:00
Steven Ng fbe1836627 Extract common measurement in widgets pickers to its base class
Bug: 191644950
Test: 1. Open the full widget picker. Observe the clock widgets'
         previews are shown properly. Then, rotate the screen and
         observe the clock widgets' previews are shown properly.
      2. Open the bottom widgets picker for clock. Observe the
         clock widgets' previews are shown properly. Then, rotate
         the screen and observe the clock widgets' previews are shown
         properly.
      3. Repeat 1, 2 after changing the system navigation from button
         to gesture.
Change-Id: I564fc2ce0baf3103ae77499380ad69ec38ac6930
2021-06-28 14:55:27 +01:00
Alina Zaidi e92c63f45b Remove scrim from navigation bar from full widget picker.
Bug: 191926325
Test: Manually tested
Change-Id: Idc5fded9e8227a6aa9cf58c9e2cce146dc52a2c6
2021-06-24 20:20:05 +01:00
Yogisha Dixit 4ff5ee3a8f Add new log events for widgets.
Design doc: go/widgets-logging

Bug: 185778648
Test: manual
Change-Id: Ia3c6edb87766a33e77865e9461e7101a1df864c1
2021-06-04 14:52:37 +01:00
Alina Zaidi 8a8c36cca9 Merge "Add more education tips for widgets. (2/3)" into sc-dev 2021-06-01 17:34:18 +00:00
TreeHugger Robot 04ef35f854 Merge "Further adjust work profile tabs paddings in the widgets picker" into sc-dev 2021-06-01 13:13:03 +00:00
Alina Zaidi f2c79dea0d Add more education tips for widgets. (2/3)
Show education dialog on WidgetsFullSheet.
-Have a button in widget education dialog to intent into PixelTips apps.
-Make sure arrow tip view shows after dismissing education dialog on
WidgetsFullSheet if there is a widget to show it on.
-Update colors and layout for arrow tips.

Test: Tested manually
Bug: 185354491
Change-Id: I5cbdd02fc4f19a49a42dac4451b071e3d604747f
2021-06-01 13:58:18 +01:00
Steven Ng a0d49dcfb4 Further adjust work profile tabs paddings in the widgets picker
Test: Open widgets picker and observe tabs paddings are correctly set.
Bug: 188872382
Change-Id: Ib6a735bf2b0710f86b8641533cadb27116049341
2021-06-01 11:40:36 +01:00
Stevie Kideckel 47f935dbbe Add the DefaultItemAnimator, without change animations
Change animations cause the addition of another view to be able to
crossfade/interpolate the two. Disabling change animations prevents us
losing the focus when a header row changes due to expanding or
collapsing.

Test: verified locally
Bug: 183378651
Change-Id: I07837b41748b5206936321c08d376069fa81b363
2021-05-26 17:08:18 +00:00
Alina Zaidi e6521ad542 Merge "Add more education tips for widgets. (1/3)" into sc-dev 2021-05-25 17:35:27 +00:00
Alina Zaidi 9d24de1353 Add more education tips for widgets. (1/3)
Show Arrow education tip on WidgetsBottomSheet. This tip is shown only
once either in widgets full sheet or bottom sheet.

Test: Tested manually
Bug: 185354491
Change-Id: I6d770ed0906a5cb0f5bcfe6ae0cd327b790cf164
2021-05-25 10:50:02 +01:00
Steven Ng ede641bd77 Adjust padding, margin of tabs in the WidgetsFullSheet
Also remove elevation set to tab to remove unwanted shadow.

Test: Set up a work profile. Then, open the full widgets picker.
      Observe padding & margin of the work / personal tabs.
Bug: 188221455
Change-Id: I761cb1c1410f87c80a5fdca3803fb8b099d499d6
2021-05-24 11:40:16 +01:00
Alina Zaidi 260c38c4a0 Align 'No widgets available' text box properly in Widget picker.
Bug: 186209657
Test: Tested manually
Change-Id: I85fa43cd745a8c9f9601d25ed3a35f512506234d
2021-05-21 10:49:03 +01:00
Steven Ng 9f194ee290 Merge "Clear widgets search bar focus when the user taps outside the search bar" into sc-dev 2021-05-21 08:52:50 +00:00
TreeHugger Robot 45f7360432 Merge "Animate recommended widgets vertical transition when reset widgets picker scroll position" into sc-dev 2021-05-21 02:02:47 +00:00
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 1a55d1ff37 Widgets: Only reset expanded item & scroll to top if the user switch tab
Test: Open widgets picker, then adb install an app that has widget.
      Observe the newly installed app widget is shown and the widgets
      picker doesn't scroll itself back to top.
Bug: 188425375
Change-Id: I7ac29f08b06d528ef64e902e678a67e56971c681
2021-05-19 15:32:54 +01:00
Steven Ng 66034efaae Clear widgets search bar focus when the user taps outside the search bar
Test: Focus widgets search bar. Then tap outside the search bar and
      observe the keyboard is being dismissed.
Bug: 188540267
Change-Id: Ica1b5b804ed97dd0b1cd8d41351eddcf5249ded0
2021-05-19 11:31:09 +01:00
Steven Ng c47d8a027d Merge "Add a scrim underneath the top section of search & recommendation UI" into sc-dev 2021-05-17 17:51:41 +00:00
Alina Zaidi d80cec62b4 Modify pin widget dialog open-close animation.
Pin widget sheet should open from bottom up and close on drag down.
Behaviour with navigation bar is similar to that of widgets bottom sheet.

Add a drag layer and reuse AbstractSlideInView for open-close
animation.

Test: Tested manually- opening, closing through dragging/ cancel button/
back button. Adding widget to screen by dragging/ add to home screen
button.
Bug: 186124244

Change-Id: I4b77d5bdd4ed1689b651847dfed69d19cafa7456
2021-05-14 17:59:50 +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
Samuel Fufa f94540b28a Merge "[WorkProfile] Update work/personal tab to pills" into sc-dev 2021-05-06 23:33:06 +00: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
Samuel Fufa db9b483c02 [WorkProfile] Update work/personal tab to pills
Bug: 186857875
Test: Manual
Screenshot: https://screenshot.googleplex.com/89jD32tHqNkBUWb
Change-Id: Ia4bb91372896d8a53017e3eadbe985878ce7f0ec
2021-05-03 10:53:33 -05:00
Steven Ng 3417c1d22b Remove debugging logs from the full widgets picker
Test: None
Bug: 185508758
Change-Id: I2958118abc9d4f3778aaf6c3e3df01b0712354dc
2021-04-28 19:27:40 +01:00
Alina Zaidi 9f531ee6c4 Always check for availability of widgets before changing visibility of
recycler view and no widgets view.


Bug: 186117900
Test: Tested manually
Change-Id: I57ac95fee935a54ce70f5793f0b0686b549cbf9e
2021-04-28 10:36:46 +01:00
Alina Zaidi 80732f89e7 Fix some widget picker recommended widgets bugs.
- Bind recommended widgets only when not in search mode. (b/183503774)
- Bind recommended widgets in onAttachedToWindow, Recommended widgets
are available in PopupDataProvider at this point. (b/185461866)

Bug: 183503774
Bug: 185461866
Test: tested manually
Change-Id: If24e5b2b3e69a695821b5f7d9f42ff4c89ae62fc
2021-04-21 15:26:01 +01:00
Steven Ng 8c8d99f966 Fix flaky widget tapl tests
Potential issues:
1. Widgets floating tips view is being shown
2. Header visible height is too small to be considered as a scroll
   gesture

Test: Run AddConfigWidgetTest, AddWidgetTest, BindWidgetTest &
      RequestPinItemTest
Bug: 185733371
Change-Id: Ic3e9188724dd920349ce8d8e8d98392b94b40642
2021-04-20 23:01:19 +01:00
Steven Ng 9ad5b60c6c Merge "Use availableHeightPx to calculate the max height for recommended widgets" into sc-dev 2021-04-20 10:33:32 +00:00
Alina Zaidi b89c991bab Merge "On exit search in widget picker, make recommended widgets table visible only if recommended widgets are available." into sc-dev 2021-04-20 09:54:29 +00:00
Steven Ng 769a14ef34 Use availableHeightPx to calculate the max height for recommended widgets
heightPx doesn't take device orientation and system taskbar into account.

Bug: 185508758
Test: Open widgets tray, observe recommended widgets. Rotate the screen
      and observe recommended widgets.
Change-Id: I96f1817f96ba643e54e1d2599225254489091d03
2021-04-19 22:06:38 +01:00
Alina Zaidi 1869a9868c On exit search in widget picker, make recommended widgets table visible
only if recommended widgets are available.

This fixes missing scroll bar on exit search issue (b/183616305)

Bug: 183616305
Test: Manually tested
Change-Id: I3ced5fb2f833f3d34b7dfd376bb4b7c231bc28f6
2021-04-19 20:02:17 +01:00
Alina Zaidi 45b8e48a69 Merge "Only setup widget adapters once after inflation" into sc-dev 2021-04-17 19:15:11 +00:00
Steven Ng 29f6b0ba05 Add debug logs for widget recommendation down scale calculation
Bug: 185508758
Test: None
Change-Id: I0b4789075bcc5ffc26f30dcd483f7c97bee9f410
2021-04-16 18:39:45 +01:00
Steven Ng ffde1471e4 Only setup widget adapters once after inflation
Bug: 185587905
Test: Switch to a new Guest user. Then, quickly open the all widgets
      picker and scroll to the bottom. The widgets picker no longer
      scroll to top even after app icons are loaded.
Change-Id: I1ffef95af56935d101d12520a20be97931d1429d
2021-04-16 18:02:23 +01:00
Alina Zaidi 1e849a95f9 Merge "Add education tip to widget picker." into sc-dev 2021-04-13 19:26:30 +00:00
Alina Zaidi 120d6476f6 Add education tip to widget picker.
A tip is shown on the first widget/shortcut in the recommended table.
If there are no recommended widgets, a tip is shown on first widget
in an expanded header.

There is a delay of few milliseconds, to let the WidgetCells be
completely rendered on screen before getting their location.

Test: Manually tested
Bug: 184920163
Change-Id: I2637e84e7fc467b27888023434e3578a4b8ed4d6
2021-04-13 16:47:04 +01:00
Alina Zaidi 1ccd7efaf0 Fix UI bugs for widget picker search.
- Mirror search icon in RTL (b/184162989)
- Fix spacing between edit text and cancel button, to make it consistent
with space between search icon and edit text. (b/183602001)
- Scroll to top on every search result. (b/183602001)
- Fix keyboard overlap on orientation change. This is fixed by clearing
text on edit text differently (b/184048899)

Test: Manually tested
Bug: 184162989
Bug: 183602001
Bug: 184048899
Change-Id: I72ed51e1968a55a3105bd8b389d1bbd74d50d8af
2021-04-13 10:41:18 +01:00
Sunny Goyal ce6cc7e705 Simplifying widget search pipeline
Bug: 183607616
Test: Verified on device
Change-Id: I3e5dd9e280f375475d1e1cf41dff6e6533175ebf
2021-03-30 16:54:34 -07:00
Sunny Goyal c5797893e7 Using edgeEffect for overscroll in all-apps and widget tray
Bug: 183966408
Test: Manual
Change-Id: Iea1b67504fc59fc7ce2ec657bf8ac7e3d8bfff1c
2021-03-29 12:35:39 -07:00
Alina Zaidi 2cff164be2 Clear focus from search bar whenever a header is clicked in search adapter.
Test: Manually checked
Bug: 183398749
Change-Id: Ie91312ae1e62c6427e3397d1e5f60bc812a790ee
2021-03-24 09:52:45 +00:00
Alina Zaidi 76060eb11b Bug fixes for widget picker search (2/n)
- Dismiss keyboard when user starts to drag widget picker
- Add content description for cancel button

Test: Tested manually.
Bug: 183211445
Bug: 183106676
Change-Id: Ie620c3d50a49d8380f316d48e4ee8ebced6de5eb
2021-03-23 12:53:23 +00:00
Steven Ng f3814eea2d Merge "A11y fix for all widgets tray (Part 2 / n)" into sc-dev 2021-03-22 10:22:54 +00:00
Steven Ng e85b5565c6 A11y fix for all widgets tray (Part 2 / n)
Fix the focus change when expanding / collapsing an app in
the all widgets tray by adding stable ids and disable item
animator.

Item animator is also disable even accessibility isn't enabled
because the default item animator also disrupts the header
padding. It also makes the expansion / collapsing of widgets table
very unpredicible.

Test: Navigate all widgets tray with talkback on.

Bug: 183120145
Change-Id: Ib1e2ea4d543757248e635a834204db688532cbfa
2021-03-19 23:58:19 +00: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 c4f3f49805 Fix bugs for Widgets picker Search UI.
- On orientation change, clear search bar.
- Change text and search bar color to make similar to mocks/ all apps search bar.
- Fix search recycler view visual bugs.
- If back is pressed in search mode, exit search mode instead of exiting widget picker.

Test: Manually seen widget picker on phone.
Bug: 183103133
Bug: 183103936
Bug: 183115050
Bug: 157286785
Change-Id: I056f089eada84d00133038f4a3d7b18bc51be564
2021-03-19 14:42:47 +00:00