Commit Graph

1169 Commits

Author SHA1 Message Date
Steven Ng 239101c512 Merge "Remove unused widgets_scroll_container layout" into sc-dev 2021-03-04 23:22:17 +00:00
Yogisha Dixit b4c268ee28 Update app widget resize frame UI.
Mock: https://docs.google.com/presentation/d/1UxdDh8EFhPbdRWRwzjbpgL-j02ew4Ew3eG3XBCeoYdo/edit#slide=id.8YyBaHq
Implementation: https://screenshot.googleplex.com/BEFwWBmXXx8xXdS

I will update the drag handles in a follow-up CL since their specs
aren't ready yet.

Test: manual
Bug: 181774580
Change-Id: I19a99e6dbe106754da0fac56a5c2e7eb9eb90cef
2021-03-03 18:44:11 +00:00
Steven Ng ab522e85b2 Remove unused widgets_scroll_container layout
Test: Compile NexusLauncher successfully

Bug: 181701011
Change-Id: I35d1c9324990e86496c45ca6db5f32f9588c7279
2021-03-03 13:54:02 +00:00
Jonathan Miranda a9bb9394a5 Merge "More grid changes, closer to final specs." into sc-dev 2021-03-02 19:19:08 +00:00
Steven Ng c7537713ca Add widget description to WidgetCell
Full picker: https://screenshot.googleplex.com/8Dij79K8Pq2KWdm.png
Bottom picker: https://screenshot.googleplex.com/5f9TLra49dYJjLB.png

Test: Manually launch full and bottom widget pickers and observe
      description is only shown for widgets but not shortcut.

Bug: 179797520
Change-Id: I5bfde056906a4a0f4fff9bc9a488f808365173b3
2021-03-01 23:17:32 +00:00
Steven Ng 05cc458dbf Merge "Show widget previews in their expected cell sizes" into sc-dev 2021-03-01 10:10:15 +00:00
Steven Ng 11773f47d2 Show widget previews in their expected cell sizes
1. Show widget previews in their expected cell sizes.
2. Update the bottom picker to use a table layout rather than
a horizontal scrollbar.
3. Move the title and cell size description to the bottom of
the preview.

Test: Run AddConfigWidgetTest
      Manually open full and bottom widgets picker and observe
      widget previews.
      Video: https://drive.google.com/file/d/1K8A8hK5B4FgPTsX3cb-Yt4a_VjI0pk-w/view?usp=sharing
Bug: 179797520
Change-Id: I938612cb2e2477ce4a3a2d6c8891a0a36fc0978c
2021-02-26 17:47:32 +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
Jon Miranda e126d72fa8 More grid changes, closer to final specs.
* Added isScalable, minCellWidth, minCellHeight, and borderSpacing attrs

When isScalable is true, we use set workspace cell values to
minCellWidth/minCellHeight and then scale the cell values to
fit the available space. This allows us to have consistent
aspect ratios when two devices match the display/grid options.

This is different from the dynamic grid, which calculates
cell values based on iconSize/textSize/etc and then allows
the cell width to be as wide as space allows.

I adjusted some variables so that they will auto adjust
based on another value, indepenent from whether the
grid isScalable or not. An example of this is the folder
label text, where it's always set to be 1.14x of whatever
the workspace icon text size is. This is so we don't need
to add a bunch of more variables to DisplayOption/GridOption.

Bug: 175329686
Test: - switching between device profiles,
      - testing folder open/close
      - testing in multiwindow
      - testing in landscape
Change-Id: Ia469ae0d65b518469ef264b726db46f4a3210056
2021-02-25 17:34:56 -05:00
Steven Ng e8d92342fa Replace horizontal ScrollViews with tables in the full widgets picker
Test: Run gnl test, AddWidgetTest
      Run Robolectric tests for widgets
      Manual test video: https://drive.google.com/file/d/1uwCtVNIlC9150kv5eEfILfP5r5M7ARYm/view?usp=sharing

Bug: 179797520
Change-Id: I2f4cdf84338a91b63967879d0c9268c312ace19b
2021-02-24 19:49:15 +00:00
Steven Ng 391404fcb7 Add personal / work tabs for work profile widgets
Video: https://drive.google.com/file/d/1TORRNcvVM7fIvNd_WZaajLbI7D9z4VFA/view?usp=sharing


Test: Main profile only: run AddConfigWidgetTest.
      With work profile: manually launch the full widgets sheet.
      Go to the personal tab: only personal widgets are shown.
      Go to the work tab: only work widgets are shown
      Successfully add personal / work widgets from the full widgets
      sheet.

Bug: 179797520

Change-Id: Iad8b90c2af35e0580319d7a05510ec88e4f8b86c
2021-02-22 16:10:09 +00:00
Steven Ng 4236451069 Merge "Extract common codes for personal / work profile tabs" into sc-dev 2021-02-19 18:10:48 +00:00
Steven Ng 36322d8621 Merge "Render preview layout in full widgets sheet and bottom widgets sheet" into sc-dev 2021-02-19 10:31:19 +00:00
Jon Miranda 22679f8804 Update folder to new specs.
- Fix folder animation not lining up perfectly with foldericon.

Bug: 175329686
Test: manual check that the animation works as expected
Change-Id: I5c35525102e2ab7ca542bc08568706531e531890
2021-02-17 17:44:03 -05:00
Steven Ng b686972b7d Extract common codes for personal / work profile tabs
These codes can be reused in the FullWidgetsSheet which we will be
adding tabs for personal / work profile.

Test: Set up work profile and then switch person / work profile tabs
      in the AllAppsContainerView.

Bug: 179797520

Change-Id: Ib7eb1190e1384a664cbe3e34411c9362f1f6db03
2021-02-17 16:22:42 +00:00
Steven Ng 0be3a615d9 Render preview layout in full widgets sheet and bottom widgets sheet
Video: https://drive.google.com/file/d/1gRE0axaq6tm3R_gjSon0RR5lC8HCmwee/view?usp=sharing

Test: Install a sample app which provides a preview layout.
      Go to full widgets sheet to observe widget previews are correctly
      displayed for bitmap previews, layout previews and placeholder
      previews. Repeat the same for bottom widgets picker.
      Pin a widget from a sample app which provide a custom RemoteViews
      preview, observe the custom RemoteViews is correctly rendered.

Bug: 179797520
Change-Id: I2ccd1f77b54a2430d842ee25349fa6e54b9159dc
2021-02-16 19:34:03 +00:00
Steven Ng e92bc55d12 Make all widgets collapsed in the full widget picker by default
Changes:
1. Add a WidgetListHeader view for showing icon, app name and a subtitle.
2. Only WidgetListHeaders are always visible to users in the full widget
   picker.
3. Only one widgets list from an app is visible in the full widget picker
   at any one time.

Test: Auto: run add robolectric tests under widget/picker
      Manual: Open full widgets picker. Then, expand and collapse apps.
      Video: https://drive.google.com/file/d/1gzfeEm5IOAu0qHsO77OTS2eMfU7CHJiL/view?usp=sharing

Bug: 179797520
Change-Id: Idac58be23dfeafcb79b3c61b4972d3addb462de1
2021-02-15 17:46:38 +00:00
Steven Ng 2f5648a911 Refactoring before adding a new view type in the WidgetsListAdapter
Changes made:
1. Model: added an abstract class for storing common information for
   entries shown in the full page widgets picker.
2. Introduced a ViewHolderBinder interface to split the logic of binding
   data to ViewHolder into separate classes.
3. Move the view holder binding of WidgetsListRow from WidgetListAdapter
   to its new class.
4. Move some widgets picker classes into a new picker package.

Test: Auto: Run WidgetsListAdapterTest, WidgetsListRowEntryTest and
      WidgetsListRowViewHolderBinderTest.
      Manual: open the all apps widgets tray and navigate the list.

Bug: 179797520
Change-Id: Iab29557842bb79156cad84d00a4c5d0db0c5aa06
2021-02-10 21:23:40 +00:00
Sunny Goyal a4647b681f Adding support for keyboard based drag and drop
For keyboard DnD, we use Accessible DnD implementation.
A placeholder FloatingView draws the focus indicator
for the virtual views

Test: Visible
Bug: 178781566
Change-Id: I632fc7377dffa1e05e3f0a9c3ad18641deb5a1a4
2021-02-05 13:05:24 -08:00
Sunny Goyal b18501402c Merge "Fixing preview rendering in device search mode" 2021-01-15 19:20:26 +00:00
Sunny Goyal e733e79946 Fixing preview rendering in device search mode
When the flag is disabled, search box may not show in preview

Bug: 177500166
Test: Presubmit
Change-Id: I064ba6ca22e71030056a4ceafea27e6ef0517d01
2021-01-14 14:17:13 -08:00
Samuel Fufa fd58d23cdf Migrate from Plugin SearchTarget to API search Target [1/3]
Setup architecture for separation between aosp and quickstep search as setup for switch to android.app.SearchTarget

Bug: 177223401
Test: manual
Change-Id: Iefd069a34d5e5551bf731e9171958e93377774aa
2021-01-12 19:46:25 -06:00
Schneider Victor-tulias da5e714ca1 Fix homescreen deep shortcuts text spanning two rows.
Deep shortcut text can span two lines on certain languages. Set translation character limits and increased options popup width.

Fixes: 175698383

Test: manual

Screenshot: https://screenshot.googleplex.com/4BArwKVSFg3VbTc.png
Change-Id: I263b859246fa6475591a65f92189e41a920beefe
2021-01-06 16:39:58 -05:00
Sunny Goyal 9b1e77377b Removing shelf from 2-button gesture mode
Test: Manual
Bug: 175137718
Change-Id: Ifb64b4dcac53252aefa8ee0bd6434f90f1d868b7
2021-01-05 19:07:21 +00:00
Samuel Fufa 9ee4e86cf8 Merge "Search support for widgets with config activity" into ub-launcher3-master 2020-11-11 16:21:01 +00:00
Hyunyoung Song 5278e85c4c People row text size fix
Change-Id: I912f8d41bf49215988f37a2405086bf4d737af99
2020-11-10 10:39:54 -08:00
Samuel Fufa ffd2b6d25e Search support for widgets with config activity
Shows widget preview in search if widget requires config.

preview: https://drive.google.com/file/d/1q1ROu7-OUGfskDMRxXPNQMdr3T-WMMkv/view?usp=sharing
Bug: 168321831
Test: Manual
Change-Id: I6c1c168ebac4ce33a4234e8a417eba789f664f43
2020-11-10 10:16:02 -06:00
Samuel Fufa 3116dc918f Resolve search scroll hightlight issue
After getting the index of the first item that should be highlighted, Section decorator should not assume getChildAt(index) will return item at position. Instead use findViewHolderForAdapterPosition.

Bug: 170665892
Change-Id: Id81d021bde8868184013e8d51e49af7842b64125
2020-11-09 16:35:43 -06:00
Samuel Fufa a204de7d12 Merge "Initial setup for widgets in Search" into ub-launcher3-master 2020-11-09 18:33:51 +00:00
Hyunyoung Song 003859cdd0 Show remote action's description in SearchResultIconRow
Validated against Pixel Tips corpus

Change-Id: I3c3f8eb69007a97e55e2ef08e7f4e0b800bfe247
2020-11-09 01:38:20 -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 984e0d0a63 Show settings icon at start of settings results
Bug: 170792963
Test: Manual
Screenshot: https://screenshot.googleplex.com/MVBtDZGtQ3aChwU
Change-Id: I16a28a7bd9e3129b40102e020cd7c0111e6fe29b
2020-11-06 10:14:41 -06:00
Samuel Fufa 6e5efb0929 Consolidate Hero search result with SearchResultIconRow
With this, we can now show app title and support drag/drop for shortcut results.

Bug: 172245107
preview: https://drive.google.com/file/d/1A4eKKTDPht-MDbfA2VFI3OuAO36fc3AS/view?usp=sharing
Change-Id: Icf94a2d23b44bfe5527aea71e27178906e5deb3e
2020-11-05 11:57:35 -06:00
Hyunyoung Song 9fc27da5f8 Settings/Play/Suggest layout polish
Bug: 170792963
Bug: 170750779
Change-Id: I69b09f5360e165c3b1b33e259cdd0f390ce6fa60
2020-10-27 16:45:54 +00:00
Andy Wickham 1027468233 Makes Plugin Settings gear adjust to dark mode.
It wasn't visible in dark mode before because it was
black on black. This makes it adjust automatically.

Change-Id: I5176cffc01842509ddafc4f30ff5029a0c4b8050
2020-10-19 19:06:52 -07:00
Samuel Fufa 314761a808 Setup SearchResultIcon for single cell results
SearchResultIcon will be able to render apps, shortcuts and remote actions. It can also handle its own focused state drawing.

Screenshot: https://screenshot.googleplex.com/C3KgjJtLQTBPgaf

Bug: 170752716
Test: Manual
Change-Id: I460a9c128ea3f5814784e342c5d5fa5b7e310882
2020-10-15 14:32:19 -07:00
Samuel Fufa 2afcab804b Search UI clean up
- Resolve spacing issue when work profile is installed
- Cache play icons and use icon shape
- Only draw focus indicator for the first result

Bug: 170487752
Bug: 170665892
Change-Id: I864d2e796786637132e127ef9b418c0a76c74d6e
2020-10-12 16:19:41 -07:00
Hyunyoung Song b5334e3f07 Improve search section header
Change-Id: I47cf207f0d0ab792c0e7a47c9d1185eec087ec88
2020-10-09 00:50:48 -07: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
Samuel Fufa 565ed4ff69 Update Search UI
[preview attached to bug]

Bug: 169438169
Test: Manual
Change-Id: I085f3dd38ac373c1afab82a637ec08715a6e0cc5
2020-10-06 14:44:53 -07:00
Hyunyoung Song f271139682 Thumbnail/Suggest view type support remote action
Bug: 169330678


Change-Id: I629d3e6b1622bf71e0174eb2489e976ef98875ad
2020-09-29 02:03:48 -07:00
Samuel Fufa 02be2a43f5 Support Remote actions
Bug: 168846477
Test: Manual
Change-Id: I7b9dc96bc7a8ccb25ccb4b7135880768256f1ef3
2020-09-24 14:28:49 -07:00
Hyunyoung Song b3a0f1ffc0 Add thumbnail viewtype to SearchTarget
Bug: 168825522

Change-Id: I012665ef5e5ac66f37f9bdb37d55cc47726b29a9
2020-09-22 10:54:33 -07:00
Samuel Fufa d099d24807 resolve invalid size variable issue for people view
Change-Id: I176a4de9536a7724a07c4e953f124b0c1691fe1b
2020-09-14 09:23:12 -07:00
Samuel Fufa 35f9150a67 Support People search result in launcher
NOTE: this uses PackageManager and should be removed after people<>shortcut mapping in search provider.

Bug: 166337069
Test: Manual
Change-Id: I016ff0d5e6ada1599cce3d75bdcd55347c85193e
2020-09-09 10:37:27 -07:00
Samuel Fufa 7aa577d883 Show independent shortcuts from Hero view
Test: Manual
Screenshot: https://screenshot.googleplex.com/6iQGEZADXf9PtWz
Bug: 165320033
Change-Id: Ib8db1fc34da4adc39f3bec5557223a1e283380dd
2020-09-08 13:24:46 -07:00
Samuel Fufa a2d6a91be9 Support settings search in AllApps
[preview attached to  BR]

Bug: 166044087
Test: Manual
Change-Id: I997fc1c7e2e2c500f64858df9ccea4911e05d649
2020-08-25 21:40:38 +00:00
Samuel Fufa 114de69c98 Introduce support for play results in launcher
Introduces PluginSearchPipeline class, a plugin listener for AllAppsSearchPlugin. Coverts from List<Bundle> results from callback to AdapterItems to be rendered in SearchController.
- Moves AdapterItem to AllAppsGridAdapter

Bug: 164699827
Test: Manual
Change-Id: I20ec147e6b3f4707cf69d62b4b4ac70a90196345
2020-08-18 11:34:09 -07:00
Samuel Fufa 4a53c70c57 Introduce support for Hero app Section
[Video attached to bug report]

Bug: 162871508
Test: Manual
Change-Id: Ia6f5621d6220f55e6fd5e56530853c267838442c
2020-08-07 17:29:19 +00:00
Samuel Fufa e8bea3ea7a Allow search results decoration [part 2/3]
[Video attached to bug report]

Bug: 162480567
Test: Manual
Change-Id: Iff285abde5b2a3f3f3a63e7318020cfe7572af49
2020-08-04 10:28:28 -07:00