diff options
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageInstallerService.java | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/services/core/java/com/android/server/pm/PackageInstallerService.java b/services/core/java/com/android/server/pm/PackageInstallerService.java index 83af0173c514..a3cf9c856ae5 100644 --- a/services/core/java/com/android/server/pm/PackageInstallerService.java +++ b/services/core/java/com/android/server/pm/PackageInstallerService.java @@ -666,23 +666,26 @@ public class PackageInstallerService extends IPackageInstaller.Stub { "Too many historical sessions for UID " + callingUid); } - final long createdMillis = System.currentTimeMillis(); sessionId = allocateSessionIdLocked(); + } - // We're staging to exactly one location - File stageDir = null; - String stageCid = null; - if ((params.installFlags & PackageManager.INSTALL_INTERNAL) != 0) { - final boolean isEphemeral = - (params.installFlags & PackageManager.INSTALL_EPHEMERAL) != 0; - stageDir = buildStageDir(params.volumeUuid, sessionId, isEphemeral); - } else { - stageCid = buildExternalStageCid(sessionId); - } + final long createdMillis = System.currentTimeMillis(); + // We're staging to exactly one location + File stageDir = null; + String stageCid = null; + if ((params.installFlags & PackageManager.INSTALL_INTERNAL) != 0) { + final boolean isEphemeral = + (params.installFlags & PackageManager.INSTALL_EPHEMERAL) != 0; + stageDir = buildStageDir(params.volumeUuid, sessionId, isEphemeral); + } else { + stageCid = buildExternalStageCid(sessionId); + } - session = new PackageInstallerSession(mInternalCallback, mContext, mPm, - mInstallThread.getLooper(), sessionId, userId, installerPackageName, callingUid, - params, createdMillis, stageDir, stageCid, false, false); + session = new PackageInstallerSession(mInternalCallback, mContext, mPm, + mInstallThread.getLooper(), sessionId, userId, installerPackageName, callingUid, + params, createdMillis, stageDir, stageCid, false, false); + + synchronized (mSessions) { mSessions.put(sessionId, session); } |