Issue #1257 ยป Add-manifest-to-verification-params.patch
src/com/android/packageinstaller/InstallAppProgress.java | ||
---|---|---|
24 | 24 |
import android.content.Intent; |
25 | 25 |
import android.content.pm.ApplicationInfo; |
26 | 26 |
import android.content.pm.IPackageInstallObserver; |
27 |
import android.content.pm.ManifestDigest; |
|
27 | 28 |
import android.content.pm.PackageInfo; |
28 | 29 |
import android.content.pm.PackageManager; |
29 | 30 |
import android.content.pm.PackageManager.NameNotFoundException; |
... | ... | |
54 | 55 |
public class InstallAppProgress extends Activity implements View.OnClickListener, OnCancelListener { |
55 | 56 |
private final String TAG="InstallAppProgress"; |
56 | 57 |
private boolean localLOGV = false; |
58 |
static final String EXTRA_MANIFEST_DIGEST = |
|
59 |
"com.android.packageinstaller.extras.manifest_digest"; |
|
57 | 60 |
private ApplicationInfo mAppInfo; |
58 | 61 |
private Uri mPackageURI; |
59 | 62 |
private ProgressBar mProgressBar; |
... | ... | |
254 | 257 |
Uri referrer = getIntent().getParcelableExtra(Intent.EXTRA_REFERRER); |
255 | 258 |
int originatingUid = getIntent().getIntExtra(Intent.EXTRA_ORIGINATING_UID, |
256 | 259 |
VerificationParams.NO_UID); |
260 |
ManifestDigest manifestDigest = getIntent().getParcelableExtra(EXTRA_MANIFEST_DIGEST); |
|
257 | 261 |
VerificationParams verificationParams = new VerificationParams(null, originatingURI, |
258 |
referrer, originatingUid, null);
|
|
262 |
referrer, originatingUid, manifestDigest);
|
|
259 | 263 |
PackageInstallObserver observer = new PackageInstallObserver(); |
260 | 264 | |
261 | 265 |
if ("package".equals(mPackageURI.getScheme())) { |
src/com/android/packageinstaller/PackageInstallerActivity.java | ||
---|---|---|
26 | 26 |
import android.content.Intent; |
27 | 27 |
import android.content.SharedPreferences; |
28 | 28 |
import android.content.pm.ApplicationInfo; |
29 |
import android.content.pm.ManifestDigest; |
|
29 | 30 |
import android.content.pm.PackageInfo; |
30 | 31 |
import android.content.pm.PackageManager; |
31 | 32 |
import android.content.pm.PackageUserState; |
... | ... | |
69 | 70 |
private Uri mOriginatingURI; |
70 | 71 |
private Uri mReferrerURI; |
71 | 72 |
private int mOriginatingUid = VerificationParams.NO_UID; |
73 |
private ManifestDigest mPkgDigest; |
|
72 | 74 | |
73 | 75 |
private boolean localLOGV = false; |
74 | 76 |
PackageManager mPm; |
... | ... | |
520 | 522 |
mPkgInfo = PackageParser.generatePackageInfo(parsed, null, |
521 | 523 |
PackageManager.GET_PERMISSIONS, 0, 0, null, |
522 | 524 |
new PackageUserState()); |
525 |
mPkgDigest = parsed.manifestDigest; |
|
523 | 526 |
as = PackageUtil.getAppSnippet(this, mPkgInfo.applicationInfo, sourceFile); |
524 | 527 |
} |
525 | 528 |
|
... | ... | |
656 | 659 |
mPkgInfo.applicationInfo); |
657 | 660 |
newIntent.setData(mPackageURI); |
658 | 661 |
newIntent.setClass(this, InstallAppProgress.class); |
662 |
newIntent.putExtra(InstallAppProgress.EXTRA_MANIFEST_DIGEST, mPkgDigest); |
|
659 | 663 |
String installerPackageName = getIntent().getStringExtra( |
660 | 664 |
Intent.EXTRA_INSTALLER_PACKAGE_NAME); |
661 | 665 |
if (mOriginatingURI != null) { |
src/com/android/packageinstaller/PackageUtil.java | ||
---|---|---|
72 | 72 |
metrics.setToDefaults(); |
73 | 73 |
PackageParser.Package pkg = packageParser.parsePackage(sourceFile, |
74 | 74 |
archiveFilePath, metrics, 0); |
75 |
packageParser.collectCertificates(pkg, 0); |
|
75 | 76 |
// Nuke the parser reference. |
76 | 77 |
packageParser = null; |
77 | 78 |
return pkg; |