summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorrich cannings <richc@google.com>2012-07-26 14:09:49 -0700
committerrich cannings <richc@google.com>2012-08-02 11:31:17 -0700
commit076ca8c8373a3d5f3f56103fa85966cc6c34c94a (patch)
tree92728ab79dec040cbc3d31e8b1dfe1f0be95d028 /src
parent879c1fadd28cf825cb22067b405ea86ffd44db80 (diff)
downloadandroid_packages_apps_PackageInstaller-076ca8c8373a3d5f3f56103fa85966cc6c34c94a.tar.gz
android_packages_apps_PackageInstaller-076ca8c8373a3d5f3f56103fa85966cc6c34c94a.tar.bz2
android_packages_apps_PackageInstaller-076ca8c8373a3d5f3f56103fa85966cc6c34c94a.zip
Accept and pass URLs to PackageManagerService
This change passes the originating URI and referrer of an apk, when available, to the package manager. Bug: 6544677 Change-Id: I6b1036012399f6cd42feceedeca2493b6b20501a
Diffstat (limited to 'src')
-rwxr-xr-xsrc/com/android/packageinstaller/InstallAppProgress.java7
-rw-r--r--src/com/android/packageinstaller/PackageInstallerActivity.java12
2 files changed, 17 insertions, 2 deletions
diff --git a/src/com/android/packageinstaller/InstallAppProgress.java b/src/com/android/packageinstaller/InstallAppProgress.java
index 8bfcd4f1..6e471cb2 100755
--- a/src/com/android/packageinstaller/InstallAppProgress.java
+++ b/src/com/android/packageinstaller/InstallAppProgress.java
@@ -243,8 +243,13 @@ public class InstallAppProgress extends Activity implements View.OnClickListener
String installerPackageName = getIntent().getStringExtra(
Intent.EXTRA_INSTALLER_PACKAGE_NAME);
+ Uri originatingURI = getIntent().getParcelableExtra(Intent.EXTRA_ORIGINATING_URI);
+ Uri referrer = getIntent().getParcelableExtra(Intent.EXTRA_REFERRER);
+
PackageInstallObserver observer = new PackageInstallObserver();
- pm.installPackage(mPackageURI, observer, installFlags, installerPackageName);
+
+ pm.installPackageWithOrigin(mPackageURI, observer, installFlags,
+ installerPackageName, originatingURI, referrer);
}
@Override
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);
}