Loading core/java/android/content/pm/PackageInstaller.java +2 −2 Original line number Diff line number Diff line Loading @@ -1222,7 +1222,7 @@ public class PackageInstaller { try { mSession.addChildSessionId(sessionId); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); e.rethrowFromSystemServer(); } } Loading @@ -1236,7 +1236,7 @@ public class PackageInstaller { try { mSession.removeChildSessionId(sessionId); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); e.rethrowFromSystemServer(); } } } Loading services/core/java/com/android/server/pm/PackageInstallerSession.java +19 −11 Original line number Diff line number Diff line Loading @@ -841,6 +841,11 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub { @Override public void commit(@NonNull IntentSender statusReceiver, boolean forTransfer) { if (hasParentSessionId()) { throw new IllegalStateException( "Session " + sessionId + " is a child of multi-package session " + mParentSessionId + " and may not be committed directly."); } if (!markAsCommitted(statusReceiver, forTransfer)) { return; } Loading Loading @@ -2037,6 +2042,11 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub { @Override public void abandon() { if (hasParentSessionId()) { throw new IllegalStateException( "Session " + sessionId + " is a child of multi-package session " + mParentSessionId + " and may not be abandoned directly."); } synchronized (mLock) { assertCallerIsOwnerOrRootLocked(); Loading Loading @@ -2079,13 +2089,14 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub { } @Override public void addChildSessionId(int childSessionId) throws RemoteException { public void addChildSessionId(int childSessionId) { final PackageInstallerSession childSession = mSessionProvider.getSession(childSessionId); if (childSession == null) { throw new RemoteException("Unable to add child.", new PackageManagerException("Child session " + childSessionId + " does not exist"), false, true).rethrowAsRuntimeException(); if (childSession == null || (childSession.hasParentSessionId() && childSession.mParentSessionId != sessionId) || childSession.mCommitted || childSession.mDestroyed) { throw new IllegalStateException("Unable to add child session " + childSessionId + " as it does not exist or is in an invalid state."); } synchronized (mLock) { assertCallerIsOwnerOrRootLocked(); Loading Loading @@ -2124,11 +2135,8 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub { synchronized (mLock) { if (parentSessionId != SessionInfo.INVALID_ID && mParentSessionId != SessionInfo.INVALID_ID) { throw new RemoteException("Unable to set parent session.", new PackageManagerException( "The parent of " + sessionId + " is" + " already set to " + mParentSessionId), false, true).rethrowAsRuntimeException(); throw new IllegalStateException("The parent of " + sessionId + " is" + " already" + "set to " + mParentSessionId); } this.mParentSessionId = parentSessionId; } Loading services/core/java/com/android/server/pm/StagingManager.java +1 −1 Original line number Diff line number Diff line Loading @@ -487,7 +487,7 @@ public class StagingManager { } try { apkParentSession.addChildSessionId(apkChildSession.sessionId); } catch (RemoteException e) { } catch (IllegalStateException e) { Slog.e(TAG, "Failed to add a child session for installing the APK files", e); return false; } Loading Loading
core/java/android/content/pm/PackageInstaller.java +2 −2 Original line number Diff line number Diff line Loading @@ -1222,7 +1222,7 @@ public class PackageInstaller { try { mSession.addChildSessionId(sessionId); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); e.rethrowFromSystemServer(); } } Loading @@ -1236,7 +1236,7 @@ public class PackageInstaller { try { mSession.removeChildSessionId(sessionId); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); e.rethrowFromSystemServer(); } } } Loading
services/core/java/com/android/server/pm/PackageInstallerSession.java +19 −11 Original line number Diff line number Diff line Loading @@ -841,6 +841,11 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub { @Override public void commit(@NonNull IntentSender statusReceiver, boolean forTransfer) { if (hasParentSessionId()) { throw new IllegalStateException( "Session " + sessionId + " is a child of multi-package session " + mParentSessionId + " and may not be committed directly."); } if (!markAsCommitted(statusReceiver, forTransfer)) { return; } Loading Loading @@ -2037,6 +2042,11 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub { @Override public void abandon() { if (hasParentSessionId()) { throw new IllegalStateException( "Session " + sessionId + " is a child of multi-package session " + mParentSessionId + " and may not be abandoned directly."); } synchronized (mLock) { assertCallerIsOwnerOrRootLocked(); Loading Loading @@ -2079,13 +2089,14 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub { } @Override public void addChildSessionId(int childSessionId) throws RemoteException { public void addChildSessionId(int childSessionId) { final PackageInstallerSession childSession = mSessionProvider.getSession(childSessionId); if (childSession == null) { throw new RemoteException("Unable to add child.", new PackageManagerException("Child session " + childSessionId + " does not exist"), false, true).rethrowAsRuntimeException(); if (childSession == null || (childSession.hasParentSessionId() && childSession.mParentSessionId != sessionId) || childSession.mCommitted || childSession.mDestroyed) { throw new IllegalStateException("Unable to add child session " + childSessionId + " as it does not exist or is in an invalid state."); } synchronized (mLock) { assertCallerIsOwnerOrRootLocked(); Loading Loading @@ -2124,11 +2135,8 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub { synchronized (mLock) { if (parentSessionId != SessionInfo.INVALID_ID && mParentSessionId != SessionInfo.INVALID_ID) { throw new RemoteException("Unable to set parent session.", new PackageManagerException( "The parent of " + sessionId + " is" + " already set to " + mParentSessionId), false, true).rethrowAsRuntimeException(); throw new IllegalStateException("The parent of " + sessionId + " is" + " already" + "set to " + mParentSessionId); } this.mParentSessionId = parentSessionId; } Loading
services/core/java/com/android/server/pm/StagingManager.java +1 −1 Original line number Diff line number Diff line Loading @@ -487,7 +487,7 @@ public class StagingManager { } try { apkParentSession.addChildSessionId(apkChildSession.sessionId); } catch (RemoteException e) { } catch (IllegalStateException e) { Slog.e(TAG, "Failed to add a child session for installing the APK files", e); return false; } Loading