diff options
Diffstat (limited to 'src/com/android/packageinstaller/PackageInstallerActivity.java')
-rw-r--r-- | src/com/android/packageinstaller/PackageInstallerActivity.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/com/android/packageinstaller/PackageInstallerActivity.java b/src/com/android/packageinstaller/PackageInstallerActivity.java index 99631035..d76295ac 100644 --- a/src/com/android/packageinstaller/PackageInstallerActivity.java +++ b/src/com/android/packageinstaller/PackageInstallerActivity.java @@ -60,7 +60,9 @@ import java.util.ArrayList; */ public class PackageInstallerActivity extends Activity implements OnCancelListener, OnClickListener { private static final String TAG = "PackageInstaller"; - private Uri mPackageURI; + private Uri mPackageURI; + private Uri mPackageOriginatingURI; + private Uri mPackageReferrer; private boolean localLOGV = false; PackageManager mPm; PackageParser.Package mPkgInfo; @@ -284,6 +286,8 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen // get intent information final Intent intent = getIntent(); mPackageURI = intent.getData(); + mPackageOriginatingURI = intent.getParcelableExtra(Intent.EXTRA_ORIGINATING_URI); + mPackageReferrer = intent.getParcelableExtra(Intent.EXTRA_REFERRER); mPm = getPackageManager(); final String scheme = mPackageURI.getScheme(); @@ -364,6 +368,12 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen newIntent.setData(mPackageURI); newIntent.setClass(this, InstallAppProgress.class); String installerPackageName = getIntent().getStringExtra(Intent.EXTRA_INSTALLER_PACKAGE_NAME); + if (mPackageOriginatingURI != null) { + newIntent.putExtra(Intent.EXTRA_ORIGINATING_URI, mPackageOriginatingURI); + } + if (mPackageReferrer != null) { + newIntent.putExtra(Intent.EXTRA_REFERRER, mPackageReferrer); + } if (installerPackageName != null) { newIntent.putExtra(Intent.EXTRA_INSTALLER_PACKAGE_NAME, installerPackageName); } |