make IntentFilter.match() actually functional

This commit is contained in:
Julian Winkler 2025-03-25 18:54:30 +01:00
parent 5a4f56f4ba
commit df4d4721ce

View file

@ -52,6 +52,10 @@ public class IntentFilter {
dataSchemes.add(dataScheme); dataSchemes.add(dataScheme);
} }
public void addDataAuthority(String host, String port) {}
public void addDataPath(String path, int type) {}
public boolean hasDataScheme(String dataScheme) { public boolean hasDataScheme(String dataScheme) {
return dataSchemes.contains(dataScheme); return dataSchemes.contains(dataScheme);
} }
@ -73,6 +77,17 @@ public class IntentFilter {
} }
public int match(String action, String type, String scheme, Uri data, Set<String> categories, String logTag) { public int match(String action, String type, String scheme, Uri data, Set<String> categories, String logTag) {
return -1/*NO_MATCH_TYPE*/; int ret = 0;
if (!matchAction(action)) {
ret = -3/*NO_MATCH_ACTION*/;
}
if (scheme == null) {
ret = 0x00100000/*MATCH_CATEGORY_EMPTY*/ | 0x00008000/*MATCH_ADJUSTMENT_NORMAL*/;
} else if (hasDataScheme(scheme)) {
ret = 0x00200000/*MATCH_CATEGORY_SCHEME*/ | 0x00008000/*MATCH_ADJUSTMENT_NORMAL*/;
} else {
ret = -2/*NO_MATCH_DATA*/;
}
return ret;
} }
} }