diff options
author | Ruslan Tkhakokhov <rthakohov@google.com> | 2019-12-10 11:15:45 +0000 |
---|---|---|
committer | Ruslan Tkhakokhov <rthakohov@google.com> | 2019-12-11 13:43:32 +0000 |
commit | d7f5fdb43bd99b3cf3ee1b48922a0593f2d0a6da (patch) | |
tree | bd05d1bee35e4369c4de6709b06266e92ce20737 /services/backup/java | |
parent | 3978fd5471dc6ebbf2b2dbe62131183162eb1cca (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.java | 6 |
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, |