Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0d383d2e authored by Anton Philippov's avatar Anton Philippov Committed by android-build-merger
Browse files

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

am: 133f93bb

Change-Id: I8c16ca2f13a7c03fd754928422b736658a53f779
parents 1691d42e 133f93bb
Loading
Loading
Loading
Loading
+5 −6
Original line number Diff line number Diff line
@@ -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);
+6 −0
Original line number Diff line number Diff line
@@ -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,