Loading services/core/java/com/android/server/pm/StagingManager.java +24 −24 Original line number Diff line number Diff line Loading @@ -737,11 +737,10 @@ public class StagingManager { continue; } // New session cannot have same package name as one of the active sessions if (stagedSession.sessionContains(s -> s.getPackageName().equals(packageName))) { if (isRollback) { if (isRollback && !isRollback(stagedSession)) { // If the new session is a rollback, then it gets priority. The existing // session is failed to unblock rollback. // session is failed to reduce risk and avoid an SDK extension dependency // violation. final StagedSession root = stagedSession; if (!ensureActiveApexSessionIsAborted(root)) { Slog.e(TAG, "Failed to abort apex session " + root.sessionId()); Loading @@ -751,10 +750,12 @@ public class StagingManager { } root.setSessionFailed( SessionInfo.STAGED_SESSION_CONFLICT, "Session was blocking rollback session: " + session.sessionId()); "Session was failed by rollback session: " + session.sessionId()); Slog.i(TAG, "Session " + root.sessionId() + " is marked failed due to " + "blocking rollback session: " + session.sessionId()); } else { + "rollback session: " + session.sessionId()); } else if (stagedSession.sessionContains( s -> s.getPackageName().equals(packageName))) { // New session cannot have same package name as one of the active sessions throw new PackageManagerException( SessionInfo.STAGED_SESSION_VERIFICATION_FAILED, "Package: " + session.getPackageName() + " in session: " Loading @@ -762,7 +763,6 @@ public class StagingManager { + " has been staged already by session: " + stagedSession.sessionId(), null); } } // Staging multiple root sessions is not allowed if device doesn't support // checkpoint. If session and stagedSession do not have common ancestor, they are Loading Loading
services/core/java/com/android/server/pm/StagingManager.java +24 −24 Original line number Diff line number Diff line Loading @@ -737,11 +737,10 @@ public class StagingManager { continue; } // New session cannot have same package name as one of the active sessions if (stagedSession.sessionContains(s -> s.getPackageName().equals(packageName))) { if (isRollback) { if (isRollback && !isRollback(stagedSession)) { // If the new session is a rollback, then it gets priority. The existing // session is failed to unblock rollback. // session is failed to reduce risk and avoid an SDK extension dependency // violation. final StagedSession root = stagedSession; if (!ensureActiveApexSessionIsAborted(root)) { Slog.e(TAG, "Failed to abort apex session " + root.sessionId()); Loading @@ -751,10 +750,12 @@ public class StagingManager { } root.setSessionFailed( SessionInfo.STAGED_SESSION_CONFLICT, "Session was blocking rollback session: " + session.sessionId()); "Session was failed by rollback session: " + session.sessionId()); Slog.i(TAG, "Session " + root.sessionId() + " is marked failed due to " + "blocking rollback session: " + session.sessionId()); } else { + "rollback session: " + session.sessionId()); } else if (stagedSession.sessionContains( s -> s.getPackageName().equals(packageName))) { // New session cannot have same package name as one of the active sessions throw new PackageManagerException( SessionInfo.STAGED_SESSION_VERIFICATION_FAILED, "Package: " + session.getPackageName() + " in session: " Loading @@ -762,7 +763,6 @@ public class StagingManager { + " has been staged already by session: " + stagedSession.sessionId(), null); } } // Staging multiple root sessions is not allowed if device doesn't support // checkpoint. If session and stagedSession do not have common ancestor, they are Loading