Multi-user support for app data snapshot / rollback.
This change implements support in the RollbackManagerService for
keeping track of pending backups and restores for users that are
credential unlocked, and subsequently performing after user
credentials are available.
All code pertaining to app data snapshot / rollback has been factored
out in AppDataRollbackHelper to allow for better mockability and
testing, given that integration tests for these classes are hard
to write. Some of the unit-tests for AppDataRollbackHelper contravene
good testing practices, but in combination with RollbackTest, they
exercise most code related to multi user scenarios.
Test: RollbackTest, AppDataRollbackHelperTest
Test: manual
Change-Id: I8debc24c9318cfd22e8c278dde7b5aee6688f3e6
6 files changed