summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2020-05-15 17:54:23 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2020-05-15 17:54:23 +0000
commitcd1c478655d1ec84679a8c5a69d0776e8cd7df32 (patch)
tree65820932f39af1c25a68a2c6a68c926a7bdadb48
parentd1b6afcc192e1abfde371b2d15186c08df70cb2f (diff)
parent84249ed31e4d6af7bfa9335ff0879893e300b46f (diff)
Merge "Treat mimegroup as wildcard for app enumeration" into rvc-dev
-rw-r--r--core/java/android/content/IntentFilter.java9
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 {