private static int matchIntentFilter(Intent intent, IntentFilter intentFilter) { return intentFilter.match( intent.getAction(), intent.getType(), intent.getScheme(), intent.getData(), intent.getCategories(), TAG); }
@Override public boolean activitySupportsIntent(ComponentName component, Intent intent, String resolvedType) { synchronized (mPackages) { VPackage.ActivityComponent a = mActivities.mActivities.get(component); if (a == null) { return false; } for (int i = 0; i < a.intents.size(); i++) { if (a.intents.get(i).filter.match(intent.getAction(), resolvedType, intent.getScheme(), intent.getData(), intent.getCategories(), TAG) >= 0) { return true; } } return false; } }
private ResolveInfo resolvePreferredActivity( Intent intent, List<ResolveInfo> candidates, SortedMap<ComponentName, List<IntentFilter>> preferredActivities) { preferredActivities = mapForPackage(preferredActivities, intent.getPackage()); for (ResolveInfo candidate : candidates) { ActivityInfo activityInfo = candidate.activityInfo; if (!isValidComponentInfo(activityInfo)) { continue; } ComponentName candidateName = new ComponentName(activityInfo.applicationInfo.packageName, activityInfo.name); List<IntentFilter> intentFilters = preferredActivities.get(candidateName); if (intentFilters == null) { continue; } for (IntentFilter filter : intentFilters) { if ((filter.match(context.getContentResolver(), intent, false, "robo") & MATCH_CATEGORY_MASK) != 0) { return candidate; } } } return null; }
final String componentName = item.getKey(); final IntentFilter intentFilter = item.getValue(); final int matchRes = intentFilter.match(intent.getAction(), intent.getType(), intent.getScheme(), intent.getData(), intent.getCategories(), TAG); final boolean matches = (matchRes != IntentFilter.NO_MATCH_ACTION)
match = filter.filter.match(action, resolvedType, scheme, data, categories, TAG); if (match >= 0) { if (!defaultOnly || filter.filter.hasCategory(Intent.CATEGORY_DEFAULT)) {
protected void buildResolveList(Intent intent, FastImmutableArraySet<String> categories, String resolvedType, String scheme, F[] src, List<ResolveInfo> dest) { final String action = intent.getAction(); final Uri data = intent.getData(); final int N = src != null ? src.length : 0; int i; F filter; for (i=0; i<N && (filter=src[i]) != null; i++) { int match = filter.match(action, resolvedType, scheme, data, categories, TAG); if (match >= 0) { final ResolveInfo oneResult = newResult(filter, match); if (oneResult != null) { dest.add(oneResult); } } } }
@Override public boolean activitySupportsIntent(ComponentName component, Intent intent, String resolvedType) { synchronized (mPackages) { VPackage.ActivityComponent a = mActivities.mActivities.get(component); if (a == null) { return false; } for (int i = 0; i < a.intents.size(); i++) { if (a.intents.get(i).filter.match(intent.getAction(), resolvedType, intent.getScheme(), intent.getData(), intent.getCategories(), TAG) >= 0) { return true; } } return false; } }
@Override public boolean activitySupportsIntent(ComponentName component, Intent intent, String resolvedType) { synchronized (mPackages) { VPackage.ActivityComponent a = mActivities.mActivities.get(component); if (a == null) { return false; } for (int i = 0; i < a.intents.size(); i++) { if (a.intents.get(i).filter.match(intent.getAction(), resolvedType, intent.getScheme(), intent.getData(), intent.getCategories(), TAG) >= 0) { return true; } } return false; } }
@Implementation protected ResolveInfo resolveActivity(Intent intent, int flags) { HashSet<ComponentName> preferredComponents = new HashSet<>(); for (Entry<IntentFilterWrapper, ComponentName> preferred : preferredActivities.entrySet()) { if ((preferred.getKey().getFilter().match(context.getContentResolver(), intent, false, "robo") & MATCH_CATEGORY_MASK) != 0) { preferredComponents.add(preferred.getValue()); } } List<ResolveInfo> candidates = queryIntentActivities(intent, flags); return candidates.isEmpty() ? null : Collections.max(candidates, new ResolveInfoComparator(preferredComponents)); }
if (info != null && info.mFilter != null) { for (IntentFilter filter : info.mFilter) { if (filter.match(mIntent.getAction(), null, null, null, null, TAG) > 0) { return info.mInfo;
if (info != null && info.mFilter != null) { for (IntentFilter filter : info.mFilter) { if (filter.match(intent.getAction(), null, intent.getScheme(), intent.getData(), intent.getCategories(), TAG) > 0) { return info.mInfo;
if (info != null && info.mFilter != null) { for (IntentFilter filter : info.mFilter) { if (filter.match(intent.getAction(), intent.getType(), intent.getScheme(), intent.getData(), intent.getCategories(), TAG) > 0) { return info.mInfo;
int match = receiver.filter.match(action, type, scheme, data, categories, "LocalBroadcastManager"); if (match >= 0) {
int match = receiver.filter.match(action, type, scheme, data, categories, "LocalBroadcastManager"); if (match >= 0) {
int match = receiver.filter.match(action, type, scheme, data, categories, "LocalBroadcastManager"); if (match >= 0) {
match = filter.filter.match(action, resolvedType, scheme, data, categories, TAG); if (match >= 0) { if (!defaultOnly || filter.filter.hasCategory(Intent.CATEGORY_DEFAULT)) {
match = filter.filter.match(action, resolvedType, scheme, data, categories, TAG); if (match >= 0) { if (!defaultOnly || filter.filter.hasCategory(Intent.CATEGORY_DEFAULT)) {