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

Commit 13b0184e authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "[FSD2D] Pass eligibility rules to TarBackupReader#chooseRestorePolicy"

parents 0944c0bf a2a1e46c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -228,7 +228,7 @@ public class FullRestoreEngine extends RestoreEngine {
                            PackageManagerInternal.class);
                    RestorePolicy restorePolicy = tarBackupReader.chooseRestorePolicy(
                            mBackupManagerService.getPackageManager(), allowApks, info, signatures,
                            pmi, mUserId);
                            pmi, mUserId, mBackupEligibilityRules);
                    mManifestSignatures.put(info.packageName, signatures);
                    mPackagePolicies.put(pkg, restorePolicy);
                    mPackageInstallers.put(pkg, info.installerPackageName);
+18 −2
Original line number Diff line number Diff line
@@ -389,13 +389,29 @@ public class TarBackupReader {
    public RestorePolicy chooseRestorePolicy(PackageManager packageManager,
            boolean allowApks, FileMetadata info, Signature[] signatures,
            PackageManagerInternal pmi, int userId) {
        return chooseRestorePolicy(packageManager, allowApks, info, signatures, pmi, userId,
                BackupEligibilityRules.forBackup(packageManager, pmi, userId));
    }

    /**
     * Chooses restore policy.
     *
     * @param packageManager - PackageManager instance.
     * @param allowApks - allow restore set to include apks.
     * @param info - file metadata.
     * @param signatures - array of signatures parsed from backup file.
     * @param userId - ID of the user for which restore is performed.
     * @param eligibilityRules - {@link BackupEligibilityRules} for this operation.
     * @return a restore policy constant.
     */
    public RestorePolicy chooseRestorePolicy(PackageManager packageManager,
            boolean allowApks, FileMetadata info, Signature[] signatures,
            PackageManagerInternal pmi, int userId, BackupEligibilityRules eligibilityRules) {
        if (signatures == null) {
            return RestorePolicy.IGNORE;
        }

        RestorePolicy policy = RestorePolicy.IGNORE;
        BackupEligibilityRules eligibilityRules = BackupEligibilityRules.forBackup(packageManager,
                pmi, userId);
        // Okay, got the manifest info we need...
        try {
            PackageInfo pkgInfo = packageManager.getPackageInfoAsUser(