Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2a76c44a authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Minor fixes for CrashRecovery modules" into main

parents fc1b8c13 333f9119
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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) {
+2 −2
Original line number Diff line number Diff line
@@ -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;
+25 −0
Original line number Diff line number Diff line
@@ -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) {