summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorRuslan Tkhakokhov <rthakohov@google.com>2021-03-01 14:53:36 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2021-03-01 14:53:36 +0000
commitb56fc740bb8ea51d6db11cdfdb92f108fc22bc65 (patch)
tree66ef674a20119f48acb7856002a3ecc76561d0df /core/java/android
parent7df4e1c5a4c02410d9739158c47cf92a9dd4cb4d (diff)
parent75ee2bf7f122aeb33ca6bdb466fb69873a6973c5 (diff)
Merge "Update D2D logic in line with new opt-out rules" into sc-dev
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/app/backup/BackupAgent.java4
-rw-r--r--core/java/android/app/backup/FullBackup.java17
2 files changed, 16 insertions, 5 deletions
diff --git a/core/java/android/app/backup/BackupAgent.java b/core/java/android/app/backup/BackupAgent.java
index 85cfe835c28d..22492ccd0373 100644
--- a/core/java/android/app/backup/BackupAgent.java
+++ b/core/java/android/app/backup/BackupAgent.java
@@ -564,10 +564,6 @@ public abstract class BackupAgent extends ContextWrapper {
@VisibleForTesting
public IncludeExcludeRules getIncludeExcludeRules(FullBackup.BackupScheme backupScheme)
throws IOException, XmlPullParserException {
- if (isDeviceToDeviceMigration()) {
- return IncludeExcludeRules.emptyRules();
- }
-
Map<String, Set<PathWithRequiredFlags>> manifestIncludeMap;
ArraySet<PathWithRequiredFlags> manifestExcludeSet;
diff --git a/core/java/android/app/backup/FullBackup.java b/core/java/android/app/backup/FullBackup.java
index 3701ea825933..829b6cd43934 100644
--- a/core/java/android/app/backup/FullBackup.java
+++ b/core/java/android/app/backup/FullBackup.java
@@ -20,11 +20,15 @@ import static android.app.backup.BackupManager.OperationType;
import android.annotation.Nullable;
import android.annotation.StringDef;
+import android.app.compat.CompatChanges;
+import android.compat.annotation.ChangeId;
+import android.compat.annotation.EnabledSince;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.res.XmlResourceParser;
+import android.os.Build;
import android.os.ParcelFileDescriptor;
import android.os.Process;
import android.os.storage.StorageManager;
@@ -96,6 +100,14 @@ public class FullBackup {
public static final String FLAG_REQUIRED_FAKE_CLIENT_SIDE_ENCRYPTION =
"fakeClientSideEncryption";
+ /**
+ * When this change is enabled, include / exclude rules specified via
+ * {@code android:fullBackupContent} are ignored during D2D transfers.
+ */
+ @ChangeId
+ @EnabledSince(targetSdkVersion = Build.VERSION_CODES.S)
+ private static final long IGNORE_FULL_BACKUP_CONTENT_IN_D2D = 180523564L;
+
@StringDef({
ConfigSection.CLOUD_BACKUP,
ConfigSection.DEVICE_TRANSFER
@@ -527,7 +539,10 @@ public class FullBackup {
}
}
- // TODO(b/180523564): Ignore the old config for apps targeting Android S+ during D2D.
+ if (operationType == OperationType.MIGRATION
+ && CompatChanges.isChangeEnabled(IGNORE_FULL_BACKUP_CONTENT_IN_D2D)) {
+ return;
+ }
if (mFullBackupContent != 0) {
// Fall back to the old config.