Merge "make sure package info is non-null" into oc-mr1-dev

This commit is contained in:
TreeHugger Robot
2017-08-23 01:51:12 +00:00
committed by Android (Google) Code Review

View File

@@ -41,6 +41,7 @@ import static com.android.server.pm.PackageInstallerService.prepareStageDir;
import android.Manifest;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.app.admin.DevicePolicyManager;
import android.content.Context;
import android.content.Intent;
@@ -731,7 +732,7 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
*
* @param pkgInfo The package info for {@link #params}.packagename
*/
private void sealAndValidateLocked(PackageInfo pkgInfo)
private void sealAndValidateLocked(@Nullable PackageInfo pkgInfo)
throws PackageManagerException {
assertNoWriteFileTransfersOpenLocked();
@@ -923,7 +924,8 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
* Note that upgrade compatibility is still performed by
* {@link PackageManagerService}.
*/
private void validateInstallLocked(PackageInfo pkgInfo) throws PackageManagerException {
private void validateInstallLocked(@Nullable PackageInfo pkgInfo)
throws PackageManagerException {
mPackageName = null;
mVersionCode = -1;
mSignatures = null;
@@ -1004,6 +1006,11 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
}
if (removeSplitList.size() > 0) {
if (pkgInfo == null) {
throw new PackageManagerException(INSTALL_FAILED_INVALID_APK,
"Missing existing base package for " + mPackageName);
}
// validate split names marked for removal
for (String splitName : removeSplitList) {
if (!ArrayUtils.contains(pkgInfo.splitNames, splitName)) {