Commit Graph

85 Commits

Author SHA1 Message Date
Willie Koomson 8b0469b096 Merge changes I2fd961c0,Id3d21f44 into main
* changes:
  Go to NORMAL state before adding widget with add button
  Retain add button on rotation for two-pane and bottom sheet
2024-05-09 19:04:15 +00:00
Willie Koomson badcf77c28 Go to NORMAL state before adding widget with add button
Updates add button behavior to go to NORMAL state before adding the
widget to the workspace. This has the effect of dismissing the All Apps
view if it is open.

This fixes an issue where the add button did not work if used from the
WidgetsBottomSheet while All Apps is open, particularly if a new screen
had to be created. See screencasts in gerrit for before/after.

Bug: 335906123
Test: manual, add widget with button from all apps > bottom sheet while
 there is no space on the launcher
Flag: ACONFIG com.android.launcher3.enable_widget_tap_to_add NEXTFOOD
Change-Id: I2fd961c09c473045088feba5d572c26a812e6619
2024-05-08 22:56:53 +00:00
Willie Koomson 245c244fed Retain add button on rotation for two-pane and bottom sheet
Reselects the WidgetCell that was selected when reloading the sheet on
rotation. WidgetsFullSheet is excluded because it does not retain the
open header on rotation.

Bug: 331429554
Test: manual, see screencast
Flag: ACONFIG com.android.launcher3.enable_widget_tap_to_add NEXTFOOD
Change-Id: Id3d21f44b1dc525e144296f513f5a460fc51474c
2024-05-08 22:56:52 +00:00
Shamali P ac5c6c775b Fix close animation issue during predictive back / swipe up
Bug: 333714698
Test: Manual
Flag: N/A
Change-Id: I07859bc0a3783356cc27358bb23a0d6555aa1492
2024-05-07 13:47:24 +00:00
Willie Koomson d731ba2ff1 Remove widget education tip dialog
This change removes the widget education tip dialog, and the arrow
tip view. These are no longer needed now that taps are handled by
showing an add button.

Bug: 335318980
Test: `pm clear com.google.android.apps.nexuslauncher` and open widget
 picker
Flag: ACONFIG com.android.launcher3.enable_widget_tap_to_add NEXTFOOD
Change-Id: I9b24a41604880f5f94939c02b94f1a9f6a6c83d5
2024-04-25 22:56:36 +00:00
Willie Koomson f88bf7e23f Merge "Fix issue with tap-to-add on recycled WidgetCells" into main 2024-04-23 18:53:33 +00:00
Shamali Patwa 4ee10f33ee Merge "Use same margins for widgets bottom sheet as all apps." into main 2024-04-19 21:08:24 +00:00
Shamali P 50bf021b02 Use same margins for widgets bottom sheet as all apps.
* Per UX discussion with jane and david, the full width looks too large
for the app info -> long press -> widgets bottom sheet.
* Earlier during POR, we decided to match them all, but after trying it out, we think smaller is better for the app specific bottom sheet.

* http://screencast/cast/NTg1Njk1MDUxOTU5NTAwOHxiMDU0YWJhMi04MQ
* http://screencast/cast/NjU0NjQyODgwMDI3MDMzNnw4NDNhMGVjMy0yMg


Bug: 328812171
Test: screencast
Flag: N/A
Change-Id: I9b0a996f80bac2639bcadf85480468ac886c7093
2024-04-18 16:58:39 +00:00
Willie Koomson 0a6e9d765d Fix issue with tap-to-add on recycled WidgetCells
Updates BaseWidgetSheet to check if the last recorded widget cell
to show an add button is still showing an add button before deciding
how to handle the current click.

When a widget is recycled or loses focus, it will reset to the default
state of hiding the add button. However, BaseWidgetSheet still tracks
it. If that cell is clicked again after being reset, we want to show
the add button.

Bug: TODO
Test: manual
Flag: ACONFIG com.android.launcher3.enable_widget_tap_to_add TEAMFOOD
Change-Id: I4614674948a52b8908fabf5c0e5734bf76b9282b
2024-04-15 22:32:51 +00:00
Willie Koomson dcc2d82d4e Scroll to show WidgetCell when it is tapped.
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
2024-04-15 22:32:48 +00:00
Willie Koomson 7d2d6ced25 Fix resize frame for widgets added with tap-to-add button
This change updates the tap-to-add code to wait for the animations
between each step (close widget sheet, snap to Workspace page)
to finish before continuing with the next step of the flow.

Bug: 331425905
Bug: 331699050
Test: manual
Flag: ACONFIG com.android.launcher3.enable_widget_tap_to_add TEAMFOOD
Change-Id: I774b86b429cd2e8a397e5605243056e6cea666b3
2024-04-05 22:03:37 +00:00
Willie Koomson 2471805414 Handle widgets added with tap-to-add in AppEventProducer
Widgets added with tap-to-add do not emit an ITEM_DROP_COMPELTED event,
so this change updates AppEventProducer to check for
WIDGET_ADD_BUTTON_TAP event so that it can emit an ACTION_PIN
event for these widgets as well.

Also moves the stats logging for tap to add to after
Launcher.addPendingItem is called, so that the PendingAddItem's container
is set to CONTAINER_DESKTOP.

Bug: 323886237
Test: manual, add widget and confirm event is produced through logging,
 and widget no longer appears in suggestions
Flag: ACONFIG com.android.launcher3.enable_widget_tap_to_add STAGING
Change-Id: Iaf46a408d05f61864a79f87b23160364b6513323
2024-03-20 22:07:02 +00:00
Vinit Nayak 422a634a24 Add CUJ Jank interactions for App Pair saving and launching
* Added finishCallback consumer to LauncherAccessibilityDelegate
to inform when adding an item to workspace was completed.
* The logic seemed to be dependent on the parameter
"focusForAccessibility", but all callers of that are currently
passing in true

Bug: 328646540
Test: https://paste.googleplex.com/6232597136408576
Newly added CUJs showing up when playing w/ device

Change-Id: Ia4944f8d23634bb92296938ea2d07a6babf6f77c
2024-03-18 16:27:47 -07:00
Willie Koomson cdc26951ff Add tap-to-add button to widget picker
This change introduces an "Add" button that appears when a widget
preview is clicked in the widget picker. This button disappears when the
preview is clicked again, or another preview is clicked. When the button
is pressed, it adds that widget to the picker. The add button is
available in the app-specific widget sheet as well.

Bug: 323886237
Test: Manual
Flag: ACONFIG com.android.launcher3.enable_widget_tap_to_add DEVELOPMENT

Change-Id: I86a8a4c22119960c54a885fd2efeb91916b4f9a0
2024-03-15 20:10:45 +00:00
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