Merge "Trust session id only if started with ACTION_CONFIRM_INSTALL"
This commit is contained in:
committed by
Android (Google) Code Review
commit
94d3f53237
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user