Merge "Cleaning up deprecate_flags_and_settings_resets" into main
diff --git a/services/tests/mockingservicestests/src/com/android/server/RescuePartyTest.java b/services/tests/mockingservicestests/src/com/android/server/RescuePartyTest.java
index db04d39e..6c73f0a 100644
--- a/services/tests/mockingservicestests/src/com/android/server/RescuePartyTest.java
+++ b/services/tests/mockingservicestests/src/com/android/server/RescuePartyTest.java
@@ -47,7 +47,6 @@
import android.os.RecoverySystem;
import android.os.SystemProperties;
import android.os.UserHandle;
-import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.FlagsParameterization;
import android.platform.test.flag.junit.SetFlagsRule;
import android.provider.DeviceConfig;
@@ -135,8 +134,7 @@
@Parameters(name = "{0}")
public static List<FlagsParameterization> getFlags() {
return FlagsParameterization.allCombinationsOf(
- Flags.FLAG_RECOVERABILITY_DETECTION,
- Flags.FLAG_DEPRECATE_FLAGS_AND_SETTINGS_RESETS);
+ Flags.FLAG_RECOVERABILITY_DETECTION);
}
public RescuePartyTest(FlagsParameterization flags) {
@@ -248,7 +246,6 @@
}
@Test
- @EnableFlags(Flags.FLAG_DEPRECATE_FLAGS_AND_SETTINGS_RESETS)
public void testBootLoopNoFlags() {
// this is old test where the flag needs to be disabled
noteBoot(1);
@@ -260,7 +257,6 @@
}
@Test
- @EnableFlags(Flags.FLAG_DEPRECATE_FLAGS_AND_SETTINGS_RESETS)
public void testPersistentAppCrashNoFlags() {
// this is old test where the flag needs to be disabled
noteAppCrash(1, true);
@@ -396,7 +392,6 @@
}
@Test
- @EnableFlags(Flags.FLAG_DEPRECATE_FLAGS_AND_SETTINGS_RESETS)
public void testHealthCheckLevelsNoFlags() {
// this is old test where the flag needs to be disabled
RescuePartyObserver observer = RescuePartyObserver.getInstance(mMockContext);
@@ -416,7 +411,6 @@
}
@Test
- @EnableFlags(Flags.FLAG_DEPRECATE_FLAGS_AND_SETTINGS_RESETS)
public void testBootLoopLevelsNoFlags() {
RescuePartyObserver observer = RescuePartyObserver.getInstance(mMockContext);
diff --git a/tests/PackageWatchdog/src/com/android/server/CrashRecoveryTest.java b/tests/PackageWatchdog/src/com/android/server/CrashRecoveryTest.java
index 8ac3433..4c16a75 100644
--- a/tests/PackageWatchdog/src/com/android/server/CrashRecoveryTest.java
+++ b/tests/PackageWatchdog/src/com/android/server/CrashRecoveryTest.java
@@ -48,8 +48,6 @@
import android.os.Handler;
import android.os.SystemProperties;
import android.os.test.TestLooper;
-import android.platform.test.annotations.DisableFlags;
-import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
import android.provider.DeviceConfig;
import android.util.AtomicFile;
@@ -305,90 +303,6 @@
}
@Test
- @DisableFlags(Flags.FLAG_DEPRECATE_FLAGS_AND_SETTINGS_RESETS)
- public void testBootLoopWithRescuePartyAndRollbackObserver() throws Exception {
- PackageWatchdog watchdog = createWatchdog();
- RescuePartyObserver rescuePartyObserver = setUpRescuePartyObserver(watchdog);
- RollbackPackageHealthObserver rollbackObserver =
- setUpRollbackPackageHealthObserver(watchdog);
-
- verify(rescuePartyObserver, never()).onExecuteBootLoopMitigation(1);
- verify(rollbackObserver, never()).onExecuteBootLoopMitigation(1);
- for (int i = 0; i < PackageWatchdog.DEFAULT_BOOT_LOOP_TRIGGER_COUNT; i++) {
- watchdog.noteBoot();
- }
- mTestLooper.dispatchAll();
- verify(rescuePartyObserver).onExecuteBootLoopMitigation(1);
- verify(rescuePartyObserver, never()).onExecuteBootLoopMitigation(2);
- verify(rollbackObserver, never()).onExecuteBootLoopMitigation(1);
-
- watchdog.noteBoot();
-
- mTestLooper.dispatchAll();
- verify(rescuePartyObserver).onExecuteBootLoopMitigation(2);
- verify(rescuePartyObserver, never()).onExecuteBootLoopMitigation(3);
- verify(rollbackObserver, never()).onExecuteBootLoopMitigation(2);
-
- watchdog.noteBoot();
-
- mTestLooper.dispatchAll();
- verify(rescuePartyObserver, never()).onExecuteBootLoopMitigation(3);
- verify(rollbackObserver).onExecuteBootLoopMitigation(1);
- verify(rollbackObserver, never()).onExecuteBootLoopMitigation(2);
- // Update the list of available rollbacks after executing bootloop mitigation once
- when(mRollbackManager.getAvailableRollbacks()).thenReturn(List.of(ROLLBACK_INFO_HIGH,
- ROLLBACK_INFO_MANUAL));
-
- watchdog.noteBoot();
-
- mTestLooper.dispatchAll();
- verify(rescuePartyObserver).onExecuteBootLoopMitigation(3);
- verify(rescuePartyObserver, never()).onExecuteBootLoopMitigation(4);
- verify(rollbackObserver, never()).onExecuteBootLoopMitigation(2);
-
- watchdog.noteBoot();
-
- mTestLooper.dispatchAll();
- verify(rescuePartyObserver).onExecuteBootLoopMitigation(4);
- verify(rescuePartyObserver, never()).onExecuteBootLoopMitigation(5);
- verify(rollbackObserver, never()).onExecuteBootLoopMitigation(2);
-
- watchdog.noteBoot();
-
- mTestLooper.dispatchAll();
- verify(rescuePartyObserver).onExecuteBootLoopMitigation(5);
- verify(rescuePartyObserver, never()).onExecuteBootLoopMitigation(6);
- verify(rollbackObserver, never()).onExecuteBootLoopMitigation(2);
-
- watchdog.noteBoot();
-
- mTestLooper.dispatchAll();
- verify(rescuePartyObserver, never()).onExecuteBootLoopMitigation(6);
- verify(rollbackObserver).onExecuteBootLoopMitigation(2);
- verify(rollbackObserver, never()).onExecuteBootLoopMitigation(3);
- // Update the list of available rollbacks after executing bootloop mitigation
- when(mRollbackManager.getAvailableRollbacks()).thenReturn(List.of(ROLLBACK_INFO_MANUAL));
-
- watchdog.noteBoot();
-
- mTestLooper.dispatchAll();
- verify(rescuePartyObserver).onExecuteBootLoopMitigation(6);
- verify(rescuePartyObserver, never()).onExecuteBootLoopMitigation(7);
- verify(rollbackObserver, never()).onExecuteBootLoopMitigation(3);
-
- moveTimeForwardAndDispatch(PackageWatchdog.DEFAULT_DEESCALATION_WINDOW_MS + 1);
- Mockito.reset(rescuePartyObserver);
-
- for (int i = 0; i < PackageWatchdog.DEFAULT_BOOT_LOOP_TRIGGER_COUNT; i++) {
- watchdog.noteBoot();
- }
- mTestLooper.dispatchAll();
- verify(rescuePartyObserver).onExecuteBootLoopMitigation(1);
- verify(rescuePartyObserver, never()).onExecuteBootLoopMitigation(2);
- }
-
- @Test
- @EnableFlags(Flags.FLAG_DEPRECATE_FLAGS_AND_SETTINGS_RESETS)
public void testBootLoopWithRescuePartyAndRollbackObserverNoFlags() throws Exception {
PackageWatchdog watchdog = createWatchdog();
RescuePartyObserver rescuePartyObserver = setUpRescuePartyObserver(watchdog);
@@ -443,80 +357,6 @@
}
@Test
- @DisableFlags(Flags.FLAG_DEPRECATE_FLAGS_AND_SETTINGS_RESETS)
- public void testCrashLoopWithRescuePartyAndRollbackObserver() throws Exception {
- PackageWatchdog watchdog = createWatchdog();
- RescuePartyObserver rescuePartyObserver = setUpRescuePartyObserver(watchdog);
- RollbackPackageHealthObserver rollbackObserver =
- setUpRollbackPackageHealthObserver(watchdog);
- VersionedPackage versionedPackageA = new VersionedPackage(APP_A, VERSION_CODE);
-
- when(mMockPackageManager.getApplicationInfo(anyString(), anyInt())).then(inv -> {
- ApplicationInfo info = new ApplicationInfo();
- info.flags |= ApplicationInfo.FLAG_PERSISTENT
- | ApplicationInfo.FLAG_SYSTEM;
- return info;
- });
-
- raiseFatalFailureAndDispatch(watchdog,
- Arrays.asList(versionedPackageA), PackageWatchdog.FAILURE_REASON_APP_CRASH);
-
- // Mitigation: SCOPED_DEVICE_CONFIG_RESET
- verify(rescuePartyObserver).onExecuteHealthCheckMitigation(versionedPackageA,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 1);
- verify(rescuePartyObserver, never()).onExecuteHealthCheckMitigation(versionedPackageA,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 2);
- verify(rollbackObserver, never()).onExecuteHealthCheckMitigation(versionedPackageA,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 1);
-
- raiseFatalFailureAndDispatch(watchdog,
- Arrays.asList(versionedPackageA), PackageWatchdog.FAILURE_REASON_APP_CRASH);
-
- // Mitigation: ALL_DEVICE_CONFIG_RESET
- verify(rescuePartyObserver).onExecuteHealthCheckMitigation(versionedPackageA,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 2);
- verify(rescuePartyObserver, never()).onExecuteHealthCheckMitigation(versionedPackageA,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 3);
- verify(rollbackObserver, never()).onExecuteHealthCheckMitigation(versionedPackageA,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 1);
-
- raiseFatalFailureAndDispatch(watchdog,
- Arrays.asList(versionedPackageA), PackageWatchdog.FAILURE_REASON_APP_CRASH);
-
- // Mitigation: WARM_REBOOT
- verify(rescuePartyObserver).onExecuteHealthCheckMitigation(versionedPackageA,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 3);
- verify(rescuePartyObserver, never()).onExecuteHealthCheckMitigation(versionedPackageA,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 4);
- verify(rollbackObserver, never()).onExecuteHealthCheckMitigation(versionedPackageA,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 1);
-
- raiseFatalFailureAndDispatch(watchdog,
- Arrays.asList(versionedPackageA), PackageWatchdog.FAILURE_REASON_APP_CRASH);
-
- // Mitigation: Low impact rollback
- verify(rollbackObserver).onExecuteHealthCheckMitigation(versionedPackageA,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 1);
- verify(rescuePartyObserver, never()).onExecuteHealthCheckMitigation(versionedPackageA,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 4);
-
- // update available rollbacks to mock rollbacks being applied after the call to
- // rollbackObserver.onExecuteHealthCheckMitigation
- when(mRollbackManager.getAvailableRollbacks()).thenReturn(
- List.of(ROLLBACK_INFO_HIGH, ROLLBACK_INFO_MANUAL));
-
- raiseFatalFailureAndDispatch(watchdog,
- Arrays.asList(versionedPackageA), PackageWatchdog.FAILURE_REASON_APP_CRASH);
-
- // DEFAULT_MAJOR_USER_IMPACT_LEVEL_THRESHOLD reached. No more mitigations applied
- verify(rescuePartyObserver, never()).onExecuteHealthCheckMitigation(versionedPackageA,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 4);
- verify(rollbackObserver, never()).onExecuteHealthCheckMitigation(versionedPackageA,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 2);
- }
-
- @Test
- @EnableFlags(Flags.FLAG_DEPRECATE_FLAGS_AND_SETTINGS_RESETS)
public void testCrashLoopWithRescuePartyAndRollbackObserverEnableDeprecateFlagReset()
throws Exception {
PackageWatchdog watchdog = createWatchdog();
@@ -569,123 +409,6 @@
}
@Test
- @DisableFlags(Flags.FLAG_DEPRECATE_FLAGS_AND_SETTINGS_RESETS)
- public void testCrashLoopSystemUIWithRescuePartyAndRollbackObserver() throws Exception {
- PackageWatchdog watchdog = createWatchdog();
- RescuePartyObserver rescuePartyObserver = setUpRescuePartyObserver(watchdog);
- RollbackPackageHealthObserver rollbackObserver =
- setUpRollbackPackageHealthObserver(watchdog);
- String systemUi = "com.android.systemui";
- VersionedPackage versionedPackageUi = new VersionedPackage(
- systemUi, VERSION_CODE);
- RollbackInfo rollbackInfoUi = getRollbackInfo(systemUi, VERSION_CODE, 1,
- PackageManager.ROLLBACK_USER_IMPACT_LOW);
- when(mRollbackManager.getAvailableRollbacks()).thenReturn(List.of(ROLLBACK_INFO_LOW,
- ROLLBACK_INFO_HIGH, ROLLBACK_INFO_MANUAL, rollbackInfoUi));
-
- when(mMockPackageManager.getApplicationInfo(anyString(), anyInt())).then(inv -> {
- ApplicationInfo info = new ApplicationInfo();
- info.flags |= ApplicationInfo.FLAG_PERSISTENT
- | ApplicationInfo.FLAG_SYSTEM;
- return info;
- });
-
- raiseFatalFailureAndDispatch(watchdog,
- Arrays.asList(versionedPackageUi), PackageWatchdog.FAILURE_REASON_APP_CRASH);
-
- // Mitigation: SCOPED_DEVICE_CONFIG_RESET
- verify(rescuePartyObserver).onExecuteHealthCheckMitigation(versionedPackageUi,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 1);
- verify(rescuePartyObserver, never()).onExecuteHealthCheckMitigation(versionedPackageUi,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 2);
- verify(rollbackObserver, never()).onExecuteHealthCheckMitigation(versionedPackageUi,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 1);
-
- raiseFatalFailureAndDispatch(watchdog,
- Arrays.asList(versionedPackageUi), PackageWatchdog.FAILURE_REASON_APP_CRASH);
-
- // Mitigation: ALL_DEVICE_CONFIG_RESET
- verify(rescuePartyObserver).onExecuteHealthCheckMitigation(versionedPackageUi,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 2);
- verify(rescuePartyObserver, never()).onExecuteHealthCheckMitigation(versionedPackageUi,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 3);
- verify(rollbackObserver, never()).onExecuteHealthCheckMitigation(versionedPackageUi,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 1);
-
- raiseFatalFailureAndDispatch(watchdog,
- Arrays.asList(versionedPackageUi), PackageWatchdog.FAILURE_REASON_APP_CRASH);
-
- // Mitigation: WARM_REBOOT
- verify(rescuePartyObserver).onExecuteHealthCheckMitigation(versionedPackageUi,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 3);
- verify(rescuePartyObserver, never()).onExecuteHealthCheckMitigation(versionedPackageUi,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 4);
- verify(rollbackObserver, never()).onExecuteHealthCheckMitigation(versionedPackageUi,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 1);
-
- raiseFatalFailureAndDispatch(watchdog,
- Arrays.asList(versionedPackageUi), PackageWatchdog.FAILURE_REASON_APP_CRASH);
-
- // Mitigation: Low impact rollback
- verify(rollbackObserver).onExecuteHealthCheckMitigation(versionedPackageUi,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 1);
- verify(rescuePartyObserver, never()).onExecuteHealthCheckMitigation(versionedPackageUi,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 4);
- verify(rollbackObserver, never()).onExecuteHealthCheckMitigation(versionedPackageUi,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 2);
-
- // update available rollbacks to mock rollbacks being applied after the call to
- // rollbackObserver.onExecuteHealthCheckMitigation
- when(mRollbackManager.getAvailableRollbacks()).thenReturn(
- List.of(ROLLBACK_INFO_HIGH, ROLLBACK_INFO_MANUAL));
-
- raiseFatalFailureAndDispatch(watchdog,
- Arrays.asList(versionedPackageUi), PackageWatchdog.FAILURE_REASON_APP_CRASH);
-
- // Mitigation: RESET_SETTINGS_UNTRUSTED_DEFAULTS
- verify(rescuePartyObserver).onExecuteHealthCheckMitigation(versionedPackageUi,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 4);
- verify(rescuePartyObserver, never()).onExecuteHealthCheckMitigation(versionedPackageUi,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 5);
- verify(rollbackObserver, never()).onExecuteHealthCheckMitigation(versionedPackageUi,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 2);
-
- raiseFatalFailureAndDispatch(watchdog,
- Arrays.asList(versionedPackageUi), PackageWatchdog.FAILURE_REASON_APP_CRASH);
-
- // Mitigation: RESET_SETTINGS_UNTRUSTED_CHANGES
- verify(rescuePartyObserver).onExecuteHealthCheckMitigation(versionedPackageUi,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 5);
- verify(rescuePartyObserver, never()).onExecuteHealthCheckMitigation(versionedPackageUi,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 6);
- verify(rollbackObserver, never()).onExecuteHealthCheckMitigation(versionedPackageUi,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 2);
-
- raiseFatalFailureAndDispatch(watchdog,
- Arrays.asList(versionedPackageUi), PackageWatchdog.FAILURE_REASON_APP_CRASH);
-
- // Mitigation: RESET_SETTINGS_TRUSTED_DEFAULTS
- verify(rescuePartyObserver).onExecuteHealthCheckMitigation(versionedPackageUi,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 6);
- verify(rescuePartyObserver, never()).onExecuteHealthCheckMitigation(versionedPackageUi,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 7);
- verify(rollbackObserver, never()).onExecuteHealthCheckMitigation(versionedPackageUi,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 2);
-
- raiseFatalFailureAndDispatch(watchdog,
- Arrays.asList(versionedPackageUi), PackageWatchdog.FAILURE_REASON_APP_CRASH);
-
- // Mitigation: Factory reset. High impact rollbacks are performed only for boot loops.
- verify(rescuePartyObserver).onExecuteHealthCheckMitigation(versionedPackageUi,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 7);
- verify(rescuePartyObserver, never()).onExecuteHealthCheckMitigation(versionedPackageUi,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 8);
- verify(rollbackObserver, never()).onExecuteHealthCheckMitigation(versionedPackageUi,
- PackageWatchdog.FAILURE_REASON_APP_CRASH, 2);
- }
-
- @Test
- @EnableFlags(Flags.FLAG_DEPRECATE_FLAGS_AND_SETTINGS_RESETS)
public void testCrashLoopSystemUIWithRescuePartyAndRollbackObserverEnableDeprecateFlagReset()
throws Exception {
PackageWatchdog watchdog = createWatchdog();