Commit Graph

6493 Commits

Author SHA1 Message Date
Steven Ng bcab2a808a Add shortcuts count as a subtitle in the full widgets sheet
Screenshot: https://screenshot.googleplex.com/9Ds55rsFSNajLWN.png

Test: Open full widgets sheet and observe widgets and shortcuts
      counts are correctly displayed.

Bug: 180725078
Change-Id: Ibf43c14cc06c0e9bf245c53f190095d0eaeace12
2021-03-05 09:54:56 +00:00
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
TreeHugger Robot 3be39aa0b9 Merge "Update ArrowPopup to accommodate more rounded dialogs." into sc-dev 2021-02-26 22:17:40 +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
Zak Cohen 452005a14e Update ArrowPopup to accommodate more rounded dialogs.
Adjusts layouts to accommodate more rounded dialogs, includes adding a
new rounded triangle drawable that can be clipped by a rounded rect.



Bug: 179922117
Test: checked all instances and RTL
Change-Id: I4c2f0ead0fd56eba14ffd9b82f0c100f7d92ef5b
2021-02-25 16:59:55 -08: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
Lucas Dupin 85df1c291f Merge "Overlay property instead of style" into sc-dev 2021-02-23 19:10:12 +00:00
Lucas Dupin 3cdc6f86af Overlay property instead of style
Overlaying the whole style with sw720dp will override dark theme styles.
Let's instead define the attribute that needs to be different and put it
in a config xml.

Test: set smallest width to 720, flip to dark theme
Fixes: 180003967
Change-Id: I423f3401b612e7e87a63f3f14f972b9d863d8a17
2021-02-22 16:34:51 -08: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
Hyunyoung Song dfdeddc66a Merge "Add group highlighting to AA+ result" into sc-dev 2021-02-19 20:48:37 +00:00
TreeHugger Robot aa14b19725 Merge changes Id68b6c37,I16d39d3e into sc-dev
* changes:
  Fix a couple of crashes when taskbar isn't yet attached
  Subtract taskbar size from DeviceProfile#availableHeight
2021-02-19 19:01:38 +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
TreeHugger Robot fed6b8cb5c Merge "Update popup container to match spec." into sc-dev 2021-02-19 17:40:01 +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
Tony Wickham 15883891ea Subtract taskbar size from DeviceProfile#availableHeight
Normally availableHeight excludes system insets, but taskbar is added
after availableHeight is calculated. This discrepency causes some bad
calculations such as TaskView size.

Test: touch nav bar when in an app with taskbar present, ensure the
task doesn't jump due to incorrect calculation

Fixes: 179478728
Bug: 171917176
Change-Id: I16d39d3e1d9708e2a64c81b1ac24466f9567d1b9
2021-02-18 11:39:10 -08:00
Jon Miranda cabc13a376 Update popup container to match spec.
Bug: 175329686
Bug: 178935485
Test: manual
Change-Id: Ia7507bd4dd6c6db0cdd6a29a0c1d0695aae7d488
2021-02-18 14:11:41 -05:00
Hyunyoung Song db9a53d9aa Add group highlighting to AA+ result
Bug: 180071886
Test: manual
Change-Id: Id1cc3d7400e1a7fe41af272d689aa9315030b420
2021-02-18 02:19:27 -08:00
Jonathan Miranda 26311d9850 Merge "Update folder to new specs." into sc-dev 2021-02-18 03:14:50 +00:00
Lucas Dupin 2db3ded7f9 Merge "Conform to new naming" into sc-dev 2021-02-17 23:25:02 +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
Sunny Goyal 3c5e748b36 Merge "Removing menu and dialog for custom actions hanlding. These do not work well with gesture-nav and can potentially block the Launcher UI." into sc-dev 2021-02-17 21:40:26 +00: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
Lucas Dupin 2cdc6bae39 Conform to new naming
Resources were renamed from main/accent to primary/secondary.

Test: make
Bug: 171916625
Change-Id: Ic71cf716eba9f57d27869dffa501219c41c999ec
2021-02-16 17:47:33 -08: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
Sunny Goyal 384b578ab2 Removing menu and dialog for custom actions hanlding.
These do not work well with gesture-nav and can potentially
block the Launcher UI.

Instead exposing on custom actions with keyboard accelerator and
using thee internal arrowPopup for resize options
Fixing SecondoryDropTarget not sending appropriate stats log

Bug: 179854703
Test: Verified on device
Change-Id: I268690f8a937896e4350496128a38959003f8939
2021-02-16 10:45:06 -08:00
Jonathan Miranda 8dd4ddc7ae Merge "Add border spacing and fixed cell height to grid." into sc-dev 2021-02-16 18:38:38 +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
Jon Miranda 228877d37c Add border spacing and fixed cell height to grid.
- Border spacing is the spacing between the cells.
- Workspace cell height is now fixed, and we allocate
  all the "extra" space to three different variable height
  areas.

* Built behind ENABLE_FOUR_COLUMNS flag because it hinders the
default grid.

Bug: 175329686
Test: - set border spacing to 0 and confirm matches prior layout
      - test drag and drop still worked
      - test reordering
      - test widgets
      - test folders
      - test multiwindow

Change-Id: Ic6f3dff577d28ff214bda4b0a787ec7fd08c108b
2021-02-10 17:22:37 -05: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 3186fbaed4 Merge "Adding support for keyboard based drag and drop" into sc-dev 2021-02-06 02:55:06 +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
Lucas Dupin 468646cad7 Merge "Style updates" into sc-dev 2021-02-05 17:57:20 +00:00
Lucas Dupin 993fed2346 Style updates
- Make pop ups use system colors
- Text colors in dark theme should also use system colors

Test: visual
Bug: 179427049
Change-Id: I9c0eb2b6970ff9bf66fe1d5c0040b10bfa2087b0
2021-02-04 17:16:08 -08:00
Tony Wickham 794fe4f58e Add Hotseat items to Taskbar
- Currently supports WorkspaceItemInfo (e.g. normal app icons
  including hotseat predictions and pinned deep shortcuts).
- Currently doesn't support Folders, Notification dots, or
  long press.

Some technical details:
- Always allow HotseatPredictionController updates given the
  Hotseat is always showing even when Launcher is stopped.
- Represent Taskbar Hotseat items as BubbleTextViews, to
  allow for normal click handling etc. When the hotseat is
  updated, we reuse the same BubbleTextViews that were
  initially inflated, and just reapply the new info.
- Add new BubbleTextView iconDisplay for Taskbar, to allow
  for different treatment such as icon size.

Bug: 171917176
Change-Id: I325eb39051f2dc69228b39b5c40ed0cbdad8e200
2021-02-01 18:29:06 -08:00
Schneider Victor-tulias 5f7f4cb35d State download information in content description whether or not there was an update.
Talkback wasn't announcing the incremental download/install progress if the progress wasn't updated. Updated BubbleTextView to update the content description with the incremental download/install info if the progress bar should be shown.

Fixes: 149444435

Test: manual
Change-Id: I3efe6e31cec389da4119a2179a341aedd074a0b7
2021-02-01 19:01:11 +00:00
Lucas Dupin 29cd327066 Inherit theme colors on app drawer and folder
This way, changes on Theme.DeviceDefault will be reflected on launcher
as well.

Bug: 173561945
Test: visual
Change-Id: I297560253242476f34c47fcd845c44e96873a8b2
(cherry picked from commit fc82c5a920)
2021-01-27 16:24:58 +00: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
Schneider Victor-tulias 20bbaa3390 Add additional fake task views on overview gesture completion.
Added motion pause listening to animate an additional fake task view on overview gestures in the sandbox.

Test: manual

Demo: https://drive.google.com/file/d/1EpewbIAxiMUEz0Fqdfbok5q9xpWS6NWz/view?usp=sharing
Change-Id: Ifd0aed0a2bbb3204ae32c833b8466952679700e3
2020-12-22 16:10:09 -08:00
Samuel Fufa 2ea01e4871 Separate QSB from on device search
Bug: 175125073
[Preview attached to BR]

Change-Id: If967d95e32b58263ede5eb8a3c1b773cef789f28
2020-12-09 12:46:30 -06:00