diff --git a/services/backup/java/com/android/server/backup/BackupManagerService.java b/services/backup/java/com/android/server/backup/BackupManagerService.java index f1f8757824161..4bfe10fdd8c59 100644 --- a/services/backup/java/com/android/server/backup/BackupManagerService.java +++ b/services/backup/java/com/android/server/backup/BackupManagerService.java @@ -7562,7 +7562,9 @@ if (MORE_DEBUG) Slog.v(TAG, " + got " + nRead + "; now wanting " + (size - soF // All set; now set up the IPC and launch the agent setUpPipes(); mAgent = bindToAgentSynchronous(mTargetApp, - ApplicationThreadConstants.BACKUP_MODE_RESTORE_FULL); + FullBackup.KEY_VALUE_DATA_TOKEN.equals(info.domain) + ? ApplicationThreadConstants.BACKUP_MODE_INCREMENTAL + : ApplicationThreadConstants.BACKUP_MODE_RESTORE_FULL); mAgentPackage = pkg; } catch (IOException e) { // fall through to error handling diff --git a/services/backup/java/com/android/server/backup/restore/PerformAdbRestoreTask.java b/services/backup/java/com/android/server/backup/restore/PerformAdbRestoreTask.java index d5c62af05aac1..b1d6afcbd63c1 100644 --- a/services/backup/java/com/android/server/backup/restore/PerformAdbRestoreTask.java +++ b/services/backup/java/com/android/server/backup/restore/PerformAdbRestoreTask.java @@ -610,7 +610,9 @@ public class PerformAdbRestoreTask implements Runnable { // All set; now set up the IPC and launch the agent setUpPipes(); mAgent = mBackupManagerService.bindToAgentSynchronous(mTargetApp, - ApplicationThreadConstants.BACKUP_MODE_RESTORE_FULL); + FullBackup.KEY_VALUE_DATA_TOKEN.equals(info.domain) + ? ApplicationThreadConstants.BACKUP_MODE_INCREMENTAL + : ApplicationThreadConstants.BACKUP_MODE_RESTORE_FULL); mAgentPackage = pkg; } catch (IOException e) { // fall through to error handling