Commit Graph

80 Commits

Author SHA1 Message Date
Sunny Goyal 669b71f5b3 Introducing CellPosMapper which allows mapping between UI position
and model position

Test: atest CellPosMapperTest
Bug: 188081026
Change-Id: If5c6b3df5ad240317bb535c675f6ead94084238e
2023-01-30 12:17:09 -08:00
Stefan Andonian dbff8cda6c Fix crash in LauncherPreviewRenderer.
The LauncherPrefs INSTANCE variable needs to be registered with the
sandbox context used by the LauncherPreview. This will stop the crash
from occuring.

Bug: 266164372
Test: Verified that crash no longer occurs.
Change-Id: I12ef12d082b7afdb08b38321527d13c637e84f2f
2023-01-23 18:11:49 +00:00
Sunny Goyal 54fa110bba Removing some unnecessary interfaces and merging them to ActivityContext
Bug: 259733681
Test: Everything compiles
Change-Id: If6b530f6e589a851cf8554f5de0849843bd66dd4
2022-12-08 10:15:55 -08:00
Sebastian Franco 2ceb3b5088 Adding screen ID parameter in CellLayoutLayoutParams
Bug: 188081026
Test: launcher compiles, this test doesn't change existing logic only the model
Change-Id: I7bcf6452d5ecb9b50914defc311ad06839220c92
2022-12-02 13:40:34 -08:00
Sihua Ma 8bbfcb6581 Move LauncherWidgetHolder to widget package
Making LauncherAppWidgetHost package-private as well

Bug: 235358918
Test: N/A
Change-Id: If022ec8d429579a972991872b2dc11db76719341
2022-11-16 14:31:14 -08:00
Sihua Ma aa2b872d1c Move most of the functions in LauncherAppWidgetHost to LauncherWidgetHolder
Test: N/A
Bug: 235358918
Change-Id: I343419376491203a195154f2766b12e5def38879
2022-11-16 14:30:08 -08:00
Sebastian Franco d468299c0f Moving the class LayoutParams to a file outside CellLayout
I'm moving the LayoutParams to another file to start the decoupling
of the Reorder outside of the CellLayout.

Also, I change the name from LayoutParams to LauncherLayoutParams to prevent confusion with ViewGroup.LayoutParams making it explicit that this are different LayoutParams.

Bug: 188081026
Test: atest ReorderWidget
Change-Id: I92251c5540ffcf5ece7b933e6f6c836eb825c997
2022-10-12 16:14:42 +00:00
Sihua Ma e04aa207f2 Resize preview for correct clipping
Before, the remote view for the widget in launcher is reused to generate a new preview. However, measuring the view without changing the scale would cause strange clippings. This CL sets the scale of the widget views by manually computing the size ratio.

Change ag/19572297 is necessary before a complete clean-up.

Test: Create a weather widget on first screen -> go to Wallpaper & style -> App grid -> tap on a different grid and verify that the clipping is correct
Fix: 228328759
Change-Id: I8242d3bcfcf30ec924552c1320e22f8a3592f1c1
2022-08-09 23:57:41 +00:00
Sihua Ma dfd8bfc7e0 Added functions to pass launcher widget span info to preview
To calculate the widget scales correctly for the launcher preview in different grids, the span info of the widgets in the launcher is necessary. Querying the launcher widget info in the database and passing it to the preview render.

Test: Verified that no exceptions were happening when changing preview grid layouts
Bug: 228328759
Change-Id: I681d21b176c8fe5208431a79009d9ba8279cda6a
2022-07-14 20:17:19 +00:00
Alex Chau 1145722685 Add DisplayController in PreviewContext's allowed objects
Fix: 231526132
Test: switch grids
Change-Id: Ie43c54c5fbbea51ee3b795be6baa9c2eaf5e15e4
2022-05-06 20:17:57 +01:00
Shikha Malhotra e957b600d3 Refactor code to be used in LauncherLily features
Refactor add to workspace code to be used in Lily Launcher.
Also utilising code swap feature to swap out functionality of sorting
items on workspaces and finding next vacant space.

Bug: b/218186705
Test: Manually tested Launcher3 works.
Change-Id: I42a44eabeb307e1d23ef333e0a169437f9062bb6
2022-04-20 07:22:20 +00:00
Pat Manning 08610ca583 Adjust workspace grid and cellLayout paddings.
This is a partial revert of ag/17540098

Bug: 202971709
Test: manual
Change-Id: Ia49e48f336bcca906aae6b014d88f10421b83d0c
2022-04-06 13:10:50 +01:00
Pat Manning e372366bb3 Revert "Adjust edit state drop targets, workspace scaling, and m..."
Test: manual

Revert submission 17004675-edit-state

Reason for revert: b/226274309
Reverted Changes:
Ib50509b6f:Adjust edit state drop targets per device type and...
Id1817cd3c:Adjust edit state drop targets, workspace scaling,...

Change-Id: I22863d7735f49f6a040a17cf56cc66f20a3e0986
2022-03-28 08:24:54 -04:00
Pat Manning 1acf2b18af Adjust edit state drop targets, workspace scaling, and margins per device type and orientation.
Bug: 202971709
Test: manual
Change-Id: Id1817cd3c7e7bfa5b0aa8aa20565b791ad871f64
2022-03-18 17:43:28 +00:00
Sunny Goyal 187b16cb91 Updating window manager estimation logic:
> Moving the code from ApiWrapper to Resource overlays for better maintainability
> Accounting for display cutouts in insets estimation
> Using same logic in display controller and view inset dispatching

Test: Verified on device
Bug: 221961069
Change-Id: I78466353563692ce3f7512b0146ef8b61ef14bc0
2022-03-09 11:15:58 -08:00
Thales Lima 83b345338b Stop using bottom inset in preview
We are not using the bottom inset (navbar) in Launcher anymore, so we should not use it in preview as well.

Fixes 205284107
Test: manual

Change-Id: Iefd71b3cbe8e738c4559716af8c85015ba7c3c41
2022-02-17 13:35:41 +00:00
Sunny Goyal 68af549a45 Adding icon theming API support in Launcher
Bug: 200082620
Test: manual
Change-Id: If986b9cfc3db79d627d2a6f1304e1b6f58491470
2022-01-08 00:05:47 +05:30
Brian Isganitis f7c2adf861 Avoid race condition with hotseat predictions.
Make sure that the ArrayList cannot be cleared on the model thread while
it is being used on the UI thread to render a launcher preview.

Test: Manual
Fix: 210123588
Change-Id: I5a47cb3f28f5ac9e400f6ae535e410c345e14ee1
2021-12-22 01:08:46 +00:00
Sunny Goyal d872a97bd0 Updating icon badging logic
Bug: 201682172
Test: Manual
Change-Id: I57421b0c77e12f1cd464e532d2a1383c2cf93981
2021-12-02 22:14:25 +00:00
Thales Lima 78d00adcbe launcher: create more space options
The grid doesn't have a constant space between cells anymore, so we need
new attributes for the different spaces in different situations.

Bug: 191879424
Test: checking cell size and extra space in dumpsys
Change-Id: I4b6aae5b3fea281490c00cd13d0cd3a25372f21b
2021-10-05 12:26:05 +01:00
Steven Ng 9114f280a2 Merge "Group weather widgets under the widget category" into sc-v2-dev 2021-10-01 10:17:47 +00:00
Steven Ng 43859f10bc Group weather widgets under the widget category
Test: manual (see video in bug) and added PackageUserKeyTest
      Also tested pending conversation widget to ensure the right icon
      is shown.
Fix: 201062480
Change-Id: If23c28bd93c54fb1747648309ab3c238a1810902
2021-09-30 14:22:21 +01:00
Thales Lima 7a6752da51 launcher: create paddings for foldables
This creates a new padding file that bring some foldables up to spec
with VisD. For 2 panel layouts it now uses workspace margin instead of
cell layout padding.

Bug: 191879424
Fixes: 200035429
Test: checking paddings in HSV
Change-Id: I11b8e1afd76f535368d4c26e31630ce496171e13
2021-09-29 11:53:29 +01:00
Thales Lima d1df5fcaac launcher: use scalable grid in 4x4
Many changes are required to make scalable displays work correctly on
foldables. This first one is making sure that the correct number of
columns is used when calculating the used width for scalable grid. The
spaces around the workspace are not final yet.

Bug: 191879424
Test: manual
Change-Id: Idc41ed004580f1f86d8f9595d005abc72301b1e3
2021-09-17 10:43:42 +01:00
Thales Lima 9223c1e27c Merge "launcher: show smartspace date card on Wallpaper & style" into sc-v2-dev 2021-09-08 09:58:11 +00:00
Tony Wickham 302eff9c84 Fix wallpaper picker crash if folder is in hotseat
Only use mWorkspaceScreens if info.container == CONTAINER_DESKTOP, otherwise assume it's in mHotseat instead.

Test: have a folder in hotseat, open wallpaper picker and can see the preview and set wallpaper
Fixes: 199179718
Change-Id: I6f1dbd8dc387783bb8b76e2bc469508c079a85f8
2021-09-07 12:04:47 -07:00
Thales Lima 60936f5eac launcher: show smartspace date card on Wallpaper & style
Smartspace requires a lot of information to show cards, and it shouldn't
be required to show a preview for the user on how the home screen looks
like. This changes that to always use the date card from smartspace.

Fixes: 197328474
Test: open Wallpaper & style
Change-Id: I4718a1c0397172f654b7b6b4beb96b50b3b9eeb3
2021-08-31 18:32:02 +01:00
Sunny Goyal 777d49062f Revert "Revert "Migrating all model tests to Instrumentation tests""
This reverts commit 7a4a30d86d.

Test: Presubmit
Reason for revert: Fixing original bug

Bug: 196825541
Change-Id: Id4b1eb24a89564d264266d305aebea52917dfcd9
2021-08-31 10:51:52 +00:00
Andras Kloczl 8c574de97f Two panel home empty page removing logic change
- Don't remove a single page if it's empty, only if both pages are empty.
- Add back empty pages after they were removed while the phone
  was on single panel home.
- On two panel home don't add new workspace items onto the second screen

Test: manual
Bug: 196376162
Change-Id: I4c54ffa3b359a236deb3ab67adb54111e77ec896
2021-08-26 12:06:50 +01:00
Alex Chau 1e4484669d Remove widget panel
- Remove all usage of LEFT_PANEL_ID and fixed left panel code
- For preview renderer, load screen 0 + screen 1 instead
- Added a split display specific default workspace layout, with a placeholder app to pass test before we implement page pairing(b/196376162)
- Known issue: If screenId 1 is deleted, right panel will disappear from Wallpaepr & Style because there is no screenId 1. Will be resovled after page pairing(b/196376162)

Bug: 175939730
Test: manual and TaplTestsLauncher3#testWorkSpace
Change-Id: Icac1c94165c14a49c17897c45355b6cdc4d87e91
2021-08-13 21:48:35 +01:00
TreeHugger Robot f952fd9256 Merge "launcher: correct the amount of padding for preview" into sc-v2-dev 2021-08-13 19:19:18 +00:00
Thales Lima dab1b2922c launcher: correct the amount of padding for preview
The padding on left and right should be added only on the left for left
page and only on the right for right page.

Fixes: 195410512
Test: open Wallpaper & Style and check the space between the pages
Change-Id: Ib27c632d2fb07d4708bd101e555e14e31a26ff9d
2021-08-13 18:22:26 +01:00
Brian Isganitis c2a6378fc1 Merge "Fix crash from previewing launcher with unknown wallpaper colors." into sc-dev am: 200d7634d1
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/15462873

Change-Id: I4965f54b75f9762ef51ed15f27f43f73b2919164
2021-08-05 01:28:12 +00:00
Brian Isganitis dafa5040ef Fix crash from previewing launcher with unknown wallpaper colors.
Test: Open wallpaper app with live wallpaper applied should not crash.
Fix: 195246865
Change-Id: Id64de32b35aa7a553daa752438060d7f6822bec8
2021-08-04 18:31:20 +00:00
Brian Isganitis b684c1b59b Revert "Merge "Revert "Use wallpaper colors for widgets in wallpaper change preview"" into sc-dev"
This reverts commit 7de95d6767, reversing
changes made to 0a70a5a690.

Lints have been added to fix errorprone.

Test: Widgets should adapt to wallpaper colors in launcher preview.
Bug: 192205054
Merged-In: I3fb76b6036cb909771b789eac15742df78c2c742
Merged-In: I4da9ad1cc88be251f97e86b6c8c9b346ed20f586
Change-Id: I6866f8521ed427d096f27da0a92d8b40e1099187
2021-07-19 21:03:26 -04:00
Jonathan Miranda f5fee1a7d3 Revert "Use wallpaper colors for widgets in wallpaper change preview"
Revert "Implement generateColorsOverride from LocalColorExtractor"

Revert submission 15331418-colorcp

Reason for revert: Broke the build
Reverted Changes:
Ife80b07f9:Use wallpaper colors for widgets in wallpaper chan...
I1371eb787:Implement generateColorsOverride from LocalColorEx...

Bug: 194138049

// Using original change's merged-in tag to avoid clashing
Merged-In: I3fb76b6036cb909771b789eac15742df78c2c742
Merged-In: I4da9ad1cc88be251f97e86b6c8c9b346ed20f586

Change-Id: I3835dfb8efe745dc0a654712a5b1f68c4946f446
2021-07-20 00:44:42 +00:00
Brian Isganitis 74e6ced362 Use wallpaper colors for widgets in wallpaper change preview
Test: Widgets should adapt to wallpaper colors in launcher preview.
Bug: 192205054
Merged-In: I3fb76b6036cb909771b789eac15742df78c2c742
Merged-In: I4da9ad1cc88be251f97e86b6c8c9b346ed20f586
Change-Id: Ife80b07f99da913d65bff96fba2ccd76b0a2ed48
2021-07-19 16:58:20 -04:00
Brian Isganitis 57c8d68001 Use global color extraction in widgets for wallpaper preview
Test: Widgets in wallpaper app should use wallpaper colors
Bug: 192205054
Change-Id: I4da9ad1cc88be251f97e86b6c8c9b346ed20f586
2021-07-19 15:03:27 -04:00
Andras Kloczl ac3f08558c Fix launcher preview for two panel home
Test: manual
Bug: 185508060
Gif: http://shortn/_oOgKLjg5QC
Change-Id: I216b3761b3bd15c7069b92aa4a1bff8ad655b767
2021-07-13 23:13:17 +02:00
Brian Isganitis 610e43f90e Intercept touch events for launcher preview root view
This change prevents any accidental touches on any widgets in the
preview.

Test: Tapping on launcher preview in wallpaper app should never activate
a widget.
Fix: 191623924

Change-Id: Iac7eab057ec33ff491365a993af75a0b06a27f7e
Merged-In: I98d462eca699cf368dcd5894f15584f280932ccc
2021-06-29 23:59:03 +00:00
Brian Isganitis 3b39f3164b Intercept touch events for launcher preview root view
This change prevents any accidental touches on any widgets in the
preview.

Test: Tapping on launcher preview in wallpaper app should never activate
a widget.
Bug: 191623924

Change-Id: I98d462eca699cf368dcd5894f15584f280932ccc
2021-06-29 16:07:16 -04:00
Brian Isganitis 4a76315805 Use wallpaper colors for widgets in wallpaper change preview
Test: Widgets should adapt to new wallpaper colors in launcher preview.
Bug: 191499358
Change-Id: I3fb76b6036cb909771b789eac15742df78c2c742
2021-06-21 19:18:17 -04:00
Brian Isganitis c79d577f18 Load widgets in wallpaper app launcher preview
Test: Widgets in wallpaper app launcher preview rendered
Bug: 185306338
Change-Id: I38569d2ff0b64ba55eb188afa42fba4100aae7ff
2021-06-18 15:47:56 -04:00
Sunny Goyal 5d5085c5c3 Fixing widget not laid-out properly in preview
Bug: 185306338
Test: Manual
Change-Id: Ib1ec8a53e4701f6813813b86bf481b837127a909
2021-06-16 15:24:16 -07:00
Andras Kloczl 55edfe55f7 Add two panel home support for page binding logic
There's a logic which prioritizes the binding for the
current page and defers the other pages' binding.
If two panel home is enabled, we want to bind both pages
together. LauncherPageRestoreHelper has been created to
contain the logic for persisting restoring and calculating
which pages to load immediately.

Test: manual + run LauncherPageRestoreHelperTest robo test
Bug: 174464691
Change-Id: I57ac3f7150303b95b272e922f44bda26f9d5ce2a
2021-05-24 23:22:06 +02:00
Chihhang Chuang ccb71776c6 Apply the current system window insets to launcher preview
For wallpaper picker, the position of app icon on the wallpaper preview would match to the launcher after applying the wallpaper.

Wallpaper picker: https://screenshot.googleplex.com/JZazpgZLgzacZMZ.png
Launcher: https://screenshot.googleplex.com/9uTTQwdmcnFZ7Vi.png
Gesture mode: https://screenshot.googleplex.com/3YaKbBerYgtHBFb.png
3-button mode: https://screenshot.googleplex.com/7sA5nE3GmbuKf62.png

Fixes: 188539072
Test: Manually
Change-Id: I553000e6ae646207eb94fa33e97d00a3990043c8
2021-05-21 14:41:37 +08:00
Sunny Goyal df4241ca4e Fixing Launcher preview leaking surface and memory
> Closing existing preview if a new request comes for same host token
> Closing in-memory icon db when closing preview
> Removing unnecessary wait blocks on UI thread and rendering
  view asynchronously
> Fixing preview loading failing on LauncherAppState access

Bug: 186712316
Bug: 187140897
Test: Manual
Change-Id: I045930b007e5dc015320224a197eee20a8354d17
2021-05-20 21:37:28 +00:00
Sunny Goyal c52c0782a7 Merge "Adding support for determining split layout for launcher." into sc-dev 2021-05-04 22:33:38 +00:00
Sunny Goyal 9ab43772ab Adding support for using themed icons on workspace
Bug: 183641907
Test: Manual

Change-Id: Ieda7e73b3ae4dfe3009e3f23754aff5f8826a967
2021-05-03 20:00:38 -07:00
Sunny Goyal 19ff728b92 Adding support for determining split layout for launcher.
> Simulating the windo wmanager API to get available device
  profiles until final API
> When a device has multiple internal displays, and with both
  tablet and phone possibilities, it uses a split workspace layout

Bug: 186160341
Bug: 175782275
Test: Manual
Change-Id: Ieff2329acac7cdd6b9abe6f96cd459cd45bd0efe
2021-05-03 14:48:28 -07:00