OSDN Git Service

Use a single list for available and committed rollbacks.
authorRichard Uhler <ruhler@google.com>
Tue, 26 Feb 2019 10:40:36 +0000 (10:40 +0000)
committerRichard Uhler <ruhler@google.com>
Fri, 1 Mar 2019 13:53:43 +0000 (13:53 +0000)
commit6f8a33bf2fe6ea779f950b2937adda30d65c1bee
treef7d1b861a7ae8d6d53afb0c22e7dfeac9e7a3b0e
parent671c056ed0168e28c1e09e418a82d312fee01f21
Use a single list for available and committed rollbacks.

So that there is a single source of truth for pending backups and
pending restores. This fixes rollback of userdata for staged rollbacks.

Included in this change:
* Distinguish between PENDING_AVAILABLE, AVAILABLE, and COMMITTED
  rollback states.
* Separate completeEnableRollback from makeRollbackAvailable.
* Make timestamp @NonNull and set it when rollback is made available.
* Don't listen for SESSION_UPDATED broadcasts.
* Factor out common code for ignoring saveRollbackData IOException.
* Other minor cleanups.

Test: atest RollbackTest
Test: atest StagedRollbackTest
Test: atest AppDataRollbackHelperTest
Bug: 124044231

Change-Id: I654a7827e9ed15659d0cb80e5a2c29c2660aea08
core/java/android/content/rollback/RollbackManager.java
services/core/java/com/android/server/rollback/AppDataRollbackHelper.java
services/core/java/com/android/server/rollback/RollbackData.java
services/core/java/com/android/server/rollback/RollbackManagerServiceImpl.java
services/core/java/com/android/server/rollback/RollbackStore.java
services/tests/servicestests/src/com/android/server/rollback/AppDataRollbackHelperTest.java