summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Todd Kennedy <toddke@google.com> 2017-04-19 12:13:51 -0700
committer Todd Kennedy <toddke@google.com> 2017-04-19 12:13:51 -0700
commite61b60115f3b08535ebc94e57b62ddd8a3f7de0f (patch)
tree89643805ed6486e8f01e982f6ec8be8fda8108a5
parent5b06dbd12bcd28fbc051c88c3ea7f31bcf20d1f8 (diff)
Allow verifier to be optional
Change-Id: Ibf01e5283b744f7745e92523787abb3d31a2c813 Fixes: 37412895 Test: Manual; disable verifier and notice that the device doesn't boot loop
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerService.java12
1 files 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 e79f46b4f3be..65c71d7652d2 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<ComponentName, String> getInstantAppResolverLPr() {