Commit Graph

784 Commits

Author SHA1 Message Date
Sunny Goyal 3a75b494f2 Merge "Fixing WidgetBottomSheet getting cut off around insets" into udc-dev 2023-05-06 09:43:06 +00:00
Sunny Goyal 2185f6f420 Loading widget description on the background thread
Bug: 281074741
Test: Varified on device
Flag: N/A
Change-Id: I6b9b13e712534bdc582b98dbfb7bdfcc40d2f19d
2023-05-05 23:15:41 +00:00
Sunny Goyal e7da062d9a Fixing WidgetBottomSheet getting cut off around insets
Bug: 265639220
Test: Verified on device
Flag: N/A
Change-Id: If595fde8e84a226aef82f41caa0be913b22d99c2
2023-05-05 23:15:31 +00:00
Sunny Goyal 8de4199463 Simplifying widget cell layout
Calculating the preview scale during onMeasure to ensure the
content is never clipped.

Bug: 268715418
Test: Verified on device
Change-Id: Ia0fd5ca3ccaae9644e043d75f810e91909a2aea0
2023-05-05 09:28:30 -07:00
Sunny Goyal 6c304b157d Always insetting the widget by a minimum of 6dp
Removing default widget padding logic. Also widget padding it applied
at ShortcutAndWidgetContainer so that the widgetView always has the
correct size.

Bug: 274826296
Bug: 257589413
Test: Verified using screenshots
Flags: N/A
Change-Id: Id4b5e94db6ec7b2aa3dca87b1e9ccc831b608cac
2023-05-03 12:18:33 -07:00
Schneider Victor-tulias 8c1bffb24f Merge "Remove unused debug logs" into udc-dev 2023-04-27 17:44:42 +00:00
Vinit Nayak 1bb594c72b Route PredictedAppIcon clicks through launcher
* This allows us to intercept launching predicted apps for
split-screen if user is in split selection flow
* Defaults to existing behavior of ItemClickHandler.INSTANCE
if we do not need to intercept the click

Bug: 276361926
Flag: ENABLE_SPLIT_FROM_WORKSPACE_TO_WORKSPACE
Test: Launches as expected when not in split, launches in
split when selected as second app to initiate split with

Change-Id: Ieb45137ae89da340d314e995f4f6eb1f8b49a42f
2023-04-25 12:31:56 -07: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
Fengjiang Li d0c2359a49 Check build version before using predicitve back API
Test: build and run app
Fix: 278798546
Change-Id: I4a7b226b1d710cc84ef40b59a33f50a84aca84bb
2023-04-21 09:38:59 -07:00
Fengjiang Li 5d4207814e Merge "Gracefully handle exception when processing widget loads event while device is locked." into udc-dev 2023-04-13 16:01:37 +00:00
Fengjiang Li e82b3fa8df Gracefully handle exception when processing widget loads event while device is locked.
Bug: 277189566
Test: test starting launcher and editing widgets
Change-Id: Id15da3f3471374b02f1e2bf2e0a45dc801957241
2023-04-12 14:46:47 -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
Federico Baron 231a65e289 Merge "Revert "Fix bug where very large widgets get cropped out"" into tm-qpr-dev am: 627376d5b9 am: 6e15488a84
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/22514931

Change-Id: Ib17fdb1a1236fbbf0417c7c182c530dbcd17ef74
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-07 03:25:39 +00:00
Federico Baron 81ffe3d28d Revert "Fix bug where very large widgets get cropped out"
This reverts commit cb36de9e9f.

Reason for revert: b/276644867

Change-Id: If5d5172ab26c71304364b6b528162e551d35ec9f
2023-04-06 19:53:58 +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 93f20cc2d5 Merge "Make navbar scrim taskbar background if taskbar is enabled." into udc-dev 2023-04-05 23:58:01 +00:00
Federico Baron 7122921153 Merge "Rename widgets two pane sheet layout files and spec files to more fitting name" into udc-dev 2023-04-05 16:36:36 +00:00
fbaron 55fed64ced Rename widgets two pane sheet layout files and spec files to more fitting name
Currently the names used for widgets two pane sheet files are similar to full sheet files, just with "_large_screen" added to it. This is not a good name as it can cause confusion. The new name includes "_two_pane" which is more indicative of the actual functionality of these files.

Fix: 276917926
Test: verify widget picker two pane still works
Change-Id: I23cf2a20fc137cc3e99c5fdc90100648a0926368
2023-04-04 09:55:31 -07:00
fbaron 12ff85c0ae Don't show two pane widget picker in foldables.
Currently, the two pane widget picker shows up in unfolded foldables. Here we guard against that.

Fix: 276913797
Test: Verify that widget picker in foldable doesn't have two panel layout
Change-Id: I7b949bdf9b0497c381ea43a4b8b473393ff59039
2023-04-04 16:52:33 +00:00
fbaron ba3f77be7d Show suggested widgets header only when there are suggested widgets
Bug: 275435999
Test: Verified suggested widgets header doesn't show up unless there are suggested widgets to show
Change-Id: I2ec2ba100d7a6ddc338a36ece75633abba990b2b
2023-03-31 21:45:07 +00: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
fbaron dfc94fc05f Scroll to top when new header is selected in two pane widget picker
Bug: 275441368
Test: Select a header and scroll, then select a different header and verify that it is scrolled to the top
Change-Id: Ie11d074759e5336ee1bbdec000ab266cf43c2c31
2023-03-28 00:52:35 +00: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
Federico Baron d5295ea4e4 Fix bug where very large widgets get cropped out am: cb36de9e9f am: 2563c27666
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/21381954

Change-Id: Ie31ccc8b4b09f66cb7963ab9bf405696cf4b8509
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-23 01:17:10 +00:00
Federico Baron cb36de9e9f Fix bug where very large widgets get cropped out
Fix: 268715418
Test: Open widget picker on tablet and verify that very large widgets (eg Youtube music recently played) are not cropped on tablets
Change-Id: I0f4609c8b7af889f39cac304ad4f6a44039f5762
2023-03-22 21:24:14 +00: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
Federico Baron 28a8d5a14c Merge changes I8ccf962f,I383c7540 into udc-dev
* changes:
  Turn on the flag for large screen widget picker
  Add test for widget picker on landscape mode for tablets
2023-03-21 22:28:18 +00:00
Pinyao Ting bb90cfb25a Merge "Retains cached widget in launcher process" into tm-qpr-dev am: a35d04afef am: bb38c78fa5
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/22146535

Change-Id: I825f19436115fbfa3279ba2182305cd9825b27dd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-21 21:25:06 +00:00
Pinyao Ting bd638e7b41 Retains cached widget in launcher process
Currently cached widget are retained in LauncherWidgetHolder which is
released when Launcher activity is recreated. This CL moves the cached
widget into LauncherAppState to keep the cache alive.

Bug: 268189435
Test: steps below
1. Add multiple widgets (Calendar / Weather ... e.t.c) to Home Screen
2. Open Google Map, start navigation to any place
3. Google Map enters navigation mode and changes resolution
4. Swipe up to exit Google Map and go to Home Screen
5. Verify you don't see deferred widget host view.

Change-Id: I8b56167313780cd1be2a5da88517114acc6d44af
2023-03-21 11:04:31 -07:00
Federico Baron c3ab820144 Add test for widget picker on landscape mode for tablets
When we added widget picker two pane layout, it broke some tests with the flag on. Here we fix those tests.
Bug: 256684299
Test: AddWidgetsTest and TaplTestsLauncher3#testWidget

Change-Id: I383c754016d82fba51fa0b7b0459cd7e83b274d8
2023-03-21 16:48:12 +00:00
Fengjiang Li b7860bd85e [Predictive Back] Remove OnBackPressedHandler
OnBackPressedHandler was mimicking android.window.OnBackAnimationCallback because later one was hidden API to T.

Now that we have moved to U, we can remove the former handler.

Test: manual
Bug: 272797556
Change-Id: Ic5302cfa0a6fb15c4a64bdf5dc331834b1f06f38
2023-03-16 09:39:31 -07:00
Fengjiang Li 11f873da0b [Predictive Back] Add extra bottom space in taskbar all apps to home
Bug: 272797556
Test: manual
Change-Id: Ie84117d4211c382544c9ed8e1226bf70b2bd382d
2023-03-15 10:14:48 -07:00
Sihua Ma cdb3c0af1a Use app widget host instead of holder to get rid of deleteHost
Also putting the calls to destroy() in try-finally blocks.

Test: N/A
Fix: 272535886
Change-Id: I57ecd90e412b3b8b59b4ed755a5d4191b05fd9b3
2023-03-09 11:19:18 -08: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
Sunny Goyal 33c3e77411 Merge "Simplifying code around multiple translation components" into tm-qpr-dev 2023-03-04 00:59:54 +00:00
Brian Isganitis d2d2913812 Merge changes from topic "running-in-test-camel" into tm-qpr-dev
* changes:
  Expose IS_RUNNING_IN_TEST_HARNESS as static method.
  Make isTooltipEnabled a getter due to its mutable dependencies.
2023-03-03 23:15:38 +00: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
Federico Baron b25d758827 Widget picker closes and reopens when switching orientation on phones when it's not necessary
Widget picker closes and reopens when switching orientation on phones when it's not necessary. We should only close and reopen widget picker if it's tablet since that's when we want to inflate either the regular widget picker or the two pane widget picker. When we're on a phone, we always want to inflate the regular widget picker, so closing and re-inflating is not needed.

Fix: 271474746
Test: Change orientation in phones vs tablets. Verify that both still work.
Change-Id: I6062b056c4e7675bc830b6884761ec1f2eb20b1d
2023-03-02 14:10:09 -08:00
Sunny Goyal 82dfc15037 Simplifying code around multiple translation components
Bug: 270759683
Test: Verified on device
Change-Id: I6c758c715828ae25e0e3c60b793cf85d70cb2487
2023-03-02 12:22:03 -08:00
Federico Baron 4ee5c429fe Merge changes I6c89c639,I6cab9202 into tm-qpr-dev
* changes:
  Move 'no widgets found' to right pane and add rounded edges to right pane.
  Add ripple effect when a header in widget picker is selected.
2023-02-22 23:24:10 +00:00
Sunny Goyal 936cd17a11 Merge "Simplifying some scrollbar binding logic in all-apps" into tm-qpr-dev 2023-02-22 18:09:32 +00:00
Federico Baron 8f6523a3d6 Move 'no widgets found' to right pane and add rounded edges to right pane.
Previously 'no widgets found' appeared on the left pane, but in large screen landscape we want it to appear on the right pane. Additionally, we added rounded edges to the right pane that turn into sharp edges when we scroll.

Fix: 268558448
Fix: 268557435
Test: Turn on LARGE_SCREEN_WIDGET_PICKER and on tablet landscape mode go to the widget picker and search for a widget that doesn't exist, verify that 'no widgets found' appears on the right pane. Also verify that right pane has rounded corner that turn into sharp corners as we scroll
Change-Id: I6c89c63941e3b0680836828d0c7849d789cbce61
2023-02-22 00:34:10 +00:00
Federico Baron e8217b3c1b Add ripple effect when a header in widget picker is selected.
We need to use setSelected in order to add a ripple effect when a header is selected in tablet landscape mode, and to set the style through XML rather than programmatically the way it was done before in the method `setLargeScreenTheme`.

Fix: 268558453
Test: Turn on LARGE_SCREEN_WIDGET_PICKER and verify that when selecting a header there's a ripple effect on that header
Change-Id: I6cab920258a57118430d1e07416508ef36faa56d
2023-02-21 16:33:18 -08:00
Sunny Goyal 4d18ad4825 Simplifying some scrollbar binding logic in all-apps
Bug: 256684299
Test: Manual
Change-Id: I1cee6cb783f0f805d9a0f0a4b2b668a709cacf1a
2023-02-17 12:28:46 -08:00
Sunny Goyal 239d6e9b8d Adding support for customizing shortcut pinning logic
> Allowing support for overring shortcut badge
> Updating pendingShortcutInfo so that the
  handler can be easily overridden

Bug: 268253894
Test: Verified on device
Change-Id: I3184cb6494bc98c7eed33798b35b4e6e6a1e7ddc
2023-02-17 18:07:23 +00:00
Sunny Goyal cc10ed5532 Merge "Using DiffUtil for calculating widget diff instead of a custom implementation" into tm-qpr-dev 2023-02-16 23:28:19 +00:00
Fengjiang Li 56ebfc4900 Merge "[Predictive Back] Widget to home polish: show extra rows at bottom during animation" into tm-qpr-dev 2023-02-16 19:40:24 +00:00
Fengjiang Li cb640da2bb [Predictive Back] Widget to home polish: show extra rows at bottom during animation
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
2023-02-15 15:33:29 -08:00
TreeHugger Robot 3f07d154fb Merge "Deferred widget update" into tm-qpr-dev 2023-02-15 20:01:07 +00:00