summaryrefslogtreecommitdiff
path: root/packages/PackageInstaller/src
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2018-10-16 19:46:21 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2018-10-16 19:46:21 +0000
commit94d3f53237b26957d0bb4f177ecb6093cb912bf5 (patch)
treeefbbcaa1b35f157b91bb79b0676e2c1f1701cb37 /packages/PackageInstaller/src
parent30aac965973232d6b8557170b8f3ee06d5e493cb (diff)
parent21b131029746f2118036acc6f33ca8548218e671 (diff)
Merge "Trust session id only if started with ACTION_CONFIRM_INSTALL"
Diffstat (limited to 'packages/PackageInstaller/src')
-rw-r--r--packages/PackageInstaller/src/com/android/packageinstaller/InstallStart.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/packages/PackageInstaller/src/com/android/packageinstaller/InstallStart.java b/packages/PackageInstaller/src/com/android/packageinstaller/InstallStart.java
index 8fed367f3773..f2de9ecd8f5d 100644
--- a/packages/PackageInstaller/src/com/android/packageinstaller/InstallStart.java
+++ b/packages/PackageInstaller/src/com/android/packageinstaller/InstallStart.java
@@ -54,9 +54,14 @@ public class InstallStart extends Activity {
Intent intent = getIntent();
String callingPackage = getCallingPackage();
+ final boolean isSessionInstall =
+ PackageInstaller.ACTION_CONFIRM_INSTALL.equals(intent.getAction());
+
// If the activity was started via a PackageInstaller session, we retrieve the calling
// package from that session
- int sessionId = intent.getIntExtra(PackageInstaller.EXTRA_SESSION_ID, -1);
+ final int sessionId = (isSessionInstall
+ ? intent.getIntExtra(PackageInstaller.EXTRA_SESSION_ID, -1)
+ : -1);
if (callingPackage == null && sessionId != -1) {
PackageInstaller packageInstaller = getPackageManager().getPackageInstaller();
PackageInstaller.SessionInfo sessionInfo = packageInstaller.getSessionInfo(sessionId);
@@ -99,7 +104,7 @@ public class InstallStart extends Activity {
nextActivity.putExtra(PackageInstallerActivity.EXTRA_ORIGINAL_SOURCE_INFO, sourceInfo);
nextActivity.putExtra(Intent.EXTRA_ORIGINATING_UID, originatingUid);
- if (PackageInstaller.ACTION_CONFIRM_INSTALL.equals(intent.getAction())) {
+ if (isSessionInstall) {
nextActivity.setClass(this, PackageInstallerActivity.class);
} else {
Uri packageUri = intent.getData();