diff options
author | Christopher Tate <ctate@google.com> | 2014-10-03 18:26:29 -0700 |
---|---|---|
committer | Christopher Tate <ctate@google.com> | 2014-10-03 18:26:29 -0700 |
commit | ecae2116169e4cc7c109fcfc2aa9f5be1d105995 (patch) | |
tree | b568e3afb4969c444aa26d335e4807401962fe49 /services | |
parent | 7caa51e6ec6443d5c1fdb96f7e42508b074b4278 (diff) | |
download | frameworks_base-ecae2116169e4cc7c109fcfc2aa9f5be1d105995.zip frameworks_base-ecae2116169e4cc7c109fcfc2aa9f5be1d105995.tar.gz frameworks_base-ecae2116169e4cc7c109fcfc2aa9f5be1d105995.tar.bz2 |
adb backup/restore fixes
Bug 17811327 : teach adb restore about the new widget metadata entries
Bug 14165872 : -nosystem should not act like -onlysystem
Change-Id: I39da0ba80df7c5309a78ec1fa38016cebd80aa5f
Diffstat (limited to 'services')
-rw-r--r-- | services/backup/java/com/android/server/backup/BackupManagerService.java | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/services/backup/java/com/android/server/backup/BackupManagerService.java b/services/backup/java/com/android/server/backup/BackupManagerService.java index f6e2e67..9a5ffbd 100644 --- a/services/backup/java/com/android/server/backup/BackupManagerService.java +++ b/services/backup/java/com/android/server/backup/BackupManagerService.java @@ -3511,7 +3511,7 @@ public class BackupManagerService extends IBackupManager.Stub { PackageInfo pkg = allPackages.get(i); // Exclude system apps if we've been asked to do so if (mIncludeSystem == true - || ((pkg.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0)) { + || ((pkg.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0)) { packagesToBackup.put(pkg.packageName, pkg); } } @@ -4344,6 +4344,7 @@ public class BackupManagerService extends IBackupManager.Stub { } else if (info.path.equals(BACKUP_METADATA_FILENAME)) { // Metadata blobs! readMetadata(info, instream); + skipTarPadding(info.size, instream); } else { // Non-manifest, so it's actual file data. Is this a package // we're ignoring? @@ -5160,8 +5161,10 @@ public class BackupManagerService extends IBackupManager.Stub { info.packageName = info.path.substring(0, slash); info.path = info.path.substring(slash+1); - // if it's a manifest we're done, otherwise parse out the domains - if (!info.path.equals(BACKUP_MANIFEST_FILENAME)) { + // if it's a manifest or metadata payload we're done, otherwise parse + // out the domain into which the file will be restored + if (!info.path.equals(BACKUP_MANIFEST_FILENAME) + && !info.path.equals(BACKUP_METADATA_FILENAME)) { slash = info.path.indexOf('/'); if (slash < 0) { throw new IOException("Illegal semantic path in non-manifest " @@ -5706,6 +5709,7 @@ if (MORE_DEBUG) Slog.v(TAG, " + got " + nRead + "; now wanting " + (size - soF } else if (info.path.equals(BACKUP_METADATA_FILENAME)) { // Metadata blobs! readMetadata(info, instream); + skipTarPadding(info.size, instream); } else { // Non-manifest, so it's actual file data. Is this a package // we're ignoring? @@ -6482,8 +6486,10 @@ if (MORE_DEBUG) Slog.v(TAG, " + got " + nRead + "; now wanting " + (size - soF info.packageName = info.path.substring(0, slash); info.path = info.path.substring(slash+1); - // if it's a manifest we're done, otherwise parse out the domains - if (!info.path.equals(BACKUP_MANIFEST_FILENAME)) { + // if it's a manifest or metadata payload we're done, otherwise parse + // out the domain into which the file will be restored + if (!info.path.equals(BACKUP_MANIFEST_FILENAME) + && !info.path.equals(BACKUP_METADATA_FILENAME)) { slash = info.path.indexOf('/'); if (slash < 0) throw new IOException("Illegal semantic path in non-manifest " + info.path); info.domain = info.path.substring(0, slash); @@ -8160,7 +8166,7 @@ if (MORE_DEBUG) Slog.v(TAG, " + got " + nRead + "; now wanting " + (size - soF if (DEBUG) Slog.v(TAG, "Requesting full backup: apks=" + includeApks + " obb=" + includeObbs + " shared=" + includeShared + " all=" + doAllApps - + " pkgs=" + pkgList); + + " system=" + includeSystem + " pkgs=" + pkgList); Slog.i(TAG, "Beginning full backup..."); FullBackupParams params = new FullBackupParams(fd, includeApks, includeObbs, |