Merge "Pass app version to agent in adb restore for kv." into pi-dev

am: 133f93bbbb

Change-Id: I8c16ca2f13a7c03fd754928422b736658a53f779
This commit is contained in:
Anton Philippov
2018-04-11 10:48:40 -07:00
committed by android-build-merger
2 changed files with 11 additions and 6 deletions

View File

@@ -64,8 +64,7 @@ public class KeyValueAdbRestoreEngine implements Runnable {
try {
File restoreData = prepareRestoreData(mInfo, mInFD);
// TODO: version ?
invokeAgentForAdbRestore(mAgent, mInfo, restoreData, 0);
invokeAgentForAdbRestore(mAgent, mInfo, restoreData);
} catch (IOException e) {
e.printStackTrace();
}
@@ -83,8 +82,8 @@ public class KeyValueAdbRestoreEngine implements Runnable {
return sortedDataName;
}
private void invokeAgentForAdbRestore(IBackupAgent agent, FileMetadata info, File restoreData,
int versionCode) throws IOException {
private void invokeAgentForAdbRestore(IBackupAgent agent, FileMetadata info, File restoreData)
throws IOException {
String pkg = info.packageName;
File newStateName = new File(mDataDir, pkg + ".new");
try {
@@ -95,9 +94,9 @@ public class KeyValueAdbRestoreEngine implements Runnable {
if (DEBUG) {
Slog.i(TAG, "Starting restore of package " + pkg + " for version code "
+ versionCode);
+ info.version);
}
agent.doRestore(backupData, versionCode, newState, mToken,
agent.doRestore(backupData, info.version, newState, mToken,
mBackupManagerService.getBackupManagerBinder());
} catch (IOException e) {
Slog.e(TAG, "Exception opening file. " + e);

View File

@@ -99,6 +99,7 @@ public class PerformAdbRestoreTask implements Runnable {
private FullBackupObbConnection mObbConnection = null;
private ParcelFileDescriptor[] mPipes = null;
private byte[] mWidgetData = null;
private long mAppVersion;
private long mBytes;
private final BackupAgentTimeoutParameters mAgentTimeoutParameters;
@@ -476,6 +477,9 @@ public class PerformAdbRestoreTask implements Runnable {
if (info.path.equals(BACKUP_MANIFEST_FILENAME)) {
Signature[] signatures = tarBackupReader.readAppManifestAndReturnSignatures(
info);
// readAppManifestAndReturnSignatures() will have extracted the version from
// the manifest, so we save it to use in key-value restore later.
mAppVersion = info.version;
PackageManagerInternal pmi = LocalServices.getService(
PackageManagerInternal.class);
RestorePolicy restorePolicy = tarBackupReader.chooseRestorePolicy(
@@ -667,6 +671,8 @@ public class PerformAdbRestoreTask implements Runnable {
Slog.d(TAG, "Restoring key-value file for " + pkg
+ " : " + info.path);
}
// Set the version saved from manifest entry.
info.version = mAppVersion;
KeyValueAdbRestoreEngine restoreEngine =
new KeyValueAdbRestoreEngine(
mBackupManagerService,