diff options
| -rw-r--r-- | services/core/java/com/android/server/pm/ApexManager.java | 6 | ||||
| -rw-r--r-- | services/core/java/com/android/server/pm/StagingManager.java | 10 |
2 files changed, 14 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/pm/ApexManager.java b/services/core/java/com/android/server/pm/ApexManager.java index 46dfd13baacb..dafb9f1f2f77 100644 --- a/services/core/java/com/android/server/pm/ApexManager.java +++ b/services/core/java/com/android/server/pm/ApexManager.java @@ -286,6 +286,12 @@ class ApexManager { ipw.println("State: ACTIVATED"); } else if (si.isActivationFailed) { ipw.println("State: ACTIVATION FAILED"); + } else if (si.isSuccess) { + ipw.println("State: SUCCESS"); + } else if (si.isRollbackInProgress) { + ipw.println("State: ROLLBACK IN PROGRESS"); + } else if (si.isRolledBack) { + ipw.println("State: ROLLED BACK"); } ipw.decreaseIndent(); } diff --git a/services/core/java/com/android/server/pm/StagingManager.java b/services/core/java/com/android/server/pm/StagingManager.java index e956b74cf214..cbf5e9e3f35a 100644 --- a/services/core/java/com/android/server/pm/StagingManager.java +++ b/services/core/java/com/android/server/pm/StagingManager.java @@ -257,7 +257,7 @@ public class StagingManager { + "activated"); return; } - if (apexSessionInfo.isActivationFailed || apexSessionInfo.isUnknown) { + if (isApexSessionFailed(apexSessionInfo)) { session.setStagedSessionFailed(SessionInfo.STAGED_SESSION_ACTIVATION_FAILED, "APEX activation failed. Check logcat messages from apexd for " + "more information."); @@ -468,7 +468,13 @@ public class StagingManager { ApexSessionInfo session = mApexManager.getStagedSessionInfo(sessionId); /* checking if the session is in a final state, i.e., not active anymore */ - return session.isUnknown || session.isActivationFailed || session.isSuccess; + return session.isUnknown || session.isActivationFailed || session.isSuccess + || session.isRolledBack; + } + + private static boolean isApexSessionFailed(ApexSessionInfo apexSessionInfo) { + return apexSessionInfo.isActivationFailed || apexSessionInfo.isUnknown + || apexSessionInfo.isRolledBack; } @GuardedBy("mStagedSessions") |