Loading services/backup/java/com/android/server/backup/BackupAgentConnectionManager.java +17 −10 Original line number Original line Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); Loading @@ -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 Loading @@ -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. Loading Loading
services/backup/java/com/android/server/backup/BackupAgentConnectionManager.java +17 −10 Original line number Original line Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); Loading @@ -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 Loading @@ -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. Loading