Commit Graph

71 Commits

Author SHA1 Message Date
Shamali P
62339981db Use full-width two picker in both orientations in tablets
The change is really for enabling display of categorical suggestions,
so using the same flag.

Bug: 315055849
Bug: 318410881
Test: See screenshots
Flag: ACONFIG com.android.launcher3.enable_categorized_widget_recommendations DEVELOPMENT
Change-Id: Ia98fdd6b827f31a63264128617f6a16ee0716bcc
2024-02-15 18:32:21 +00:00
Shamali P
5e855d7912 Fix the horizontal margins on the left panel in the two pane picker.
The recycler view when displayed in single pane picker, for large screen
gets a larger padding. But when displayed in two pane picker, it is not
needed - so we override it.

Foldable's unfolded portrait doesn't seem to have screenshot test
- will look into if we can add one in follow up.

Bug: 322719955
Test: Screenshot test for existing modes & manual (see bug)
Flag: ACONFIG com.android.launcher3.enable_unfolded_two_pane_picker DEVELOPMENT

Change-Id: Ibd72146e7e5230eec0d2ce01c3917819a73d8f32
2024-02-02 18:20:38 +00:00
Andy Wickham
b922dccbf5 Cleanup API checks for P, Q, and R.
Test: Build with gradle
Flag: NA
Change-Id: I3ef17090741d14bebd76cf09cf3dc5ac4f11e686
2024-01-24 14:58:08 -08:00
William Leshner
5836cec7ec Merge "Show Launcher's widget picker in an activity." into main 2023-12-07 19:23:58 +00:00
fbaron
eee16c7ac5 Update widget picker two pane to support foldables
Bug: 301918659
Test: WidgetPickerImageTest
Flag: ACONFIG com.android.launcher3.enable_unfolded_two_pane_picker DEVELOPMENT
Change-Id: I5beecf4f8c46235f3e89c7bd8aed65fd292883ce
2023-12-06 12:48:24 -08:00
Will Leshner
9dce65e05a Show Launcher's widget picker in an activity.
Bug: 307306823
Test: atest Launcher3Tests
Flag: NA

Change-Id: I28ef731abcdf1bd44c66366d42a135912dbcc5be
2023-12-05 13:12:05 -08:00
Sukesh Ram
ea6f544f7d Merge "Fix 3-Button Color w/ Widget Sheet post-Rotation" into main 2023-12-04 23:39:13 +00:00
Sukesh Ram
b8ddc944ff Fix 3-Button Color w/ Widget Sheet post-Rotation
Fixed issue where upon opening the widgets menu in the home screen in landscape, then rotating screen to portrait, then back to landscape (whilst keeping widget sheet open), the buttons are dim colored rather than white.

Flag: NONE
Test: Manually tested in pixel 7 in light mode and dark mode (with home screen rotation enabled).
Bug: 284801356
Change-Id: I0ed59373eb3af5f1b5ab695b43b850777042d2eb
2023-12-01 22:53:09 +00:00
Sunny Goyal
464509b375 Merging widget item click listener to default click listener
> Also removing check for dragHandle, since dragHandle is already removed

Bug: 307306823
Test: atest Launcher3Tests
Flag: N/A
Change-Id: I0b452dd1fbccf15ed686370471e8866b179fd77e
2023-11-28 12:07:16 -08:00
Sunny Goyal
eb29313595 Updating WidgetSheets so that it can be displayed in any
activity and not just Launcher

Bug: 307306823
Test: atest Launcher3Tests
Flag: NA
Change-Id: I0e33323805c6e895e3a1639ecf5933e698212c65
2023-11-27 11:17:04 -08:00
Sunny Goyal
576f7a5e80 Removing some usage of shared prefs
Bug: 301661768
Test: Presubmit
Flag: N/A
Change-Id: I158e9a5148d2c9404ea4d2e9e239696b29dbeb20
2023-10-06 14:35:56 -07:00
fbaron
2553ec02b7 Cleanup LARGE_SCREEN_WIDGET_PICKER flag
Fix: 270395809
Flag: no flag
Test: WidgetPickerImageTest
Change-Id: I99734ae7f87b4c2c7b4e798d14cd12f473daac6e
2023-09-27 15:43:07 -07:00
Kateryna Ivanova
7120373bbc Migrate Interpolators from Launcher3 to the public animation library
Test: atest
Bug: 271850966
Change-Id: Iba999f2e753764a37d35e508e707df02388432e9
2023-05-30 07:20:38 +00:00
Schneider Victor-tulias
fff7cef9f1 Remove unused debug logs
Removing debug logs for bugs that have already been closed. These logs are filling up the logcat buffer and impeding in other test investigations.

Flag: not needed
Test: Tapl tests
Bug: 260260325
Change-Id: I4d69b904f2ea79d758cf6bef7d90d172f2eb2a91
2023-04-25 11:00:37 -07:00
Federico Baron
b326859f27 Merge "Prevent two pane widget picker code from reaching foldables" into udc-dev 2023-04-11 21:10:56 +00:00
fbaron
a3dbce41e3 Prevent two pane widget picker code from reaching foldables
Currently, there's a few sections of the code that are intended to only be reached by tablets in landscape mode that can be reached by unfolded foldables. Here, we fix this so it no longer occurs.

Bug: 277102339
Test: Verify widget picker works correctly on tablet
Change-Id: I1f2bc99072aff6d852f9ce658ab00fa33b9e02b5
2023-04-06 09:38:15 -07:00
Brian Isganitis
13e672aa76 Make navbar scrim taskbar background if taskbar is enabled.
This ensures the navbar buttons are visible on large screens where All
Apps or Widgets picker are bottom sheets.

Test: Scrim is taskbar background color on devices with taskbar.
Bug: 264463659
Change-Id: I37890c0f542db625f9aeae7648bbaed064c4d240
2023-03-31 16:40:49 -04:00
Federico Baron
002317f60c Add subclass for two pane widget picker
Since the regular widget picker and the widget picker for tablet diverge quite a bit, we added a child class for it that extends WidgetsFullSheet.java
There should be no functionality changes with this CL, it's purely changes in code structure.

Bug: 256684299
Test: Turn on LARGE_SCREEN_WIDGET_PICKER flag and verify nothing changes compared to ag/20508230.
Change-Id: Ie0e93534d7b93017cc11a05f67728155d22951f9
2023-03-24 11:48:20 -07:00
fbaron
d11a9e1d08 Widget picker two pane polish
-increase width of two pane picker
-center widgets when they're too few to overflow
-make background stretch out all the way to the bottom even when there aren't multiple widgets
-fit many widgets in one row if they fit

Bug: 256684299
Test: open widget picker and notice that all the listed fixes match the last figma added in the bug
Change-Id: Id4e8445f4ffe484c24c04fd9d1b4ffbf93a00bb2
2023-03-21 16:49:45 -07:00
Sihua Ma
a245873fed Merge "Update widget picker row logic to resolve cropping" into tm-qpr-dev 2023-03-07 18:42:46 +00:00
Sihua Ma
16180801e8 Update widget picker row logic to resolve cropping
Using pixels instead of cell spans for calculating the widget picker row
binding logic.

Before: https://screenshot.googleplex.com/3uXX2m7xWh3om5t
Now: https://screenshot.googleplex.com/C593mrQfqTahNrQ

Test: Manual
Fix: 269790954
Change-Id: Ib591a6f6d3cf8b72766e0714b9bc8ceb86b2ba4f
2023-03-06 13:41:24 -08:00
Brian Isganitis
fdd044e16e Expose IS_RUNNING_IN_TEST_HARNESS as static method.
This variable is now mutable, making the uppercase format misleading.
For instance, users might assume they can use this value in other
immutable properties, when they really should be accessing the latest
value every time they need it.

Context: https://source.android.com/docs/setup/contribute/code-style#follow-field-naming-conventions

Test: Manual
Bug: 271160958
Change-Id: Iaaa51d9153cb8a7d686c72e1210b1948029dcfd5
2023-03-03 00:17:33 +00:00
Alex Chau
3d2c062567 Change wallpaper depth in widget picker
- Also changed widget picker open/close duration, refactored the values into DeviceProfile
- Generalized MultiAdditivePropertyFactory to accept aggregator as parameter

Bug: 240580498
Test: manual
Change-Id: I6886ca514593e404b8d7b0e8ed44f20ec2b77c73
2022-09-13 12:20:56 +08:00
vadimt
f6ef879cf4 Moving all sources that are shared between Launcher and TAPL in one directory
This will help SysUI test team (who uses TAPL) to set up Gradle build for their tests.

Bug: 202567877, 234414088
Test: presubmit
Change-Id: I3d923ea4b54d1a4c3d2b345be09692727d30433e
2022-07-27 20:18:46 +00:00
Thales Lima
4f3cf5d05f Fix widget span
Need to take the horizontal margin of the view into consideration.

Fix: 233302799
Test: manual
Change-Id: I5f584977db85d5436b22c3701f586a5b079099ae
2022-05-24 14:49:26 +01:00
Thales Lima
28a8b9f158 Add a scrim to AllApps and Widgets
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
2022-05-12 09:38:24 -03:00
Schneider Victor-tulias
9b6babf839 Translate the 3 navigation buttons to/from their in-app position when animating to/from the -1 screen, all apps and widgets.
Bug: 221455508
Test: opened all apps, widgets, -1 screen, notifications shade and keyboard in various combinations and orders; locked screen, launched app, returned home with the back/home buttons, opened overview
Change-Id: Ia0b406aacf72b34bd6b7ff1c01278ab6895a7da4
Merged-In: Ia0b406aacf72b34bd6b7ff1c01278ab6895a7da4
(cherry picked from commit 9c1a452a1d)
2022-05-02 18:45:01 +00:00
Andras Kloczl
142b054e06 Tune widget picker bottom sheet VisD for large screen
Test: Open widget picker by long pressing the home screen.
Open app specific widget picker by long pressing an app icon
that has widgets. Try both landscape and portrait, also on
phone/tablet/foldable.
Bug: 214215594

Change-Id: I7b4b3a8d7421f1d4df84d49a18b465693a17bd7b
2022-03-15 14:01:59 +00:00
vadimt
89d9423321 Logging for drop bar not appearing for dragged widget
Test: presubmit
Bug: 195031154
Change-Id: I19494fc3d6d9db252570697c057fdee7f7d44521
2021-09-01 12:33:00 -07:00
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
Steven Ng
2b90d043f6 Fix scaling on widget previews that have width / height set to
wrap_content

If the widget preview has width / height set to wrap_content, we should
set the layout param width / height to the exact dimension after
measurement. Otherwise, we will end up clipping the previews.

Test: manual
Fix: 193144010
Change-Id: I101f7c6d3dbd264fee448b85c54029d5650d6630
2021-07-22 11:19:25 +01:00
Steven Ng
2b123833ad Scale RemoteViews from requestPinAppWidget shown in AddItemActivity
Test: manual
Bug: 193144010

Change-Id: Ia2b64c32f92a43a8d71ee82f164543e1e624814a
2021-07-15 17:59:45 +01:00
Steven Ng
12b2742780 Merge "Restricts the width of pin widget dialog to 89% on large screen devices" into sc-v2-dev 2021-07-09 09:38:33 +00: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
Steven Ng
a37de9e141 Restricts the width of pin widget dialog to 89% on large screen devices
Test: manual
Fix: 193116981
Change-Id: I6ff8920a3698e6c11729b01a140a6942268f67cc
2021-07-08 16:06:50 +01:00
Steven Ng
4edea3a6a6 Set the widgets pickers' width to at most 80% of screen width on
large screen devices

Test: Phone: Open the full widgets picker and observe the width of
      the widgets picker fills the device screen width.
      Large screen devices: Open the bottom widgets picker and observe
      the width of the widgets picker only takes at most 80% of the
      devices' screen width.
      Same behavior is observed for bottom widgets picker.
Bug: 186425352
Change-Id: I801b73ea031a290fb6a7295dca826ac91841877e
2021-06-29 16:24:34 +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
ecdf6575ec Add more education tips for widgets. (3/3)
Show tip on reconfigurable widget in launcher.

Bug: 185354491
Test: Manually tested tips in widget picker, all apps, and
reconfigurable widgets tip.

Change-Id: I08154c944285cac6a21c3ef4aafd878bbbccf44b
2021-06-10 14:23:47 +01:00
Alina Zaidi
8796707172 Update scrim in widget pickers.
Also adjust padding in pin widget bottom sheet.

Test: Tested manually
Bug: 189802334
Change-Id: Ic25547ab1519139afdbf07aaefeb9168cf3501ff
2021-06-02 20:39:28 +01: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
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
Sunny Goyal
4ed0fb5074 Removing dependency on wallpaper colors and using theme resources
Bug: 184676715
Test: Manual
Change-Id: Ie9a9a784c4a8a8cd484bfd8ea463deedcd4deed6
2021-04-27 16:29:08 -07:00
Steven Ng
e973d6f31f Render RemoteViews in LauncherAppWidgetHostView
Test: Pin a conversation widget from a notification. RemoteViews are
      rendered with the default size. Drag-n-drop from the pin widget
      dialog works fine.
Bug: 185934141

Change-Id: Idb76cce2807e55e7b42e2e044712519857beb202
2021-04-21 15:43:51 +01:00
Pierre Barbier de Reuille
ad41a56166 Stop trying to draw a view not attached to the view tree
The behavior of the framework when we try to do so is undefined. In our
case, it almost work, but no clipping is applied, which is a problem for
Android S (before that, widget couldn't use clipping in the first
place).

Instead of drawing the view through a drawable, this really add the view
and adds also a badge ImageView for badges instead of drawing them
indirectly.

Note that, temporarily, we have to re-allow drawing the view after it
has been attached, but the underlying framework bug being fixed, this
should be fine (I tested it and it really seems to be).

Bug: 183609936
Test: Using hand designed app (see bug)
Change-Id: I929ef8fc81c98c49406f2d940cd5efc28319886d
2021-04-07 15:51:43 +01:00
Steven Ng
0226d1ad79 Replace DragView bitmap with drawable
This is a preliminary work for local color extraction. In order to
apply local colors extracted from wallpaper to AppWidgetHostView
during drag, we need to hold a reference of the dragging
AppWidgetHostView.

In this CL, the following changes are made:
1. Instead of using bitmap image directly for icons, folders, shortcuts,
   legacy widget drawable preview, a BitmapDrawable wrapper is
    introduced.
2. Introduce a WidgetHostViewDraggableDrawable which draws
   LauncherAppWidgetHostView directly to canvas. No more bitmap
   generation overhead.
3. Remove drag outline from the drag logic because this will be replaced
   by a new grid color hint UI: https://screenshot.googleplex.com/7jBEVeuxFecFKKT.png

Test: Add: add widgets, shortcuts from widgets tray.
           add icons from all apps.
           create folder.
      Drag: drag existing widgets, shortcuts, folders and icons around

Bug: 182282587
Change-Id: Ia45ff756ea5bb80cf0761f0727a9453d50c204c0
2021-03-16 00:02:38 +00:00
Steven Ng
7ec893fb8e Update widget toast strings
Test: Tap on widgets and shortcuts in all widget tray and observe
      correct string is shown.

Bug: 179797520
Change-Id: I0e274017d4af1de506afbb819ab91f6575d7bb8e
2021-03-10 17:35:51 +00:00
Steven Ng
ae6b34811b WidgetCell & LiveWidgetPreview cleanup
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
2021-03-08 21:22:08 +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
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
Hyunyoung Song
6b670d62df Good riddance UserEventDispatcher [1/n]
Bug: 165675920
Change-Id: I237ed4243e1724b3c370c5660673bb3966bf4811
2020-08-24 21:19:09 -07:00