From e61b60115f3b08535ebc94e57b62ddd8a3f7de0f Mon Sep 17 00:00:00 2001 From: Todd Kennedy Date: Wed, 19 Apr 2017 12:13:51 -0700 Subject: [PATCH] Allow verifier to be optional Change-Id: Ibf01e5283b744f7745e92523787abb3d31a2c813 Fixes: 37412895 Test: Manual; disable verifier and notice that the device doesn't boot loop --- .../com/android/server/pm/PackageManagerService.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index e79f46b4f3be4..65c71d7652d27 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -2804,8 +2804,12 @@ public class PackageManagerService extends IPackageManager.Stub { mRequiredInstallerPackage = getRequiredInstallerLPr(); mRequiredUninstallerPackage = getRequiredUninstallerLPr(); mIntentFilterVerifierComponent = getIntentFilterVerifierComponentNameLPr(); - mIntentFilterVerifier = new IntentVerifierProxy(mContext, - mIntentFilterVerifierComponent); + if (mIntentFilterVerifierComponent != null) { + mIntentFilterVerifier = new IntentVerifierProxy(mContext, + mIntentFilterVerifierComponent); + } else { + mIntentFilterVerifier = null; + } mServicesSystemSharedLibraryPackageName = getRequiredSharedLibraryLPr( PackageManager.SYSTEM_SHARED_LIBRARY_SERVICES, SharedLibraryInfo.VERSION_UNDEFINED); @@ -3045,9 +3049,9 @@ public class PackageManagerService extends IPackageManager.Stub { if (best != null) { return best.getComponentInfo().getComponentName(); - } else { - throw new RuntimeException("There must be at least one intent filter verifier"); } + Slog.w(TAG, "Intent filter verifier not found"); + return null; } private @Nullable Pair getInstantAppResolverLPr() {