From 00e8d59af09e5407747ef22eb2c26d144bd01df9 Mon Sep 17 00:00:00 2001 From: Patrick Date: Mon, 11 Jun 2018 10:01:57 -0700 Subject: [PATCH] Honors MATCH_ALL flag This makes the behavior of MATCH_ALL match the documentation by ignoring all other match flags. Change-Id: I8060cedd2144d0cdbc89d974f4d9f87b601d24e3 Fixes: 35176630 Test: disabled some components and ensured they are visible when querying with MATCH_ALL --- core/java/android/content/pm/PackageUserState.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/java/android/content/pm/PackageUserState.java b/core/java/android/content/pm/PackageUserState.java index f471a1d9b36ca..de173c437916e 100644 --- a/core/java/android/content/pm/PackageUserState.java +++ b/core/java/android/content/pm/PackageUserState.java @@ -21,6 +21,7 @@ import static android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_DISABLED import static android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED; import static android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER; import static android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_ENABLED; +import static android.content.pm.PackageManager.MATCH_ALL; import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_AWARE; import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_UNAWARE; import static android.content.pm.PackageManager.MATCH_DISABLED_COMPONENTS; @@ -125,6 +126,9 @@ public class PackageUserState { *

*/ public boolean isMatch(ComponentInfo componentInfo, int flags) { + if ((flags & MATCH_ALL) != 0) { + return true; + } final boolean isSystemApp = componentInfo.applicationInfo.isSystemApp(); final boolean matchUninstalled = (flags & PackageManager.MATCH_KNOWN_PACKAGES) != 0; if (!isAvailable(flags)