Issue #1257 ยป Add-manifest-to-verification-params.patch
| src/com/android/packageinstaller/InstallAppProgress.java | ||
|---|---|---|
|
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;
|
||
| ... | ... | |
|
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;
|
||
| ... | ... | |
|
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())) {
|
||
| src/com/android/packageinstaller/PackageInstallerActivity.java | ||
|---|---|---|
|
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;
|
||
| ... | ... | |
|
private Uri mOriginatingURI;
|
||
|
private Uri mReferrerURI;
|
||
|
private int mOriginatingUid = VerificationParams.NO_UID;
|
||
|
private ManifestDigest mPkgDigest;
|
||
|
private boolean localLOGV = false;
|
||
|
PackageManager mPm;
|
||
| ... | ... | |
|
mPkgInfo = PackageParser.generatePackageInfo(parsed, null,
|
||
|
PackageManager.GET_PERMISSIONS, 0, 0, null,
|
||
|
new PackageUserState());
|
||
|
mPkgDigest = parsed.manifestDigest;
|
||
|
as = PackageUtil.getAppSnippet(this, mPkgInfo.applicationInfo, sourceFile);
|
||
|
}
|
||
|
|
||
| ... | ... | |
|
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) {
|
||
| src/com/android/packageinstaller/PackageUtil.java | ||
|---|---|---|
|
metrics.setToDefaults();
|
||
|
PackageParser.Package pkg = packageParser.parsePackage(sourceFile,
|
||
|
archiveFilePath, metrics, 0);
|
||
|
packageParser.collectCertificates(pkg, 0);
|
||
|
// Nuke the parser reference.
|
||
|
packageParser = null;
|
||
|
return pkg;
|
||