Merge "Pass app version to agent in adb restore for kv." into pi-dev
am: 133f93bbbb
Change-Id: I8c16ca2f13a7c03fd754928422b736658a53f779
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user