diff --git a/services/core/java/com/android/server/am/ProviderMap.java b/services/core/java/com/android/server/am/ProviderMap.java index a1dc3e3c07695..ed8b1dd7fcd5d 100644 --- a/services/core/java/com/android/server/am/ProviderMap.java +++ b/services/core/java/com/android/server/am/ProviderMap.java @@ -210,8 +210,11 @@ public final class ProviderMap { boolean collectPackageProvidersLocked(String packageName, Set filterByClasses, boolean doit, boolean evenPersistent, int userId, ArrayList result) { - boolean didSomething = collectPackageProvidersLocked(packageName, filterByClasses, - doit, evenPersistent, mSingletonByClass, result); + boolean didSomething = false; + if (userId == UserHandle.USER_ALL || userId == UserHandle.USER_OWNER) { + didSomething = collectPackageProvidersLocked(packageName, filterByClasses, + doit, evenPersistent, mSingletonByClass, result); + } if (!doit && didSomething) { return true; }