summaryrefslogtreecommitdiff
path: root/services/backup/java
diff options
context:
space:
mode:
authorRuslan Tkhakokhov <rthakohov@google.com>2019-12-10 11:15:45 +0000
committerRuslan Tkhakokhov <rthakohov@google.com>2019-12-11 13:43:32 +0000
commitd7f5fdb43bd99b3cf3ee1b48922a0593f2d0a6da (patch)
treebd05d1bee35e4369c4de6709b06266e92ce20737 /services/backup/java
parent3978fd5471dc6ebbf2b2dbe62131183162eb1cca (diff)
Pass excluded keys to the backup agent in onRestore
Pass the list of the keys excluded from KV restore to the backup agent to make it aware of what data has been removed (in case it has any application-level consequences) as well as the data that should be removed by the agent itself. Bug: 145126096 Test: atest CtsBackupTestCases Change-Id: I34415b149b379fb5bb67b0fbcd70ec9b9858acfe
Diffstat (limited to 'services/backup/java')
-rw-r--r--services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java b/services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java
index be597d7b40d6..de6a080f1330 100644
--- a/services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java
+++ b/services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java
@@ -766,8 +766,10 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask {
backupManagerService.prepareOperationTimeout(
mEphemeralOpToken, restoreAgentTimeoutMillis, this, OP_TYPE_RESTORE_WAIT);
startedAgentRestore = true;
- mAgent.doRestore(mBackupData, appVersionCode, mNewState,
- mEphemeralOpToken, backupManagerService.getBackupManagerBinder());
+ mAgent.doRestoreWithExcludedKeys(mBackupData, appVersionCode, mNewState,
+ mEphemeralOpToken, backupManagerService.getBackupManagerBinder(),
+ mExcludedKeys.containsKey(packageName)
+ ? new ArrayList<>(mExcludedKeys.get(packageName)) : null);
} catch (Exception e) {
Slog.e(TAG, "Unable to call app for restore: " + packageName, e);
EventLog.writeEvent(EventLogTags.RESTORE_AGENT_FAILURE,