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

Commit 81ec1e32 authored by Sarp Misoglu's avatar Sarp Misoglu Committed by Android (Google) Code Review
Browse files

Merge "Synchronize calls to no restricted mode lists" into main

parents 16291350 3c90c5bc
Loading
Loading
Loading
Loading
+17 −10
Original line number Original line Diff line number Diff line
@@ -76,7 +76,9 @@ public class BackupAgentConnectionManager {
    @Nullable
    @Nullable
    private BackupAgentConnection mCurrentConnection;
    private BackupAgentConnection mCurrentConnection;


    @GuardedBy("mAgentConnectLock")
    private final ArraySet<String> mRestoreNoRestrictedModePackages = new ArraySet<>();
    private final ArraySet<String> mRestoreNoRestrictedModePackages = new ArraySet<>();
    @GuardedBy("mAgentConnectLock")
    private final ArraySet<String> mBackupNoRestrictedModePackages = new ArraySet<>();
    private final ArraySet<String> mBackupNoRestrictedModePackages = new ArraySet<>();


    private final IActivityManager mActivityManager;
    private final IActivityManager mActivityManager;
@@ -322,6 +324,7 @@ public class BackupAgentConnectionManager {
     */
     */
    public void setNoRestrictedModePackages(Set<String> packageNames,
    public void setNoRestrictedModePackages(Set<String> packageNames,
            @BackupAnnotations.OperationType int opType) {
            @BackupAnnotations.OperationType int opType) {
        synchronized (mAgentConnectLock) {
            if (opType == BackupAnnotations.OperationType.BACKUP) {
            if (opType == BackupAnnotations.OperationType.BACKUP) {
                mBackupNoRestrictedModePackages.clear();
                mBackupNoRestrictedModePackages.clear();
                mBackupNoRestrictedModePackages.addAll(packageNames);
                mBackupNoRestrictedModePackages.addAll(packageNames);
@@ -332,15 +335,18 @@ public class BackupAgentConnectionManager {
                throw new IllegalArgumentException("opType must be BACKUP or RESTORE");
                throw new IllegalArgumentException("opType must be BACKUP or RESTORE");
            }
            }
        }
        }
    }


    /**
    /**
     * Clears the list of packages that should not be put into restricted mode for either backup or
     * Clears the list of packages that should not be put into restricted mode for either backup or
     * restore.
     * restore.
     */
     */
    public void clearNoRestrictedModePackages() {
    public void clearNoRestrictedModePackages() {
        synchronized (mAgentConnectLock) {
            mBackupNoRestrictedModePackages.clear();
            mBackupNoRestrictedModePackages.clear();
            mRestoreNoRestrictedModePackages.clear();
            mRestoreNoRestrictedModePackages.clear();
        }
        }
    }


    /**
    /**
     * If the app has specified {@link PackageManager#PROPERTY_USE_RESTRICTED_BACKUP_MODE}, then
     * If the app has specified {@link PackageManager#PROPERTY_USE_RESTRICTED_BACKUP_MODE}, then
@@ -353,6 +359,7 @@ public class BackupAgentConnectionManager {
     * {@link #mRestoreNoRestrictedModePackages} so this method will immediately return without
     * {@link #mRestoreNoRestrictedModePackages} so this method will immediately return without
     * any IPC to the transport.
     * any IPC to the transport.
     */
     */
    @GuardedBy("mAgentConnectLock")
    private boolean shouldUseRestrictedBackupModeForPackage(
    private boolean shouldUseRestrictedBackupModeForPackage(
            @BackupAnnotations.OperationType int mode, String packageName) {
            @BackupAnnotations.OperationType int mode, String packageName) {
        // Key/Value apps are never put in restricted mode.
        // Key/Value apps are never put in restricted mode.