Commit Graph

1012 Commits

Author SHA1 Message Date
Federico Baron 4b1a38bb7d Implement two pane widget picker
The widget picker design is currently not optimized for large screen form factor devices.
We resolve that by adding a two pane widget picker like that of the design in go/widget-picker-2023.

Bug: 256684299
Test: Make sure to be on a tablet in landscape mode.
        1.Turn on flag LARGE_SCREEN_WIDGET_PICKER.
        2. Press and hold on an empty spot in workspace until the popup menu appears.
        3. Click widgets.
        4. Notice the new two pane layout
Change-Id: Ia3ea17dc320f72f9bc5dea52399ff51d9161602b
2023-02-09 16:36:45 -08:00
Sebastián Franco b57479c189 Merge "Adding test to make sure the icons seen when unfolded are the same when folded" into tm-qpr-dev 2023-02-03 20:39:04 +00:00
Sunny Goyal de15772052 Merge "Exposing method to register content providers in sandbox context" into tm-qpr-dev 2023-02-03 07:34:10 +00:00
Jon Miranda 5903751ee3 Merge "Update notification dot renderer when we update the taskbar icon size." into tm-qpr-dev 2023-02-03 01:34:05 +00:00
Stefan Andonian 6a4e9a34ab Merge "Migrate "isRotationAllowed" setting to LauncherPrefs." into tm-qpr-dev 2023-02-03 00:27:14 +00:00
Sunny Goyal 305cb87891 Exposing method to register content providers in sandbox context
Bug: 263286512
Test: presubmit
Change-Id: I04a8160afec2ea0d153eca113537a8778d8f3514
2023-02-02 15:20:58 -08:00
Jon Miranda 2b25ded506 Update notification dot renderer when we update the taskbar icon size.
Test: swipe to home with an app that has a notification dot
      observe no jump in dot size
Bug: 264709741

Change-Id: I5d56fe57e74ed7b094477ecd8727152f3f522042
2023-02-02 23:10:42 +00:00
Sebastian Franco 48c7f8e035 Adding test to make sure the icons seen when unfolded are the same when folded
Bug: 188081026
Test: atest FoldableItemsIntegrity
Change-Id: I7e09c03fccb89b1d218bf196433b2fe4ad09d8e0
2023-02-01 13:22:33 -08:00
Stefan Andonian 1d7f703514 Migrate "isRotationAllowed" setting to LauncherPrefs.
This semi-complicated case requires use of a context in order to get the
default value. That is why it was migrated by itself.

Bug: 261635315
Test: Manually tested all the base functionality of the launcher.
Change-Id: I40d8ccd414402b55921a0a224264414d3245871b
2023-02-01 20:26:41 +00:00
TreeHugger Robot 18be12d0dd Merge "Add @ScreenRecord to testPressHomeOnAllAppsContextMenu" into tm-qpr-dev 2023-02-01 18:51:31 +00:00
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
hyunyoungs 50b824392a Add @ScreenRecord to testPressHomeOnAllAppsContextMenu
Bug: 264538883
Test: seems to run fin on tm-qpr-dev
Change-Id: If395260ba58496282b651e1938e28f3cef22654f
2023-01-28 18:55:05 -08:00
Thales Lima d852d65693 Create attr for padding between icon and text in cells
Bug: 265210314
Test: DeviceProfileDumpTest
Change-Id: I00af790d0c21c35f1cbce1362e63d3ab8259244a
Merged-In: I00af790d0c21c35f1cbce1362e63d3ab8259244a
2023-01-26 22:50:18 +00:00
Sebastián Franco 68f5667338 Merge "Adding the avility to add icons on multiple CellLayouts on tests." into tm-qpr-dev 2023-01-24 20:02:35 +00:00
Sunny Goyal a992ac9e8d Moving all intent receiver register calls to a single place
This is eventually allow us to move all register to background thread
Also creating a single ScreenOn tracked which is used at multiple places

Bug: 264465756
Test: Verified on device
Change-Id: Ibadf9ca43218e578954420d97a733adfa0a94fc7
Merged-In: Ib410e5bf02773cefde5bf0a0a1f2f1c108718d24
2023-01-22 05:24:48 +00:00
Sebastián Franco 48651b2109 Merge "Remove unused Throw Throwable from clearHomescreen method" into tm-qpr-dev 2023-01-18 01:12:23 +00:00
Stefan Andonian 1eb59d6c6a Merge "Expanded LauncherPrefs APIs to Replace Direct Shared Preference Usage." into tm-qpr-dev 2023-01-17 18:23:10 +00:00
Sebastian Franco de1fe14a47 Adding the avility to add icons on multiple CellLayouts on tests.
I needed to change the code so that you can pass the CellX/Y
position to the drag function instead of the pixel coordinates
and we can pass X position bigger than one CellLayout.

Also, I notice that getCellCenter only worked for 1x1 items
so I added the option to specify the widget size.

Fix: 262431878
Test: atest ReorderWidgets#multipleCellLayoutsSimpleReorder
Change-Id: I3b09de770e8f99aa10cae8cea32e7e6bc02c7b8b
2023-01-16 10:32:40 -06:00
Stefan Andonian d1b33b311c Expanded LauncherPrefs APIs to Replace Direct Shared Preference Usage.
LauncherPrefs will contain Launcher's shared preference functionality.
It controls optimizations and classifications such as restorable vs
non-restorable data, bootaware vs non-bootaware data, and configurations
such as default values  so the calling code doesn't need to and our code
base can have a single source of truth for items that are used in
multiple places.

The old APIs remain in place, but are deprecated and will be removed
after all Shared Preference usage has been gated by LauncherPrefs in
future CLs.

Bug: 261635315
Test: Manually tested themed icon, Workspace configuration, and app
install functionality.

Change-Id: I29fd516468bc93fda393062e95be26b6d55c816e
2023-01-14 00:54:15 +00:00
Sebastian Franco 877088e6c3 Change the access of cellX/Y of CellLayoutLayoutParams to private
Bug: 188081026
Test: no op change, should compile
Test: ReorderWidgets
Change-Id: I20367974e5a4cead406e18eb66dafd4d59651b2a
Merged-In: I20367974e5a4cead406e18eb66dafd4d59651b2a
2023-01-13 18:25:10 +00:00
Sebastian Franco 9db35f7a37 Remove unused Throw Throwable from clearHomescreen method
Test: presubmit
Bug: 263802298
Change-Id: I4b81e044eb4f6a84730fb4d61403cbfcadefd282
2023-01-12 10:41:34 -06:00
Christophe Pinelli 9d46bca1b9 Make mutable PendingIntent explicit
Starting from target SDK U, we will block creation of mutable
PendingIntents with implicit Intents because attackers can mutate the
Intent object within and launch altered behavior on behalf of victim
apps. For more details on the vulnerability, see go/pendingintent-rca.

From a quick analysis, we concluded that the PendingIntent here was only
destined to the test app/to the app, so it was made explicit. Reviewers,
please call out if this is not the case.

Bug: 236704164
Test: atest NexusLauncherTests:com.android.quickstep.DigitalWellBeingToastTest
Test: atest RequestPinItemTest
Change-Id: I81311b0588b7b712c97de6cb016a62bb91c7a77c
2023-01-12 01:51:44 +00:00
Stefan Andonian 2a58ddb89f Refactor the OnUserUnlock code out of RecentsAnimationDeviceState and
into its own class.

Bug: 251502424
Test: Compilation threw no errors and user unlock behavior worked
correctly.

Change-Id: Ifa42dc32f90dfa4fda8df0e52811ddfe20cc5a9b
2023-01-11 19:33:32 +00:00
Thales Lima bdfc07f1f0 Merge "Check kotlin format before uploading" into tm-qpr-dev 2023-01-10 16:41:58 +00:00
Thales Lima 03ac377a34 Check kotlin format before uploading
This uses ktfmt on the PREUPLOAD hook to check file formatting.

Bug: 264851618
Test: manual
Change-Id: I8bdeabd9c1ed571a464707e6912419ad3190a169
Merged-In: I8bdeabd9c1ed571a464707e6912419ad3190a169
2023-01-10 13:24:43 +00:00
Sebastián Franco b66293e96d Merge "Printing the workspace items to improve flake investigation." into tm-qpr-dev 2023-01-09 23:20:51 +00:00
Sebastian Franco 1cf1e3b025 Removing screen recording for testShortcutIconWithTheme
Bug: 260722220
Test: compiles
Change-Id: I7f5ac09bc7e9deb9af3e90dbd99826bb8c4db11f
2023-01-09 14:19:14 -06:00
TreeHugger Robot 2f4a1b9980 Merge "Re-enable AddConfigWidgetTest" into tm-qpr-dev 2023-01-06 21:34:05 +00:00
Sebastian Franco f34f35fddb Printing the workspace items to improve flake investigation.
Recording the screen to investigates flakes on ReorderWidgets
is really useful but it requires changing the code for that and
storing the video and most of the time the useful information
is just the end state so by logging the end state makes resolving
flakes easier

Fix: 261877803
Test: atest ReorderWidgets
Change-Id: If5d9745ebb57826a55b5df9d3599eed56c48298f
2023-01-06 12:29:11 -06:00
TreeHugger Robot 1973056e40 Merge "Revert "Add logging to help debug additional app infos being updated by CacheDataUpdatedTask"" into tm-qpr-dev 2023-01-05 20:04:07 +00:00
TreeHugger Robot 2825d06382 Merge "Re-enabling testShortcutIconWithTheme" into tm-qpr-dev 2023-01-05 19:46:30 +00:00
Sunny Goyal 62ea1f1cb7 Re-enabling testShortcutIconWithTheme
> Updating shortcut id incache the icon cache was the culprit

Bug: 260722220
Test: Verified locally
Change-Id: I0e6bc9b06d1b99e33cb9b1a248647d54bf47dea4
2023-01-04 13:05:42 -08:00
Schneider Victor-tulias 5455b85291 Revert "Add logging to help debug additional app infos being updated by CacheDataUpdatedTask"
This reverts commit 62511de74e.

Reason for revert: bug not reproducing

Fixes: 20747317
Change-Id: I55c1fe8005fee66db53052aab15e152e6d39a34c
2023-01-04 18:27:00 +00:00
vadimt d9ca71b1d9 Ignoring failing out-of-SLO test
Test: presubmit
Bug: 243855320
Change-Id: I7795bdae6b30cd663fa4e6cbba118d84d57ec96d
2023-01-03 12:46:43 -08:00
Luca Zuccarini 55d828b6f5 Add Tapl support for swiping from All Apps to Workspace.
This mirrors the way we swipe from Workspace to All Apps, with minor
differences for selecting the start position of the swipe motion.

Bug: 260218332
Test: included
Change-Id: I9fe2284b1c920ebed87a6bab3dfc9c8c29aa2d5d
2022-12-21 15:38:51 +00:00
Sihua Ma 04c89fe38e Merge "Add QuickstepWidgetHolder for widget handling" into tm-qpr-dev 2022-12-19 18:22:38 +00:00
Thales Lima 6a59006592 Polish hotseat and taskbar with 3 buttons
Change margin spaces and logic of how many items the hotseat and taskbar should show.

Fix: 246424857
Test: DeviceProfileDumpTest
Test: HotseatWidthCalculationTest
Change-Id: I8ec71c56a0aa362483c43d6400c762d12cf45f5b
2022-12-17 11:20:21 +00:00
Sihua Ma 1db8bc2467 Add QuickstepWidgetHolder for widget handling
Fix: 235358918
Test: Manual
1. Rebooted the device and verified that widgets are still updating properly
2. Changed the theme from dark to daylight, then from daylight back to dark and verified that widgets are working
3. Kept the device on for several days and verified that widgets are still updating
4. Turn on auto-rotate for the launcher, open any app then exit, verified that widgets will not vanish and reappear
5. Add & remove widgets from the screen, added widgets are still updating

Change-Id: I98ee902f7d16b47bd77626201a4fefc897ba17a0
2022-12-16 11:56:36 -08:00
Alex Chau f8b79d4235 Use overridden default xml for TwoPanelWorkspaceTest
- Partially reverted TAPL and TwoPanelWorkspaceTest changes on http://ag/19195512

Fix: 262627208
Fix: 262632384
Test: TwoPanelWorkspaceTest
Change-Id: I8b793bfb3874cc6305ce8b0f9f7b0a116d01222b
2022-12-15 15:48:09 +00:00
Alex Chau 8a7dc2b244 Merge "Remove unnecessary GridDisplayOption_defaultSplitDisplayLayoutId attribute" into tm-qpr-dev 2022-12-14 21:50:34 +00:00
Pinyao Ting 08f724635d Re-enable AddConfigWidgetTest
Bug: 261485458
Test: atest AddConfigWidgetTest
Change-Id: I6bb209e16000458a0faaada6bcc4f5bec2e5a3e5
2022-12-13 17:27:07 +00:00
Alex Chau be753137a2 Don't scale iconSize and textSize in non-default display size
- Cells should get extra space by reducing borderSpace. If that's still not enough, use 0 borderSpace and distribute the space

Fix: 256976071
Fix: 248348171
Test: manual
Change-Id: I067c1aaa553d7a84caeeb9ce21e80cfaf86a3bed
2022-12-13 16:30:14 +00:00
Sunny Goyal 55cfcfcab1 Merge "Ignore all launcher3 flaky test so that they come back online" into tm-qpr-dev 2022-12-12 17:32:29 +00:00
TreeHugger Robot 9c19638ca3 Merge "Support mouse right click on HomeScreen to show the customization menu" into tm-qpr-dev 2022-12-11 01:57:52 +00:00
Sebastian Franco 09c9cb5481 Ignore all launcher3 flaky test so that they come back online
Dashboards in: https://sites.google.com/corp/a/google.com/gnl/testing#h.p_ID_32

Bug: 256832045
Test: dashboard should not show flaky tests
Change-Id: I3e4bbf14c87e23b42a010a3cad046bb4852bd641
2022-12-09 16:12:53 -08:00
Fengjiang Li a6a67e347d Support mouse right click on HomeScreen to show the customization menu
Bug: b/250089861
Fix: b/250089861
Test: Manual Testing
Video: https://b.corp.google.com/action/issues/250089861/attachments/40243664?download=true
Change-Id: Ia23e302bf8f3e18fafd6ccd079740c8005ae7860
2022-12-09 02:44:09 +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
Alex Chau 766cd2b4b9 Remove unnecessary GridDisplayOption_defaultSplitDisplayLayoutId attribute
- Can use deviceCategory to make grid specific to splitDisplay instead
- Update TwoPanelWorkspaceTest for new workspace items

Fix: 233736588
Test: Clear launcher and check the default
Test: TwoPanelWorkspaceTest
Change-Id: I6ad3a2d866d847af281e10b802edbd4bcc892c39
2022-12-07 15:18:28 +00:00
Sebastian Franco 150e572e05 Ignore all launcher3 flaky test so that they come back online
Test dashboard: https://android-build.googleplex.com/builds/tests/search?filter=mediumFailureRate&filter=highFailureRate&query=config%3Av2%2Fgnl-eng%2Funbundled%2Flauncher%2Flauncher3_test_platform+latest%3A4d&tab=tests

Test: dashboard should not show flaky tests
Bug: 256832045
Change-Id: I06e879dec2703455b7be728c7afd3500d2edd54a
2022-12-06 17:08:45 -08:00
Sebastian Franco 5356ff955c Creating a new alarm when drag X,Y change
If the user is changing the X and Y of the reorder, wich requires
the user to move at least one Workspace cell from the previous
position, then it doesn't make sense to wait for the previous alarm to finish
to start a new reorder.

Also, I added a new test to run on foldable devices.

Fix: 259995663
Fix: 259295374
Test: atest ReorderWidgets (it mostly fails on postsubmit)
Test: modify ReorderWidgets.fullReorder to run 20 times and it should work, before the chagne it would fail.
Change-Id: Ic6b436ea1088f8092c849e9791862947e9035c9f
2022-12-05 16:37:45 -08:00