Commit Graph

195 Commits

Author SHA1 Message Date
Michael Groover
5e0eecc064 Add unaudited exported flag to exposed runtime receivers
Android T allows apps to declare a runtime receiver as not exported
by invoking registerReceiver with a new RECEIVER_NOT_EXPORTED flag;
receivers registered with this flag will only receive broadcasts from
the platform and the app itself. However to ensure developers can
properly protect their receivers, all apps targeting U or later
registering a receiver for non-system broadcasts must specify either
the exported or not exported flag when invoking #registerReceiver;
if one of these flags is not provided, the platform will throw a
SecurityException. This commit updates all the exposed receivers
with a new RECEIVER_EXPORTED_UNAUDITED flag to maintain the existing
behavior of exporting the receiver while also flagging the receiver
for audit before the U release.

Bug: 234659204
Test: Build
Change-Id: I6660cfb00244470edfb2411dadfca81afed42343
2022-10-04 17:15:36 -05:00
Sebastian Franco
314bbf1cba Adding support to add icons in the workspace for tests
Test: atest ReorderWidgets
Bug: 243440737
Change-Id: Ic656cef079be965d17ab1b58d5f73ce955c9374c
2022-08-31 16:29:53 -07: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
Tracy Zhou
86a844c976 Add splitFromOverviewForTablet test
Design doc: go/split_tapl

Bug: 238553914
Test: run this test

Change-Id: Ibb385d852f73dee10470d14c4962cf482740105d
2022-07-19 01:57:35 +00:00
Nicolo' Mazzucato
f67536e1eb Allow workspace to provide icon positions in tests
This is needed in order to implement a test for the unfold animation.
getWorkspaceAndHotseatIconsPositions returns map that associate icon name with its center on the screen

Test: atest TaplTestsLauncher3
Bug: 220087235
Change-Id: I254aa0c146edf4cae1c2bf5c09dec000993eb4d8
2022-05-04 20:27:11 +00:00
Anushree Ganjam
5cc7ff0990 Revert "Refactors Search results into separate RV for Toast."
This reverts commit 6729f0b950.

Reason for revert: This change caused b/230648542.

Please see https://b.corp.google.com/issues/230648542#comment5 for the video after reverting this change.

Bug: 206905515
Bug: 230648542

Change-Id: I85f063c56cad137c05b810204244bba7e8f94ee7
2022-04-28 01:37:49 +00:00
Andy Wickham
6729f0b950 Refactors Search results into separate RV for Toast.
This will help enable transitions between A-Z apps lists and
search results because both can be seen simultaneously and
manipulated independently.

Some high level items of the refactor:
 - SearchRecyclerView is added; logic that populated the main
   (personal) tab with search results was simply redirected to
   this RV instead.
 - BaseAllAppsContainerView added isSearching() method. Returns
   false, and ActivityAllAppsContainerView overrides (as search
   is handled there).
 - Renamed BaseRecyclerView to FastScrollRecyclerView to better
   describe what it does. SearchRecyclerView extends this, but
   returns false for supportsFastScrolling().
 - AlphabeticalAppsList#mAllAppsStore is now optional, so the
   Search RV doesn't need to store/listen to apps. Note this
   doesn't affect the predicted app row which is still updated
   if one of the predicted apps is uninstalled (I tested this).

Future work:
 - Determine why dispatchRestoreInstanceState is not called for
   BaseAllAppsContainerView. Save is called, e.g. on rotation.
   Effect of restore not called: rotating while searching goes
   back to A-Z list.
 - Keep suggested apps in Header while searching. Currently they
   are rendered in the SearchRV above search results, as before.
 - Potentially extract Personal/Work tabs to move independently of
   header.
 - AlphabeticalAppsList is a misleading name because it can also
   contains search results. However, things are pretty intertwined
   between that and BaseAllAppsAdapter (effectively a circular
   dependency), so I figured cleaning all that up was out of the
   immediate scope of this refactor, which is mainly meant to
   unblock transition work.

Bug: 206905515
Test: Manually checked for regressions, ran tests.
Change-Id: I4d3757c8a8f9b774956ca6be541dd4fcdad1de13
2022-04-24 17:36:48 -07:00
vadimt
25fbd5b0bb Sampling too long Launcher tests
A test that takes > 3 min will generate an artifact file containing stacks of all threads of the test process taken every 3 sec. This artifact will be also generated if the test process is killed, for example, by timeout.

This artifact should help EngProd's effort to speed up presubmits.

Bug: 225186335
Test: local runs
Change-Id: I721779bfbe5bc6289315998ed2660f5f46165611
2022-04-19 18:02:56 -07:00
Schneider Victor-tulias
fb252e7ce1 Add taskbar TAPL tests
- Added TAPL objects to support TAPL tests for taskbar features
- Added tests for major taskbar features: hiding/showing the taskbar, opening all apps, lauching apps and app deep shortcuts from the taskbar/all apps page, launching apps and app deep shortcuts in splitscreen
- These tests should only run for large devices

Design: go/taskbar-tapl-tests
Test: ran tests locally with invalid configurations and remotely
Bug: 215218813
Change-Id: I3c28c339707467414aa47fa633f87fa0c1fdee57
2022-03-10 13:02:35 -08:00
TreeHugger Robot
90ab34b1d8 Merge "Revert "Adding better diags when SysUI crashes during Launcher test"" into tm-dev 2022-03-07 23:14:49 +00:00
Vadim Tryshev
fcd569055e Revert "Adding better diags when SysUI crashes during Launcher test"
This reverts commit b0e0f5f44a.

Reason for revert: This cl prevents the ability to run tests from android studio.

Change-Id: I8a1cbcd2e8faefdd168aac5bcad4f21c73694839
2022-03-07 20:37:42 +00:00
Benno Lin
894984299f Fix Tapl drag to folder issue on S5 and R3
Bug: 205015793
Bug: 205014516
Test: atest Launcher3Tests
Test: https://android-build.googleplex.com/builds/abtd/run/L47800000953216369
Test: https://android-build.googleplex.com/builds/abtd/run/L63300000953213948
Change-Id: If481d2b6503e8d47953b00c102719c447f43da41
2022-03-04 00:58:33 +00:00
vadimt
b0e0f5f44a Adding better diags when SysUI crashes during Launcher test
Test: presubmit; sys ui tests where this rule is already used
Bug: 187761685
Change-Id: Ib4491e5c7ebbea0bb3b17fc8c4b3a6c59a3bdb2a
2022-02-28 18:59:25 +00:00
Schneider Victor-tulias
d6279ae641 Update TAPL object hierarchy in preparation for Taskbar TAPL tests
See design at: go/taskbar-tapl-tests

Test: Ran tests remotely
Bug: 215218813
Change-Id: I1c2ceac8954973ea3ae5b2f797fdfb96ba7a6ec4
2022-02-15 13:33:26 -08:00
Vadim Tryshev
21720c9a2c Revert "Revert "Removing unused tracing""
This reverts commit 827335f209.

Reason for revert: Problem solved

Bug: 195319692
Test: presubmit
Change-Id: I084c8a6b6acdaa3ee4697fc752e817d292ba0665
2022-01-22 02:46:02 +00:00
vadimt
abe8e3a947 Not generating memory dump for intentional leak tests
Memory dump can be generated only once, so generating it in the intentional leak test leaves us without a meaningful dump if a real leak happens later, and produces a confusing message that the dump was already generated.

Bug: 195319692
Test: presubmit
Change-Id: I35932deba0c46ddb27362467109daf74d75cbff4
2021-12-20 12:35:53 -08:00
vadimt
bc1da4ca98 Improving memory dump diag
atest deletes artifacts directory on the device, but saves artifacts at the host machine.

Bug: 187761685
Test: presubmit
Change-Id: I1f5244ebfe6b606c4891f5fca003541b27cc944c
2021-12-09 21:58:45 +00:00
Alex Chau
31b46953cb Add timeout to AbstractLauncherUiTest.getOnUiThread
- Send signal 6 to Launcher process when this happens to get a thread dump

Bug: 203416429
Test: labtest
Change-Id: If22b58418be33131e7f585e718a2197cda2e7365
2021-11-22 18:36:11 +00:00
Jon Miranda
8568602aaf Add back waitForStateTransitionToEnd to fix flakiness.
Bug: 202735477
Test: presubmit
Change-Id: I03c7e8b0c40177f4e6e38a7d9aa3e01b029effd6
2021-11-09 17:02:31 -08:00
Jon Miranda
f37d7a21f2 Add resume check to other WorkProfileTests to fix flakiness.
- Tests were flaky with waitForStateTransitionToEnd
- Tests stopped flaking with both waitForResume and waitForStateTransitionToEnd
- waitForResume may be enough to fix the flakiness, so
  removing waitForStateTransitionToEnd for now, if flakiness
  returns we can add it back

Bug: 202735477
Test: presubmit
Change-Id: Ib9cc16ea7815387582486517a87249d0053475f6
2021-11-09 10:14:01 -08:00
Jon Miranda
a234a8ea85 Testing to see if waiting for transition to end will fix flaky tests
Test: presubmit
Bug: 202735477
Change-Id: Icf62003b9f422cf0e327365260c36f6d57b71aef
2021-11-05 12:31:15 -07:00
Alex Chau
a917d24d2b Merge "Testing to see if using isInStableState is better condition vs getCurrentStableState" into sc-v2-dev 2021-11-04 17:43:35 +00:00
Jon Miranda
f3fbc935cd Testing to see if using isInStableState is better condition vs getCurrentStableState
Test: presubmit
Bug: 202735477
Change-Id: I06c964cc92b7731e73628210688817e2d9cf1bac
2021-11-03 11:42:01 -07:00
Benno Lin
6c00386c2b Implement pressing back button and swiping back
This CL implements a pressBack function to press back button or swiping
back in gesture navigation mode.

Bug: 199120092
Test: atest -c Launcher3Tests:com.android.launcher3.ui.TaplTestsLauncher3#testPressBack &&
    atest -c NexusLauncherTests:com.android.quickstep.TaplTestsQuickstep#testPressBack
Change-Id: I001cea17d09ae1ab7952d04ee394a2afa5bf1e67
2021-11-03 02:28:37 +00:00
Alex Chau
9b3dd6c0b9 Revert "Clear only workspace shortcut / widget related tests"
This reverts commit 22be1a47f4.

Reason for revert: Breaks another test
Bug: 202546679

Change-Id: I796c508a6d7c00ec8c1d48e3517453f9eca0616c
2021-10-18 17:52:12 +00:00
Alex Chau
22be1a47f4 Clear only workspace shortcut / widget related tests
- This ensure hotseat to be populated with default items, so it won't result in an empty taskbar which get stashed in apps
- Workspace needs to be cleared because shortcut / widget dragging won't always work if there are items in workspace. It only happens in test due to the way we drag items.

Fix: 202546679
Test: NexusLauncherTests:com.android.launcher3.ui.widget.RequestPinItemTest
Change-Id: Ib3ded6a685eaa1b169b75fd179c9e29ca4be1e72
2021-10-15 16:01:44 +01:00
sfufa@google.com
9f0981dc4f [Work profile][Test] Remove tracing logs for testWorkeduFlow
Bug: 159671700
Test: NA
Change-Id: I097134c45155f0e65ef4376fab803796f3fdb12a
2021-10-07 16:48:41 -07:00
vadimt
5ade8e890d Moving activity tracker to Launcher process
This will improve diagnostics for OOP tests,
like we now have a list of leaked activity classes.

Also some cleanups.

Bug: 187761685
Test: local runs
Change-Id: I8b5711ac727874fd826cfef9c742ea97048763e0
2021-09-27 17:36:14 +00:00
Sunny Goyal
4af8cf9269 Updating test build rules
> Moving definition to bp files
> Adding mokito-inline to allow mocking final classes
> Moving src_common to src to avoid unnecessary code split

Bug: 196825541
Test: Presubmit
Change-Id: Ib6879cda6aee74f5b9050a16eb6ca94ed3b7e28c
2021-08-18 10:22:52 -07:00
Vadim Tryshev
ed53d1c21c Revert "Revert "Removing workaround for battery defender""
This reverts commit f9ccf0175d.

Reason for revert: to see whether b/151613234 is fixed

Test: pre-, post- submit
Bug: 151613234
Change-Id: Ieda2907319d796a57494318920c22f3db4527dab
2021-08-05 20:52:58 +00:00
TreeHugger Robot
1179930b74 Merge "Logging to figure out why first dump didn't result in assertion" into sc-v2-dev 2021-08-03 20:05:19 +00:00
vadimt
25f1cd94cc Logging to figure out why first dump didn't result in assertion
Bug: 195319692
Test: presubmit
Change-Id: I4a80541a58eb8f630211de4b90836c435f6d41b2
2021-08-03 11:09:30 -07:00
Alex Chau
c2181c2be4 Re-enable leak detection on tablets
Bug: 191449914
Test: NexustLauncherTests
Change-Id: Ia2fe0826c933e646260c16d8890aaf2a47023e6d
2021-07-20 12:27:51 +01:00
TreeHugger Robot
9f867ac8b6 Merge "Enabling screen record for some flaky tests" into sc-dev am: 5c6d7c3a1f
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/15112968

Change-Id: I188875721529cbb36fd5ae37fb304953125802fc
2021-06-26 15:10:36 +00:00
Sunny Goyal
85a84e52cc Enabling screen record for some flaky tests
Bug: 187080582
Bug: 192005114
Bug: 192018189
Bug: 192010616
Test: Manual
Change-Id: I32fc0e4c9848c4def1aa6254139579bc631862cc
2021-06-25 15:40:55 -07:00
Alex Chau
7a9972289f Add touch event of on taskbar for various cases
- Temporarily disable leak detection on tablets until b/191449914 is resolved
- Add touch event on taskbar when interacting with navigation buttons
- Added TaplTestsLauncher3.initialize to StartLauncherViaGestureTests which is present in TaplTestQuickstep to solve LauncherInstrumentation being null problem on tablets

Bug: 191344757, 191449914
Test: TaplTestQuickstep and StartLauncherViaGestureTests
Change-Id: I49accc458d133717f290140abe80aae8a683f6c0
2021-06-24 18:00:12 +01:00
vadimt
143748fbf4 Detect leaks only on test success
Bug: 191690396
Test: presubmit

Change-Id: Ie59c3b944d420ac25ebba86bf500fcf33700ca99
2021-06-22 18:49:34 -07:00
vadimt
f9ccf0175d Revert "Removing workaround for battery defender"
This reverts commit f4bb052ca0.

Reason: we have new episodes of phone locking during the test.
https://flakes-clusters.corp.google.com/#?androidAtpBranch=git_sc-dev&androidAtpModule=com.google.android.apps.nexuslauncher.out_of_proc_tests&d=3&maxResults=10

https://flakes-clusters.corp.google.com/#?androidAtpBranch=git_sc-dev&androidAtpModule=com.google.android.apps.nexuslauncher.tests&d=3&maxResults=10

Search for "Phone is locked" and "Keyguard is visible".

Also, for new devices, the phone is locked consistently, see for example
Redfin here:
https://blackbox.googleplex.com/dashboard/Launcher3Main_new_devices/testsuite/git_master/nexuslauncher_oop_tests_platform/2/bramble-userdebug/0

Reverting to see whether this helps.

Bug: 151613234
Test: presubmit
Change-Id: I44a94f9722deaa21d89fdfd79646ae661ebe972d
2021-05-14 11:14:35 -07:00
vadimt
e2801bcb77 Removing pss checks in memory tests
Test: presubmit
Bug: 185181057
Change-Id: I4f504f9540b80c62cd3f1024ff1d1b57102f2ed6
2021-05-12 18:57:55 -07:00
vadimt
eefc2e1de1 Diagnosing only system health problems happened during the test
Test: presubmit
Bug: 187761685
Change-Id: I3feba12e2228fe6dda3b0d65d904b0b839da2108
2021-05-11 00:31:24 +00:00
vadimt
25ebb2d3c1 Disable strictmode leak detection
It doesn't work; the check was enabled by mistake.

Test: presubmit
Bug: 185786290
Change-Id: Ie049f1d6d7cef5acfa3ee29b5f9e9586fbeb24a5
2021-04-19 11:01:45 -07:00
vadimt
a9665751a0 Clearer diag for visible keyguard
Test: presubmit
Bug: 179508881
Change-Id: I69f2e766701e77d927169b570d2dad0bf8d4c75a
2021-04-12 20:00:45 -07:00
Sunny Goyal
940c27ef1a Using an independent drawable for rounded corners
Bug: 183641907
Test: Manual
Change-Id: I3114d43d07c03884348e1c33805545f19bb8d540
2021-03-30 14:47:44 -07:00
Tracy Zhou
9d706b1ada Fix failed test in order to enable Live Tile (in the next change)
Live tile changes certain assumptions we have for tests, for example
- Launcher will not be in the resumed state after swiping up to Overview

Also, disable live tile for 3rd party launcher for now

Test: presubmit
Fixes: 169694902
Change-Id: Ifd466db0354f59290c4f66a0a2ad4c82f1169f29
2021-03-25 19:44:36 -07:00
vadimt
ab469ac515 Better diagnosing leaked activities.
Test: manual
Bug: 181356264
Change-Id: I9bf843a1d26bc4cf255c1b8d2cce0febeaa4c4fe
2021-02-26 14:45:10 -08:00
TreeHugger Robot
f56efc0187 Merge "Adding debug tracing for Device.wait" 2021-01-20 18:58:21 +00:00
Vadim Tryshev
9e86e3b89d Merge "Removing automatic failure investigator" 2021-01-20 18:46:42 +00:00
vadimt
952471f675 Removing automatic failure investigator
It wasn't updated for a while,
creates a false impression that the failure
is already tracked, and hopefully soon
will be replaced by new clustering.

Test: presubmit
Bug: 161478674
Change-Id: Icc3716c1f534867d5e4b21d18c9cede273da8704
2021-01-19 15:14:03 -08:00
vadimt
ed86cb19bc Adding debug tracing for Device.wait
I suspect it may wait for a period of time less than
the specified one, causing flakes.

Test: presubmit
Bug: 177318681
Change-Id: I0be8790c6ee9a5831767fe83c36054ed5a84f8d7
2021-01-15 13:58:03 -08:00
vadimt
f48097f270 Correctly generating heap dumps for OOP tests
Not trying to dump the test process :)

Still using Debug.dumpHprofData for inproc because
using shell command for inproc can deadlock.

Test: manual
Bug: 177065099
Change-Id: I4b581954a01ecc8a1427409baa030aaa3b70d6b5
2021-01-14 19:43:28 -08:00