Let completeEnableRollback return a boolean (1/n)

Now #completeEnableRollback returns a boolean to indicate whether the
rollback object is successfully enable-completed or not.

Bug: 149258640
Test: atest RollbackTest StagedRollbackTest
Change-Id: Ib9803b4f6b12b3c31ea9a2d058f8be33150f0d51
This commit is contained in:
JW Wang
2020-02-11 15:37:19 +08:00
parent 7fcc730e8d
commit 38a5656b77

View File

@@ -1002,11 +1002,10 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub {
}
}
Rollback rollback = completeEnableRollback(newRollback);
if (rollback == null) {
if (!completeEnableRollback(newRollback)) {
result.offer(-1);
} else {
result.offer(rollback.info.getRollbackId());
result.offer(newRollback.info.getRollbackId());
}
});
@@ -1167,10 +1166,7 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub {
// mRollbacks here and add it back in #completeEnableRollback later.
mRollbacks.remove(rollback);
}
// TODO: Now #completeEnableRollback returns the same rollback object as the
// parameter on success. It would be more readable to return a boolean to indicate
// success or failure.
if (completeEnableRollback(rollback) != null) {
if (completeEnableRollback(rollback)) {
makeRollbackAvailable(rollback);
}
} else {
@@ -1190,11 +1186,11 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub {
/**
* Add a rollback to the list of rollbacks. It does not make the rollback available yet.
*
* @return the Rollback instance for a successfully enable-completed rollback,
* or null on error.
* @return {code true} if {code rollback} is successfully enable-completed,
* or {code false} otherwise.
*/
@WorkerThread
private Rollback completeEnableRollback(Rollback rollback) {
private boolean completeEnableRollback(Rollback rollback) {
if (LOCAL_LOGV) {
Slog.v(TAG, "completeEnableRollback id=" + rollback.info.getRollbackId());
}
@@ -1206,7 +1202,7 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub {
if (!rollback.allPackagesEnabled()) {
Slog.e(TAG, "Failed to enable rollback for all packages in session.");
rollback.delete(mAppDataRollbackHelper);
return null;
return false;
}
rollback.saveRollback();
@@ -1224,7 +1220,7 @@ class RollbackManagerServiceImpl extends IRollbackManager.Stub {
mRollbacks.add(rollback);
}
return rollback;
return true;
}
@WorkerThread