diff options
| author | 2020-05-15 17:54:23 +0000 | |
|---|---|---|
| committer | 2020-05-15 17:54:23 +0000 | |
| commit | cd1c478655d1ec84679a8c5a69d0776e8cd7df32 (patch) | |
| tree | 65820932f39af1c25a68a2c6a68c926a7bdadb48 | |
| parent | d1b6afcc192e1abfde371b2d15186c08df70cb2f (diff) | |
| parent | 84249ed31e4d6af7bfa9335ff0879893e300b46f (diff) | |
Merge "Treat mimegroup as wildcard for app enumeration" into rvc-dev
| -rw-r--r-- | core/java/android/content/IntentFilter.java | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/core/java/android/content/IntentFilter.java b/core/java/android/content/IntentFilter.java index 11d3f529b0fa..79da1f6ab282 100644 --- a/core/java/android/content/IntentFilter.java +++ b/core/java/android/content/IntentFilter.java @@ -1581,12 +1581,13 @@ public class IntentFilter implements Parcelable { * @param wildcardSupported if true, will allow parameters to use wildcards */ private int matchData(String type, String scheme, Uri data, boolean wildcardSupported) { - final ArrayList<String> types = mDataTypes; + final boolean wildcardWithMimegroups = wildcardSupported && countMimeGroups() != 0; + final List<String> types = mDataTypes; final ArrayList<String> schemes = mDataSchemes; int match = MATCH_CATEGORY_EMPTY; - if (types == null && schemes == null) { + if (!wildcardWithMimegroups && types == null && schemes == null) { return ((type == null && data == null) ? (MATCH_CATEGORY_EMPTY+MATCH_ADJUSTMENT_NORMAL) : NO_MATCH_DATA); } @@ -1641,7 +1642,9 @@ public class IntentFilter implements Parcelable { } } - if (types != null) { + if (wildcardWithMimegroups) { + return MATCH_CATEGORY_TYPE; + } else if (types != null) { if (findMimeType(type)) { match = MATCH_CATEGORY_TYPE; } else { |