diff options
author | 2024-11-05 23:02:03 +0000 | |
---|---|---|
committer | 2024-11-05 23:02:03 +0000 | |
commit | 2a76c44a1ae6020e51b9c61e17bae4033d1063f3 (patch) | |
tree | f9b97f041e462d79d462e73cc6b3e35e1363158f | |
parent | fc1b8c1329f1591ab8a3886eaa4300d5d7f9eb9d (diff) | |
parent | 333f9119366b417edf1f4a29fef579b9addbf8cf (diff) |
Merge "Minor fixes for CrashRecovery modules" into main
3 files changed, 29 insertions, 3 deletions
diff --git a/packages/CrashRecovery/services/module/java/com/android/server/RescueParty.java b/packages/CrashRecovery/services/module/java/com/android/server/RescueParty.java index f1103e19c90e..992f581a8a70 100644 --- a/packages/CrashRecovery/services/module/java/com/android/server/RescueParty.java +++ b/packages/CrashRecovery/services/module/java/com/android/server/RescueParty.java @@ -896,7 +896,8 @@ public class RescueParty { int systemUserId = UserHandle.SYSTEM.getIdentifier(); int[] userIds = { systemUserId }; try { - for (File file : FileUtils.listFilesOrEmpty(Environment.getDataSystemDeDirectory())) { + for (File file : FileUtils.listFilesOrEmpty( + Environment.getDataSystemDeviceProtectedDirectory())) { try { final int userId = Integer.parseInt(file.getName()); if (userId != systemUserId) { diff --git a/packages/CrashRecovery/services/module/java/com/android/server/rollback/RollbackPackageHealthObserver.java b/packages/CrashRecovery/services/module/java/com/android/server/rollback/RollbackPackageHealthObserver.java index 8277e573e7c2..311def80f248 100644 --- a/packages/CrashRecovery/services/module/java/com/android/server/rollback/RollbackPackageHealthObserver.java +++ b/packages/CrashRecovery/services/module/java/com/android/server/rollback/RollbackPackageHealthObserver.java @@ -499,8 +499,8 @@ public final class RollbackPackageHealthObserver implements PackageHealthObserve // Check if the package is listed among the system modules or is an // APK inside an updatable APEX. try { - final PackageInfo pkg = mContext.getPackageManager() - .getPackageInfo(packageName, 0 /* flags */); + PackageManager pm = mContext.getPackageManager(); + final PackageInfo pkg = pm.getPackageInfo(packageName, 0 /* flags */); String apexPackageName = pkg.getApexPackageName(); if (apexPackageName != null) { packageName = apexPackageName; diff --git a/packages/CrashRecovery/services/platform/java/com/android/server/PackageWatchdog.java b/packages/CrashRecovery/services/platform/java/com/android/server/PackageWatchdog.java index 2acedd56e505..be339cdb75ab 100644 --- a/packages/CrashRecovery/services/platform/java/com/android/server/PackageWatchdog.java +++ b/packages/CrashRecovery/services/platform/java/com/android/server/PackageWatchdog.java @@ -300,6 +300,31 @@ public class PackageWatchdog { sPackageWatchdog = this; } + /** + * Creating this temp constructor to match module constructor. + * Note: To be only used in tests. + * Creates a PackageWatchdog that allows injecting dependencies, + * except for connectivity module connector. + */ + @VisibleForTesting + PackageWatchdog(Context context, AtomicFile policyFile, Handler shortTaskHandler, + Handler longTaskHandler, ExplicitHealthCheckController controller, + SystemClock clock) { + mContext = context; + mPolicyFile = policyFile; + mShortTaskHandler = shortTaskHandler; + mLongTaskHandler = longTaskHandler; + mHealthCheckController = controller; + mConnectivityModuleConnector = ConnectivityModuleConnector.getInstance(); + mSystemClock = clock; + mNumberOfNativeCrashPollsRemaining = NUMBER_OF_NATIVE_CRASH_POLLS; + mBootThreshold = new BootThreshold(DEFAULT_BOOT_LOOP_TRIGGER_COUNT, + DEFAULT_BOOT_LOOP_TRIGGER_WINDOW_MS); + + loadFromFile(); + sPackageWatchdog = this; + } + /** Creates or gets singleton instance of PackageWatchdog. */ public static @NonNull PackageWatchdog getInstance(@NonNull Context context) { synchronized (sPackageWatchdogLock) { |