Loading packages/CrashRecovery/services/module/java/com/android/server/RescueParty.java +2 −1 Original line number Diff line number Diff line Loading @@ -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) { Loading packages/CrashRecovery/services/module/java/com/android/server/rollback/RollbackPackageHealthObserver.java +2 −2 Original line number Diff line number Diff line Loading @@ -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; Loading packages/CrashRecovery/services/platform/java/com/android/server/PackageWatchdog.java +25 −0 Original line number Diff line number Diff line Loading @@ -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) { Loading Loading
packages/CrashRecovery/services/module/java/com/android/server/RescueParty.java +2 −1 Original line number Diff line number Diff line Loading @@ -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) { Loading
packages/CrashRecovery/services/module/java/com/android/server/rollback/RollbackPackageHealthObserver.java +2 −2 Original line number Diff line number Diff line Loading @@ -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; Loading
packages/CrashRecovery/services/platform/java/com/android/server/PackageWatchdog.java +25 −0 Original line number Diff line number Diff line Loading @@ -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) { Loading