This change adds the click listener to the cell itself as well as
the preview, so that clicks anywhere in the cell will show the add
button. Only long clicks on the preview image will start the
drag-and-drop (current behavior).
Bug: 323886237
Test: manual tap on Widget cell
Flag: ACONFIG com.android.launcher3.enable_widget_tap_to_add TEAMFOOD
Change-Id: I23b9b1261979971deffcf1132d95bd6a03c92c47
Scroll to show WidgetCell when it is tapped in a widget sheet.
Otherwise, the add button may show/hide without the user seeing
it if the bottom is clipped.
Bug: 329861721
Test: manual- tap WidgetCell when top or bottom is scrolled out of view
Flag: ACONFIG com.android.launcher3.enable_widget_tap_to_add TEAMFOOD
Change-Id: Ie21730c193e845cb1c1fa447b7c0a7e719984a8f
In most cases, cropping image-based previews to just fit width leads to
degraded UX. Instead we try to fit them to the widget size if possible.
* Before: See attached bug for examples of cropped previews.
* After: http://screen/Bg7Eoydr4qBQdVZ
Additionally center align previews vertically for non-categorized
suggestions too.
Bug: 319152349, 317366201
Flag: N/A
Test: Includes a unit test & manual with the child cls
Change-Id: I4447f99028129d5d5379ead9ca404f7a011d1551
When differently-sized widgets OR widgets of same size but not filling
space in previews are shown side by side, the top alignment looks odd.
Besides, in the updated UX, we want them to be center aligned.
Bug: 318410881
Bug: 319152349
Flag: N/A
Test: Screenshot update in cl chain.
Change-Id: I52cd7d6a1b5397a3c4c9dea8b072792b3211a8d3
The PendingAnimation gives us more flexibility than the AnimatorSet.
Test: Manual
Bug: 289290185
Flag: No
Change-Id: I3156a659098c44ce9e6b20e5e79e88742add629a
Subclasses can add more animations to the set to animate other
components in sync with themselves.
Test: Manual
Bug: 289290185
Flag: No
Change-Id: I96d9afe166e243bb0d2a9cecb8158e2e7d431a6c
1. setClipChildren(false) for WidgetFullSheet and content view during animation
2. setClipToOutline(true) for WidgetsRecyclerView and provide ViewOutlineProvider to expand bottom by 5% of height
3. Override calculateExtraLayoutSpace() for ScrollableLayoutManager
4. Manually modify AbstractSlideInView#mContent's background drawable during scale animation
bug: b/260956481
Test: manual
Change-Id: Ic391639de887cf4a70bc4965dc0b1fd9bc12dd2c
Check the size of the scrim and draw on the bottom of AllApps and Widgets.
Add a padding to the bottom of AllApps and Widgets so content is above the scrim.
Change the color of nav buttons for better accessibility.
Correct width of the Widgets sheets to be the same as AllApps sheet.
Fixes: 221107977
Fixes: 214215594
Test: manual, HSV and Window
Change-Id: Ib7510ffcd80231de7fefcdef65b422174dd74593
This is to show them in ranking order sent by aiai.
Bug: b/201079509
Test: Added unit test in WidgetsTableUtilTest
Change-Id: I366ecaee8bc157aca185f633462d95fbd1dd180b
> All previews are generated on demand when the corresponding
header expands
> Using ItemAnimator to animate layout changes when preview loads
Bug: 196238313
Test: Manual
Change-Id: I0cb859c8443c2c536399e4063f58baecfc7416ad
Shortcut size should be the size of all apps icon + padding
Test: Check shortcuts and widgets are shown without crash in the
following surfaces with display & font set to largest and
display cutout enabled. Repeat the same test with normal
display setting and no cutout.
1. Full widgets picker
2. Bottom widgets picker
3. Pin widget dialog
Fix: 193422438
Change-Id: Ibfebf94e92eed5e9cd1dd4196d98823b0e4dda6b
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
Test: manual
(1) Upgrading to new DB version is successful (no errors thrown in logcat)
(2) Widgets that were added with the old DB version have CONTAINER_UNKNOWN as their source container
(3) Widgets that are added with the new DB version still log source container after reboot
Bug: 185778648
Change-Id: Iaa38f0be6bc4cb0d29842f9a2ea0d08de000c930
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
Bug: In onMeasure, we calculate the number of spans that can be fit
horizontally. If the number of spans has changed, we re-organize
widgets shown in the table. However, after that, we didn't measure
WidgetsBottomPicker and its children again. As a result, the newly
added widget previews' dimensions are never measured.
Test: Long press clock app and then click widgets. Rotates the screen
and observe widgets correctly shown.
Fix: 191644950
Change-Id: Iae94fba5b137807483e061d785b18d59defb013e
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
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
Test: Go to contact bottom widgets picker. No collapse handle is
shown because the content isn't scrollable. Go to Google calendar
bottom widget picker. Collapse handle is hown because the content
is scrollable.
Bug: 185134663
Change-Id: Ic6109c055a072aa1cf3521f829833fd5f4cece0f
Reset the inset upon orientation change
Test: Open bottom widgets picker. Rotate the screen from portrait
to landscape and then back to portrait. Observe the correct
inset is set.
Bug: 183601302
Change-Id: I88432a49b2601df843fe33911fd7acdde66d06c4
Popup container shouldn't intercept the scroll event if its child
scroll view isn't scrolled to the top yet.
Test: manual
Bug: 183599207
Change-Id: I434ba5e91b154e9862f22c08cd01c9d459e6707b
Only use the "app name" instead of "app name widgets" as title
Remove "Touch & hold to move a widget" subtitle.
Test: manual
Bug: 179797520
Change-Id: I7a5954af73aa5b480096e93ade3520cef6c93f17
The fixes are:
1. For widgets shown in TableRow, aligns them center vertically.
This is useful when widgets of different height are shown in
the same row.
2. Remove background color from WidgetCell
3. Re-enable swipe in FullWidgetsSheet
4. Use the WidgetCell image as the single & long press area because
1. Previews are now scaled to their default size. The touch area
should already be larger for widgets that are bigger than 2.4
cells
2. WidgetCells also render description. If the user long press the
description area, the drag view will not align in the middle of
the user touch / drag area.
Test: Drag-n-drop widgets from FullWidgetsSheet, BottomWidgetsSheet
and pin widget flow.
In FullWidgetsSheet, swipe left and right to switch work /
personal tab.
Video: https://drive.google.com/file/d/1Ur7PwF1a7iwGGRTZczfc0BSVu-Ta6-Vm/view?usp=sharing
Bug: 179797520
Change-Id: I6fe4bc88d1e1b35b1819d8d7f046105f5ed27043
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
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
Using PendingAnimation for animation builder.
This will allow us to easily add SpringAnimation to stateAnimation
Change-Id: I8d88489a5da6fc85747ef9be7c13858b441cd28a
More specifically, any window (e.g. qsb search) or AbstractFloatingView.
NavBarToHomeTouchController now implements TouchController directly instead
of AbstractStateChangeTouchController, as it not only dealing with
launcher states. This makes it easier to override intercept logic to
handle cases like not having window focus, for example.
AbstractFloatingViews can createHintCloseAnim() to play an animation
hinting that it is about to be closed by swiping up. Widgets sheets use
this to pull back similar to the all apps transition to home.
Bug: 129976669
Change-Id: Ie157b978d9f1ee36d5fd32cea72ec02ce40878c0
> Using common logic for announcing a floating view for widgets and folders
Bug: 79091095
Bug: 79748886
Change-Id: Ibb3fe48e68e724f50d69f51a03d3b35ad0baf625
> Instead of views, using a custom class to draw the color scrims
> All-apps has full screen UI
> Quickstep does not have search box in landscape
Bug: 73085356
Change-Id: I360a78a2ade0134daad29fe712796cd39a381fbb