Merge 25Q1 (ab/12770256) to aosp-main-future
Bug: 385190204
Merged-In: If1b2b860305f3a02384debe20cd314244901237b
Change-Id: I5057a94f19b9bb35722ed1d8653fb6fd0c34aa78
diff --git a/hostsidetests/rollback/app/src/com/android/cts_root/rollback/host/app/HostTestHelper.java b/hostsidetests/rollback/app/src/com/android/cts_root/rollback/host/app/HostTestHelper.java
index 7b5aa79..9e9047a 100644
--- a/hostsidetests/rollback/app/src/com/android/cts_root/rollback/host/app/HostTestHelper.java
+++ b/hostsidetests/rollback/app/src/com/android/cts_root/rollback/host/app/HostTestHelper.java
@@ -61,7 +61,8 @@
Manifest.permission.DELETE_PACKAGES,
Manifest.permission.TEST_MANAGE_ROLLBACKS,
Manifest.permission.FORCE_STOP_PACKAGES,
- Manifest.permission.WRITE_DEVICE_CONFIG);
+ Manifest.permission.WRITE_DEVICE_CONFIG,
+ Manifest.permission.WRITE_ALLOWLISTED_DEVICE_CONFIG);
}
@After
diff --git a/tests/input/AndroidManifest.xml b/tests/input/AndroidManifest.xml
index 47b55be..5f2ae83 100644
--- a/tests/input/AndroidManifest.xml
+++ b/tests/input/AndroidManifest.xml
@@ -17,6 +17,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="android.input.cts_root">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
+ <uses-permission android:name="android.permission.CREATE_VIRTUAL_DEVICE" />
+ <uses-permission android:name="android.permission.ADD_TRUSTED_DISPLAY" />
<application android:label="InputTest"
android:requestLegacyExternalStorage="true">
<activity android:name="android.input.cts_root.CaptureEventActivity"
diff --git a/tests/input/src/android/input/cts_root/HidePointerIconOnSecureWindowScreenshotTest.kt b/tests/input/src/android/input/cts_root/HidePointerIconOnSecureWindowScreenshotTest.kt
index 471084b..d907f41 100644
--- a/tests/input/src/android/input/cts_root/HidePointerIconOnSecureWindowScreenshotTest.kt
+++ b/tests/input/src/android/input/cts_root/HidePointerIconOnSecureWindowScreenshotTest.kt
@@ -23,7 +23,7 @@
import android.platform.test.annotations.EnableFlags
import android.view.MotionEvent
import android.view.WindowManager
-import android.virtualdevice.cts.common.FakeAssociationRule
+import android.virtualdevice.cts.common.VirtualDeviceRule
import androidx.test.filters.MediumTest
import androidx.test.platform.app.InstrumentationRegistry
import com.android.cts.input.DefaultPointerSpeedRule
@@ -71,13 +71,15 @@
@get:Rule
val testName = TestName()
@get:Rule
+ val virtualDeviceRule = VirtualDeviceRule.createDefault()!!
+ // TODO(b/366492484): Remove reliance on VDM.
+ @get:Rule
val virtualDisplayRule = VirtualDisplayActivityScenario.Rule<CaptureEventActivity>(
testName,
useSecureDisplay = true,
+ virtualDeviceRule = virtualDeviceRule
)
@get:Rule
- val fakeAssociationRule = FakeAssociationRule()
- @get:Rule
val defaultPointerSpeedRule = DefaultPointerSpeedRule()
@get:Rule
val screenshotRule = ScreenshotTestRule(GoldenPathManager(
@@ -92,7 +94,6 @@
@Before
fun setUp() {
- val context = InstrumentationRegistry.getInstrumentation().targetContext
activity = virtualDisplayRule.activity
activity.runOnUiThread {
activity.actionBar?.hide()
@@ -101,9 +102,8 @@
}
device.setUp(
- context,
+ virtualDeviceRule.defaultVirtualDevice,
virtualDisplayRule.virtualDisplay.display,
- fakeAssociationRule.associationInfo,
)
verifier = EventVerifier(activity::getInputEvent)
diff --git a/tests/packagewatchdog/Android.bp b/tests/packagewatchdog/Android.bp
index 6bc2d6c..3cbb333 100644
--- a/tests/packagewatchdog/Android.bp
+++ b/tests/packagewatchdog/Android.bp
@@ -26,6 +26,7 @@
"services.core",
"truth",
"platform-test-annotations",
+ "service-crashrecovery-pre-jarjar",
],
libs: [
"android.test.runner.stubs.test",
@@ -35,6 +36,7 @@
test_suites: [
"cts_root",
"general-tests",
+ "mts-crashrecovery",
],
- sdk_version: "test_current",
+ sdk_version: "system_server_current",
}
diff --git a/tests/packagewatchdog/AndroidTest.xml b/tests/packagewatchdog/AndroidTest.xml
index 6620098..4dc2aeb 100644
--- a/tests/packagewatchdog/AndroidTest.xml
+++ b/tests/packagewatchdog/AndroidTest.xml
@@ -35,4 +35,9 @@
<option name="runner" value="androidx.test.runner.AndroidJUnitRunner" />
<option name="restart" value="false" />
</test>
+
+ <!-- Only run Cts Tests in MTS if the Crashrecovery Mainline module is installed. -->
+ <object type="module_controller" class="com.android.tradefed.testtype.suite.module.MainlineTestModuleController">
+ <option name="mainline-module-package-name" value="com.google.android.crashrecovery" />
+ </object>
</configuration>
diff --git a/tests/packagewatchdog/src/android/packagewatchdog/cts_root/PackageWatchdogTest.java b/tests/packagewatchdog/src/android/packagewatchdog/cts_root/PackageWatchdogTest.java
index 503b5c0..fc0c3e8 100644
--- a/tests/packagewatchdog/src/android/packagewatchdog/cts_root/PackageWatchdogTest.java
+++ b/tests/packagewatchdog/src/android/packagewatchdog/cts_root/PackageWatchdogTest.java
@@ -39,7 +39,7 @@
public class PackageWatchdogTest {
private PackageWatchdog mPackageWatchdog;
-
+ private Context mContext;
private static final String APP_A = "com.app.a";
private static final String APP_B = "com.app.b";
@@ -55,7 +55,7 @@
@Before
@UiThreadTest
public void setUp() {
- Context mContext = InstrumentationRegistry.getInstrumentation().getContext();
+ mContext = InstrumentationRegistry.getInstrumentation().getContext();
mPackageWatchdog = PackageWatchdog.getInstance(mContext);
mLatch1 = new CountDownLatch(1);
mLatch2 = new CountDownLatch(1);
@@ -75,8 +75,8 @@
public void testAppCrashIsMitigated() throws Exception {
CountDownLatch latch = new CountDownLatch(1);
mTestObserver1 = new TestObserver(OBSERVER_NAME_1, latch);
- mPackageWatchdog.registerHealthObserver(mTestObserver1);
- mPackageWatchdog.startObservingHealth(
+ mPackageWatchdog.registerHealthObserver(mTestObserver1, mContext.getMainExecutor());
+ mPackageWatchdog.startExplicitHealthCheck(
mTestObserver1, List.of(APP_A), SHORT_DURATION);
raiseFatalFailure(Arrays.asList(new VersionedPackage(APP_A,
VERSION_CODE)), PackageWatchdog.FAILURE_REASON_APP_CRASH);
@@ -89,7 +89,9 @@
public void testAppCrashWithoutObserver() throws Exception {
mTestObserver1 = new TestObserver(OBSERVER_NAME_1, mLatch1);
- mPackageWatchdog.startObservingHealth(mTestObserver1, Arrays.asList(APP_A), SHORT_DURATION);
+ mPackageWatchdog.registerHealthObserver(mTestObserver1, mContext.getMainExecutor());
+ mPackageWatchdog.startExplicitHealthCheck(mTestObserver1, Arrays.asList(APP_A),
+ SHORT_DURATION);
raiseFatalFailure(Arrays.asList(new VersionedPackage(APP_B,
VERSION_CODE)), PackageWatchdog.FAILURE_REASON_APP_CRASH);
@@ -107,8 +109,11 @@
mTestObserver1 = new TestObserver(OBSERVER_NAME_1, mLatch1);
mTestObserver2 = new TestObserver(OBSERVER_NAME_2, mLatch2);
- mPackageWatchdog.startObservingHealth(mTestObserver1, Arrays.asList(APP_A), SHORT_DURATION);
- mPackageWatchdog.startObservingHealth(
+ mPackageWatchdog.registerHealthObserver(mTestObserver1, mContext.getMainExecutor());
+ mPackageWatchdog.startExplicitHealthCheck(mTestObserver1, Arrays.asList(APP_A),
+ SHORT_DURATION);
+ mPackageWatchdog.registerHealthObserver(mTestObserver2, mContext.getMainExecutor());
+ mPackageWatchdog.startExplicitHealthCheck(
mTestObserver2, Arrays.asList(APP_A, APP_B), SHORT_DURATION);
raiseFatalFailure(Arrays.asList(new VersionedPackage(APP_A, VERSION_CODE),
new VersionedPackage(APP_B, VERSION_CODE)),
@@ -131,8 +136,12 @@
public void testUnregistration() throws Exception {
mTestObserver1 = new TestObserver(OBSERVER_NAME_1);
mTestObserver2 = new TestObserver(OBSERVER_NAME_2, mLatch2);
- mPackageWatchdog.startObservingHealth(mTestObserver2, Arrays.asList(APP_A), SHORT_DURATION);
- mPackageWatchdog.startObservingHealth(mTestObserver1, Arrays.asList(APP_A), SHORT_DURATION);
+ mPackageWatchdog.registerHealthObserver(mTestObserver2, mContext.getMainExecutor());
+ mPackageWatchdog.startExplicitHealthCheck(mTestObserver2, Arrays.asList(APP_A),
+ SHORT_DURATION);
+ mPackageWatchdog.registerHealthObserver(mTestObserver1, mContext.getMainExecutor());
+ mPackageWatchdog.startExplicitHealthCheck(mTestObserver1, Arrays.asList(APP_A),
+ SHORT_DURATION);
mPackageWatchdog.unregisterHealthObserver(mTestObserver1);
@@ -155,11 +164,15 @@
mTestObserver1 = new TestObserver(OBSERVER_NAME_1);
mTestObserver2 = new TestObserver(OBSERVER_NAME_2);
- mPackageWatchdog.startObservingHealth(mTestObserver2, Arrays.asList(APP_A), SHORT_DURATION);
- mPackageWatchdog.startObservingHealth(mTestObserver1, Arrays.asList(APP_A), SHORT_DURATION);
+ mPackageWatchdog.registerHealthObserver(mTestObserver2, mContext.getMainExecutor());
+ mPackageWatchdog.startExplicitHealthCheck(mTestObserver2, Arrays.asList(APP_A),
+ SHORT_DURATION);
+ mPackageWatchdog.registerHealthObserver(mTestObserver1, mContext.getMainExecutor());
+ mPackageWatchdog.startExplicitHealthCheck(mTestObserver1, Arrays.asList(APP_A),
+ SHORT_DURATION);
for (int i = 0; i < FAILURE_COUNT_THRESHOLD - 1; i++) {
- mPackageWatchdog.onPackageFailure(Arrays.asList(
+ mPackageWatchdog.notifyPackageFailure(Arrays.asList(
new VersionedPackage(APP_A, VERSION_CODE)),
PackageWatchdog.FAILURE_REASON_UNKNOWN);
}
@@ -178,7 +191,9 @@
mLatch1 = new CountDownLatch(2);
mTestObserver1 = new TestObserver(OBSERVER_NAME_1, mLatch1);
- mPackageWatchdog.startObservingHealth(mTestObserver1, Arrays.asList(APP_A), SHORT_DURATION);
+ mPackageWatchdog.registerHealthObserver(mTestObserver1, mContext.getMainExecutor());
+ mPackageWatchdog.startExplicitHealthCheck(mTestObserver1, Arrays.asList(APP_A),
+ SHORT_DURATION);
raiseFatalFailure(Arrays.asList(new VersionedPackage(APP_A, VERSION_CODE)),
PackageWatchdog.FAILURE_REASON_EXPLICIT_HEALTH_CHECK);
@@ -200,7 +215,9 @@
mTestObserver2 = new TestObserver(OBSERVER_NAME_2, mLatch2);
- mPackageWatchdog.startObservingHealth(mTestObserver1, Arrays.asList(APP_B), SHORT_DURATION);
+ mPackageWatchdog.registerHealthObserver(mTestObserver1, mContext.getMainExecutor());
+ mPackageWatchdog.startExplicitHealthCheck(mTestObserver1, Arrays.asList(APP_B),
+ SHORT_DURATION);
raiseFatalFailure(Arrays.asList(new VersionedPackage(APP_A,
VERSION_CODE)), PackageWatchdog.FAILURE_REASON_APP_CRASH);
@@ -223,7 +240,9 @@
mTestObserver1.setPersistent(true);
mTestObserver1.setMayObservePackages(false);
- mPackageWatchdog.startObservingHealth(mTestObserver1, Arrays.asList(APP_B), SHORT_DURATION);
+ mPackageWatchdog.registerHealthObserver(mTestObserver1, mContext.getMainExecutor());
+ mPackageWatchdog.startExplicitHealthCheck(mTestObserver1, Arrays.asList(APP_B),
+ SHORT_DURATION);
raiseFatalFailure(Arrays.asList(new VersionedPackage(APP_A,
VERSION_CODE)), PackageWatchdog.FAILURE_REASON_UNKNOWN);
@@ -237,7 +256,7 @@
failureCount = 1;
}
for (int i = 0; i < failureCount; i++) {
- mPackageWatchdog.onPackageFailure(failingPackages, failureReason);
+ mPackageWatchdog.notifyPackageFailure(failingPackages, failureReason);
}
try {
// Wait for DEFAULT_MITIGATION_WINDOW_MS before applying another mitigation
@@ -274,8 +293,8 @@
return mImpact;
}
- public boolean execute(VersionedPackage versionedPackage, int failureReason,
- int mitigationCount) {
+ public boolean onExecuteHealthCheckMitigation(VersionedPackage versionedPackage,
+ int failureReason, int mitigationCount) {
mMitigatedPackages.add(versionedPackage.getPackageName());
mLatch.countDown();
return true;
@@ -289,7 +308,7 @@
return mImpact;
}
- public boolean executeBootLoopMitigation(int level) {
+ public boolean onExecuteBootLoopMitigation(int level) {
return true;
}