Merge "Fix verfication bypassed for adb installs" into jb-mr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
f1b246ddfe
@ -6374,12 +6374,22 @@ public class PackageManagerService extends IPackageManager.Stub {
|
|||||||
mArgs = args;
|
mArgs = args;
|
||||||
|
|
||||||
if (ret == PackageManager.INSTALL_SUCCEEDED) {
|
if (ret == PackageManager.INSTALL_SUCCEEDED) {
|
||||||
|
/*
|
||||||
|
* ADB installs appear as UserHandle.USER_ALL, and can only be performed by
|
||||||
|
* UserHandle.USER_OWNER, so use the package verifier for UserHandle.USER_OWNER.
|
||||||
|
*/
|
||||||
|
int userIdentifier = getUser().getIdentifier();
|
||||||
|
if (userIdentifier == UserHandle.USER_ALL
|
||||||
|
&& ((flags & PackageManager.INSTALL_FROM_ADB) != 0)) {
|
||||||
|
userIdentifier = UserHandle.USER_OWNER;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Determine if we have any installed package verifiers. If we
|
* Determine if we have any installed package verifiers. If we
|
||||||
* do, then we'll defer to them to verify the packages.
|
* do, then we'll defer to them to verify the packages.
|
||||||
*/
|
*/
|
||||||
final int requiredUid = mRequiredVerifierPackage == null ? -1
|
final int requiredUid = mRequiredVerifierPackage == null ? -1
|
||||||
: getPackageUid(mRequiredVerifierPackage, getUser().getIdentifier());
|
: getPackageUid(mRequiredVerifierPackage, userIdentifier);
|
||||||
if (requiredUid != -1 && isVerificationEnabled(flags)) {
|
if (requiredUid != -1 && isVerificationEnabled(flags)) {
|
||||||
final Intent verification = new Intent(
|
final Intent verification = new Intent(
|
||||||
Intent.ACTION_PACKAGE_NEEDS_VERIFICATION);
|
Intent.ACTION_PACKAGE_NEEDS_VERIFICATION);
|
||||||
|
Reference in New Issue
Block a user