diff --git a/services/core/java/com/android/server/pm/StagingManager.java b/services/core/java/com/android/server/pm/StagingManager.java index fac383945afd2..f6de16a87eed0 100644 --- a/services/core/java/com/android/server/pm/StagingManager.java +++ b/services/core/java/com/android/server/pm/StagingManager.java @@ -491,8 +491,10 @@ public class StagingManager { } private static boolean isApexSessionFailed(ApexSessionInfo apexSessionInfo) { + // isRollbackInProgress is included to cover the scenario, when a device is rebooted in + // during the rollback, and apexd fails to resume the rollback after reboot. return apexSessionInfo.isActivationFailed || apexSessionInfo.isUnknown - || apexSessionInfo.isRolledBack; + || apexSessionInfo.isRolledBack || apexSessionInfo.isRollbackInProgress; } @GuardedBy("mStagedSessions")