diff options
author | Kenny Root <kroot@google.com> | 2013-03-14 17:39:50 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2013-03-14 17:39:50 +0000 |
commit | 48fac918903e23a82dbe02297b3fbac4106d8cbf (patch) | |
tree | 8782a20f4721a74d2319a4c69c32ef57a341826f | |
parent | 46ac102256c58de9301c9c69201711657a5102a5 (diff) | |
parent | 2b3202c3ff18469b294629bf1416118f12492173 (diff) | |
download | android_packages_apps_PackageInstaller-48fac918903e23a82dbe02297b3fbac4106d8cbf.tar.gz android_packages_apps_PackageInstaller-48fac918903e23a82dbe02297b3fbac4106d8cbf.tar.bz2 android_packages_apps_PackageInstaller-48fac918903e23a82dbe02297b3fbac4106d8cbf.zip |
am 2b3202c3: Add manifest to verification params
* commit '2b3202c3ff18469b294629bf1416118f12492173':
Add manifest to verification params
3 files changed, 10 insertions, 1 deletions
diff --git a/src/com/android/packageinstaller/InstallAppProgress.java b/src/com/android/packageinstaller/InstallAppProgress.java index fc820782..71c792ee 100755 --- a/src/com/android/packageinstaller/InstallAppProgress.java +++ b/src/com/android/packageinstaller/InstallAppProgress.java @@ -24,6 +24,7 @@ import android.content.DialogInterface.OnCancelListener; import android.content.Intent; import android.content.pm.ApplicationInfo; import android.content.pm.IPackageInstallObserver; +import android.content.pm.ManifestDigest; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; @@ -54,6 +55,8 @@ import java.util.List; public class InstallAppProgress extends Activity implements View.OnClickListener, OnCancelListener { private final String TAG="InstallAppProgress"; private boolean localLOGV = false; + static final String EXTRA_MANIFEST_DIGEST = + "com.android.packageinstaller.extras.manifest_digest"; private ApplicationInfo mAppInfo; private Uri mPackageURI; private ProgressBar mProgressBar; @@ -254,8 +257,9 @@ public class InstallAppProgress extends Activity implements View.OnClickListener Uri referrer = getIntent().getParcelableExtra(Intent.EXTRA_REFERRER); int originatingUid = getIntent().getIntExtra(Intent.EXTRA_ORIGINATING_UID, VerificationParams.NO_UID); + ManifestDigest manifestDigest = getIntent().getParcelableExtra(EXTRA_MANIFEST_DIGEST); VerificationParams verificationParams = new VerificationParams(null, originatingURI, - referrer, originatingUid, null); + referrer, originatingUid, manifestDigest); PackageInstallObserver observer = new PackageInstallObserver(); if ("package".equals(mPackageURI.getScheme())) { diff --git a/src/com/android/packageinstaller/PackageInstallerActivity.java b/src/com/android/packageinstaller/PackageInstallerActivity.java index 4a6db210..4d7b0c04 100644 --- a/src/com/android/packageinstaller/PackageInstallerActivity.java +++ b/src/com/android/packageinstaller/PackageInstallerActivity.java @@ -26,6 +26,7 @@ import android.content.DialogInterface.OnCancelListener; import android.content.Intent; import android.content.SharedPreferences; import android.content.pm.ApplicationInfo; +import android.content.pm.ManifestDigest; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.PackageUserState; @@ -69,6 +70,7 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen private Uri mOriginatingURI; private Uri mReferrerURI; private int mOriginatingUid = VerificationParams.NO_UID; + private ManifestDigest mPkgDigest; private boolean localLOGV = false; PackageManager mPm; @@ -520,6 +522,7 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen mPkgInfo = PackageParser.generatePackageInfo(parsed, null, PackageManager.GET_PERMISSIONS, 0, 0, null, new PackageUserState()); + mPkgDigest = parsed.manifestDigest; as = PackageUtil.getAppSnippet(this, mPkgInfo.applicationInfo, sourceFile); } @@ -656,6 +659,7 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen mPkgInfo.applicationInfo); newIntent.setData(mPackageURI); newIntent.setClass(this, InstallAppProgress.class); + newIntent.putExtra(InstallAppProgress.EXTRA_MANIFEST_DIGEST, mPkgDigest); String installerPackageName = getIntent().getStringExtra( Intent.EXTRA_INSTALLER_PACKAGE_NAME); if (mOriginatingURI != null) { diff --git a/src/com/android/packageinstaller/PackageUtil.java b/src/com/android/packageinstaller/PackageUtil.java index 8681bfc7..20dce430 100644 --- a/src/com/android/packageinstaller/PackageUtil.java +++ b/src/com/android/packageinstaller/PackageUtil.java @@ -72,6 +72,7 @@ public class PackageUtil { metrics.setToDefaults(); PackageParser.Package pkg = packageParser.parsePackage(sourceFile, archiveFilePath, metrics, 0); + packageParser.collectCertificates(pkg, 0); // Nuke the parser reference. packageParser = null; return pkg; |