Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit df0697e3 authored by Julia Reynolds's avatar Julia Reynolds Committed by Android (Google) Code Review
Browse files

Merge "Apply ENSURE_VERIFY_APPS restriction to PackageManagerService."

parents 2771181c 6728239c
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -8051,17 +8051,22 @@ public class PackageManagerService extends IPackageManager.Stub {
     *
     * @return true if verification should be performed
     */
    private boolean isVerificationEnabled(int flags) {
    private boolean isVerificationEnabled(int userId, int flags) {
        if (!DEFAULT_VERIFY_ENABLE) {
            return false;
        }
        boolean ensureVerifyAppsEnabled = isUserRestricted(userId, UserManager.ENSURE_VERIFY_APPS);
        // Check if installing from ADB
        if ((flags & PackageManager.INSTALL_FROM_ADB) != 0) {
            // Do not run verification in a test harness environment
            if (ActivityManager.isRunningInTestHarness()) {
                return false;
            }
            if (ensureVerifyAppsEnabled) {
                return true;
            }
            // Check if the developer does not want package verification for ADB installs
            if (android.provider.Settings.Global.getInt(mContext.getContentResolver(),
                    android.provider.Settings.Global.PACKAGE_VERIFIER_INCLUDE_ADB, 1) == 0) {
@@ -8069,6 +8074,10 @@ public class PackageManagerService extends IPackageManager.Stub {
            }
        }
        if (ensureVerifyAppsEnabled) {
            return true;
        }
        return android.provider.Settings.Global.getInt(mContext.getContentResolver(),
                android.provider.Settings.Global.PACKAGE_VERIFIER_ENABLE, 1) == 1;
    }
@@ -8639,7 +8648,7 @@ public class PackageManagerService extends IPackageManager.Stub {
                 */
                final int requiredUid = mRequiredVerifierPackage == null ? -1
                        : getPackageUid(mRequiredVerifierPackage, userIdentifier);
                if (requiredUid != -1 && isVerificationEnabled(flags)) {
                if (requiredUid != -1 && isVerificationEnabled(userIdentifier, flags)) {
                    final Intent verification = new Intent(
                            Intent.ACTION_PACKAGE_NEEDS_VERIFICATION);
                    verification.setDataAndType(getPackageUri(), PACKAGE_MIME_TYPE);