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

Commit 133f93bb authored by Anton Philippov's avatar Anton Philippov Committed by Android (Google) Code Review
Browse files

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

parents 259bdbf4 f8cefdec
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,