From fe069ea729efec01a8b6f16f9e76a2db4988404a Mon Sep 17 00:00:00 2001 From: Jacek Surazski Date: Wed, 13 May 2009 14:52:19 +0200 Subject: PackageInstaller honors Intent.EXTRA_INSTALLER_PACKAGE_NAME If this extra is set in the Intent which launches PackageInstaller, PackageInstaller passes it in the call to PackageManager.installPackage(). --- src/com/android/packageinstaller/InstallAppProgress.java | 5 ++++- src/com/android/packageinstaller/PackageInstallerActivity.java | 7 +++++++ 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'src/com/android/packageinstaller') diff --git a/src/com/android/packageinstaller/InstallAppProgress.java b/src/com/android/packageinstaller/InstallAppProgress.java index 5f71a855..5b92d098 100755 --- a/src/com/android/packageinstaller/InstallAppProgress.java +++ b/src/com/android/packageinstaller/InstallAppProgress.java @@ -108,7 +108,10 @@ public class InstallAppProgress extends Activity { if((installFlags & PackageManager.INSTALL_REPLACE_EXISTING )!= 0) { Log.w(TAG, "Replacing package:"+mAppInfo.packageName); } + String installerPackageName = getIntent().getStringExtra( + Intent.EXTRA_INSTALLER_PACKAGE_NAME); + PackageInstallObserver observer = new PackageInstallObserver(); - pm.installPackage(mPackageURI, observer, installFlags, null); + pm.installPackage(mPackageURI, observer, installFlags, installerPackageName); } } diff --git a/src/com/android/packageinstaller/PackageInstallerActivity.java b/src/com/android/packageinstaller/PackageInstallerActivity.java index 29f05b43..613432c3 100644 --- a/src/com/android/packageinstaller/PackageInstallerActivity.java +++ b/src/com/android/packageinstaller/PackageInstallerActivity.java @@ -113,6 +113,13 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen mPkgInfo.applicationInfo); newIntent.setData(mPackageURI); newIntent.setClass(this, cls); + + String installerPackageName = getIntent().getStringExtra( + Intent.EXTRA_INSTALLER_PACKAGE_NAME); + if (installerPackageName != null) { + newIntent.putExtra(Intent.EXTRA_INSTALLER_PACKAGE_NAME, installerPackageName); + } + if(localLOGV) Log.i(TAG, "downloaded app uri="+mPackageURI); startActivityForResult(newIntent, requestCode); } -- cgit v1.2.3