Commit Graph

2141 Commits

Author SHA1 Message Date
Vadim Tryshev 8f7ca126b0 Merge "Making Launcher3Tests "abtd atest"-compatible" into tm-qpr-dev 2023-03-06 19:59:03 +00:00
Jeremy Sim ad9bdcfd2d Merge "Create TAPL test suite for splitscreen" into tm-qpr-dev 2023-03-04 01:10:47 +00:00
Sunny Goyal b138ec9fc6 Adding support for overriding flag values in test
Bug: 270386012
Test: Verified on device
Change-Id: Ic1af9ca369c0cd2ec49d98875f7b97e90a0050ca
2023-03-03 09:29:42 -08:00
Jeremy Sim 03815e6c79 Create TAPL test suite for splitscreen
This patch creates a new file, TaplTestsSplitscreen.java, containing one TAPL test sequence.

testSplitAppFromHomeWithItself() tests the user flow of splitting from home using an app that is already running, and then selecting the app itself again as a split target from the Taskbar. The expected result is that Launcher shows an error message gracefully and does not crash.

Fixes: 267554450
Test: Ran test file locally and verified that it passes.
Change-Id: I98a1e3a4143d10a6572175711059b3a77aa5dcd0
2023-03-02 16:35:54 -08:00
Vadim Tryshev 990a32e7cf Making Launcher3Tests "abtd atest"-compatible
Test: labtest
Bug: 187761685

Change-Id: I3e7ed63eb8cfa0d634d720a692e050deb8736906
2023-03-02 23:06:37 +00:00
Stefan Andonian 5bd9a225a8 Preload expensive objects before user is unlocked.
This change includes migrating data required for starting the launcher
from encrypted storage into device protected storage. All of the data
being moved has already been approved by the correct authorities.

Bug: 251502424
Test: Performed latency testing using logs from user unlock until first
workspace screen loaded.

Change-Id: I58b0cd1c7bad260c2252f9e172ef85ab885c7fe9
2023-03-01 23:09:07 +00:00
Schneider Victor-tulias e09fecc272 Merge "Add debug logs to help investigate view and activity leak test failures." into tm-qpr-dev 2023-03-01 17:14:27 +00:00
Jordan Demeulenaere be82bc661c Format files with the upcoming version of ktfmt
This CL was generated automatically from the following command:

$ external/ktfmt/prepare_upgrade.py --repo=packages/apps/Launcher3/ --build_id=9645412 --bug_id=266197805

This CL formats all files already correctly formatted with the upcoming
version of ktfmt.

Bug: 266197805
Test: Presubmits
Change-Id: Ide7d63a75fed98aabe348821355356c77f00a9ec
Merged-In: Ide7d63a75fed98aabe348821355356c77f00a9ec
2023-03-01 09:11:48 +00:00
Sunny Goyal 1297f400bc Merge "Moving flag creation to a separate file" into tm-qpr-dev 2023-02-28 19:18:25 +00:00
Sunny Goyal 98204add71 Moving flag creation to a separate file
> This provides better control over proguarding descriptions
> Enforcing bug number in flag creation

Bug: 270386012
Test: Presubmit and verified on device
Change-Id: I31014e397690379024d2e42c0e913ce806b9569c
Merged-In: I31014e397690379024d2e42c0e913ce806b9569c
2023-02-28 18:05:42 +00:00
Schneider Victor-tulias 5c817a7fdb Add debug logs to help investigate view and activity leak test failures.
Test: MemoryTests
Bug: 260260325
Change-Id: I510d9bb3a5a8a273fd0e5fb09de05354c959fbde
2023-02-27 11:00:10 -08:00
Helen Cheuk a695986d56 Merge "Update folder row and column for 5x5 grid to 4x4. Update dump method to include changed properties and add dump test for 5x5 grid" into tm-qpr-dev 2023-02-27 17:55:42 +00:00
Sebastián Franco 2e1524ec2f Merge "Binding tests to TouchInteractionService to preventing it from getting destroyed" into tm-qpr-dev 2023-02-25 00:45:46 +00:00
Schneider Victor-tulias cd17310656 Merge "Add debug logs to debug flaky workspace binding" into tm-qpr-dev 2023-02-24 21:12:41 +00:00
Helen Cheuk 599109b23f Update folder row and column for 5x5 grid to 4x4. Update dump method to include changed properties and add dump test for 5x5 grid
Originally folder row and column for 5x5 grid was 3x3. This change is to update it to 4x4 in config to increase the max number of cells displayed. It also adds corresponding test for 5x5 grid and includes numFolderRows and numFolderColumns in the dump string

Fix: 265139500
Test: DeviceProfileDumpTest
Change-Id: I09fe3eac8113a147cb895988e5424471e4e772e5
2023-02-24 14:40:50 +00:00
Ling Wo 6d3658dd0c Merge "Revert^2 "Expose getSearchBox from the HomeAllApps class"" into tm-qpr-dev 2023-02-24 02:24:54 +00:00
Ling Wo d70c8a743d Revert^2 "Expose getSearchBox from the HomeAllApps class"
Reverted changes: /q/submissionid:21128652-revert-20714047-b_255390519-CAXVPNWYOY

Change-Id: I0e9680408e8b1db85600a226d808669c65ba4967
Bug: b/266169958
2023-02-23 02:42:09 +00: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
Stefan Andonian 78187b3812 Merge changes from topic "idp_grid_name" into tm-qpr-dev
* changes:
  Add unit test and fix bug related to "Migrate IDP_GRID_NAME usage to LauncherPrefs" CL.
  Revert "Revert "Migrate IDP_GRID_NAME usage to LauncherPrefs""
2023-02-22 22:09:42 +00:00
Schneider Victor-tulias 6b94a960c0 Add debug logs to debug flaky workspace binding
Bug: 270216650
Test: ReorderWidgets
Change-Id: I6fa2eab98c0268000ef4c44980c2917d5ef1bc89
2023-02-22 13:05:13 -08:00
Stefan Andonian 246eeaaea1 Add unit test and fix bug related to "Migrate IDP_GRID_NAME usage to LauncherPrefs" CL.
The issue was that kotlin initializes class variables before contructor
variables, but allows constructor variables to be referenced by
the class variables before they are initialized. This led to `isBackedUp`
always being false, and then the SharedPreference store always and only
checking if values were in DEVICE_PREFERENCES rather than the standard
backed up preferences.

The fix is to make the class variable sharedPrefFile lazily retrieved.
That way, isBackedUp will have been initialized and behave correctly.

Bug: 269569568
Test: Everything works on device and manual and unit tests
verified original bug is not present.

Change-Id: I8ab4a5752886ce8f4a2988295fa61c8a2c38ec7c
2023-02-22 19:05:00 +00:00
Stefan Andonian 4c9612be30 Revert "Revert "Migrate IDP_GRID_NAME usage to LauncherPrefs""
This reverts commit df11959779.

Bug: 269569568
Test: In follow-up CL, everything works on device and manual and unit tests
verified original bug from this CL is not present.

Change-Id: I125bbbfd6442cd3fa1e88c9109de536b88981dc6
2023-02-22 18:53:26 +00:00
Stefan Andonian 429460beae Re-add LockedUserState util that was reverted after TAPL test failures.
Bug: 251502424
Test: Unit tests all passed.
Change-Id: I80f1d521d430edf6c4d5e027d14e2087ed7e04f1
2023-02-22 18:49:21 +00:00
Sebastian Franco 0451d239ed Binding tests to TouchInteractionService to preventing it from getting destroyed
Fix: 257514573
Bug: 266716173
Test: atest MemoryTests
Test: atest TaplTestsLauncher3#testDragAppIcon
Change-Id: Ib53bf11f45f9e05bf55116d52f3406f45dfaf6c2
2023-02-22 10:14:29 -08: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
Stefan Andonian b7221177b4 Merge "Revert "Migrate IDP_GRID_NAME usage to LauncherPrefs"" into tm-qpr-dev 2023-02-21 18:12:55 +00:00
Stefan Andonian df11959779 Revert "Migrate IDP_GRID_NAME usage to LauncherPrefs"
This reverts commit 6f9a57186c.

Reason for revert: A Bug where only device preferences were being used, not the main shared preference file.

Bug: 269569568
Test: Verified this on device.
Change-Id: I8422b2d7073537bd46c3a91033bd2281bbd306b7
2023-02-21 18:12:11 +00:00
Robin Lee aafeb82613 Revert "Refactor the OnUserUnlock code out of RecentsAnimationDeviceState and"
This reverts commit 2a58ddb89f.

Reason for revert: b/266987957

Change-Id: I4a4a1f01a693d703f4dc87e8169fbf374729d274
2023-02-17 19:45:27 +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
TreeHugger Robot 1b7a140693 Merge "Making ReorderWidget test more reliable" into tm-qpr-dev 2023-02-15 22:50:20 +00:00
Stefan Andonian 3a14f1331d Merge "Refactor Workspace Loading / Processing code." into tm-qpr-dev 2023-02-15 22:16:29 +00:00
Stefan Andonian 3788da6285 Merge "Migrate IDP_GRID_NAME usage to LauncherPrefs" into tm-qpr-dev 2023-02-15 18:58:41 +00:00
Stefan Andonian 05ca3a8089 Refactor Workspace Loading / Processing code.
There are no behavioral changes (other than we no longer are recycling
objects while processing workspace items), but this refactor will setup
the next change to load the first workspace page before other workspace
pages.

Bug: 251502424
Test: Workspace, app widgets, and containers loaded properly.
Change-Id: I437aab40000d841d7fcc4380d05ab4a8f5d5c2ad
2023-02-15 17:36:27 +00:00
Thales Lima 0af71f85dd Merge "Create a DeviceProfileDumpTest for nonquickstep" into tm-qpr-dev 2023-02-15 09:46:11 +00:00
Stefan Andonian 6f9a57186c Migrate IDP_GRID_NAME usage to LauncherPrefs
Bug: 251502424
Test: Grid functionality still worked just fine on device when I tested
it locally.

Change-Id: I23676572637f194e1f739e4b39159311870abc32
2023-02-15 06:01:47 +00:00
Sunny Goyal 892fab2c14 Using DiffUtil for calculating widget diff instead
of a custom implementation

This uses the same version as all-apps and avoids whole list refresh
when a widget entry is expanded for the first time

Removing tests which were essentially testing the diffing logic

Bug: 268646258
Test: Verified on device
Change-Id: I4799c66b4674e754547317317e7a63f098fce735
2023-02-14 20:59:29 +00:00
Sebastian Franco 81b82720de Making ReorderWidget test more reliable
In some cases when starting to drag you can go to the next
CellLayout wich end in an error. Now the dragging functions
will move the item to the desired CellLayout no matter what
CellLayout you start in.

Fix: 266116487
Test: atest ReorderWidgets
Change-Id: Ie3ad2ff88f734856e2c66d5d51b7578482877b5a
2023-02-13 11:02:09 -08:00
Thales Lima 69166dd054 Create a DeviceProfileDumpTest for nonquickstep
This makes sure we are still testing non scalable grids as well

Bug: 241386436
Test: DeviceProfileDumpTest
Change-Id: I06b442cf1052a952ee834f98c5005ea8e950c2f0
2023-02-13 17:31:13 +00:00
Sunny Goyal 77e732a1c4 Moving widget background to xml, so that the same constantstate is
used for all entries

This helps reduce launcher memory by avoiding multuple duplicate
drawable generation

Bug: 268646258
Test: Verified on device
Change-Id: I829750f081cfce65063b35a614b903066d9a4bed
2023-02-13 05:49:31 +00:00
Sunny Goyal 62a4932310 Removing unnecessary search header duplication
Bug: 268646258
Test: Verified on device
Change-Id: I33a7df6a523e5600dc6251c3d8feff1236362705
2023-02-10 11:26:05 -08:00
Federico Baron 740541e0a0 Merge "Implement two pane widget picker" into tm-qpr-dev 2023-02-10 17:20:55 +00:00
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
Brandon Dayauon fb9c4d25c4 Merge "Method to override feature flag" into tm-qpr-dev 2023-02-09 23:31:47 +00:00
Brandon Dayauon 533e4856b4 Method to override feature flag
- Replaced where it's used in GridSizeMigrationUtilTest.kt

bug: 268094298
test: manually/presubmit and GridSizeMigrationUtilTest photo: https://screenshot.googleplex.com/7cLtFSbBvxnYAFM
Change-Id: Id8e688b95b91b1b6a4962a4e092505cbb79603f7
2023-02-08 17:01:46 -08:00
Thales Lima 1a2d4bd6f4 Create an XML parser for WorkspaceSpecs
Extract DeviceProfileTest to Launcher3 so it can be used in other tests as well, and change name of previous base test to be more descriptive.

Bug: 241386436
Test: WorkspaceSpecsTest
Change-Id: I64613bb5a23c374ed15fb6d936192236a541ab9b
2023-02-08 11:20:14 +00:00
Thales Lima fcb6a5fc06 Merge "Improvements for All Apps on different display sizes" into tm-qpr-dev 2023-02-08 10:02:17 +00:00
Nicolo' Mazzucato e8ee34ad8a Move Launcher classes shared between tests and prod in a separate lib
This is necessary because otherwise those are included in several gradle projects. Gradle doesn't support the same files imported in different projects, and it removes them from a random one if it happens, resulting in missing symbols.

This extracts the shared files in a new target, and adds it as dep of the original target.

Test: Build launcher + execute a few tests manually with gradle + verify that Launcher.java can resolve all symbols with gradle config
Bug: 262267728
Change-Id: Ida5b25c45320d517603834112f4699e4d3344c03
2023-02-07 12:03:10 +00:00
TreeHugger Robot 4a2bf3b131 Merge "Update tests to support floating search." into tm-qpr-dev 2023-02-06 23:50:49 +00:00
Andy Wickham 8d004b0f49 Update tests to support floating search.
Tests need to be updated to account for the new placement of the
searchbar because it overlapped with touch events for scrolling:
 - Scroll back to top: Instead of scrolling from the top of the
   container which could overlap status bar in landscape, scroll
   from the bottom of the top-most visible app icon.
 - Scroll down: swipe up from bottom padding to top of top-most
   visible icon.
 - Close all apps: swipe down more quickly from top icon insetad
   of the search bar (more quickly helps it be detected as a
   fling on more cramped devices).

For Launcher3, the floating flag is not fully supported yet, so
there were some layout issues which are now resolved by ignoring
the flag if the searchbar is still at the top.

Fix: 268052768
Test: Ran tests, manual
Change-Id: If54717e2835c7cc4ed1368554bbc493193945c1d
Merged-In: I406fbcbe12acddb1dd4b862a380576a48cabbebc
2023-02-06 13:49:14 -08:00
TreeHugger Robot a3e61240b1 Merge "Add instruction to put the device into test harness to error message" into tm-qpr-dev 2023-02-06 09:52:06 +00:00