public int compare(Object o1, Object o2) { int q1; int q2; if (o1 instanceof IntentFilter) { q1 = ((IntentFilter) o1).getPriority(); q2 = ((IntentFilter) o2).getPriority(); } else if (o1 instanceof ResolveInfo) { ResolveInfo r1 = (ResolveInfo) o1; ResolveInfo r2 = (ResolveInfo) o2; q1 = r1.filter == null ? 0 : r1.filter.getPriority(); q2 = r2.filter == null ? 0 : r2.filter.getPriority(); } else { return 0; } return (q1 > q2) ? -1 : ((q1 < q2) ? 1 : 0); } };
@Override public int compare(Wrapper o1, Wrapper o2) { return Integer.compare( o2.getIntentFilter().getPriority(), o1.getIntentFilter().getPriority()); } });
static ResolveInfo buildResolveInfo(ComponentInfo componentInfo, IntentFilter intentFilter) { ResolveInfo info = buildResolveInfo(componentInfo); info.isDefault = intentFilter.hasCategory("android.intent.category.DEFAULT"); info.filter = new IntentFilter(intentFilter); info.priority = intentFilter.getPriority(); return info; }
public final void addActivity(VPackage.ActivityComponent a, String type) { mActivities.put(a.getComponentName(), a); final int NI = a.intents.size(); for (int j = 0; j < NI; j++) { VPackage.ActivityIntentInfo intent = a.intents.get(j); if (intent.filter.getPriority() > 0 && "activity".equals(type)) { intent.filter.setPriority(0); Log.w(TAG, "Package " + a.info.applicationInfo.packageName + " has activity " + a.className + " with priority > 0, forcing to 0"); } addFilter(intent); } }
@TargetApi(Build.VERSION_CODES.KITKAT) @Override protected ResolveInfo newResult(VPackage.ProviderIntentInfo filter, int match, int userId) { final VPackage.ProviderComponent provider = filter.provider; PackageSetting ps = (PackageSetting) provider.owner.mExtras; ProviderInfo pi = PackageParserEx.generateProviderInfo(provider, mFlags, ps.readUserState(userId), userId); if (pi == null) { return null; } final ResolveInfo res = new ResolveInfo(); res.providerInfo = pi; if ((mFlags & PackageManager.GET_RESOLVED_FILTER) != 0) { res.filter = filter.filter; } res.priority = filter.filter.getPriority(); res.preferredOrder = provider.owner.mPreferredOrder; res.match = match; res.isDefault = filter.hasDefault; res.labelRes = filter.labelRes; res.nonLocalizedLabel = filter.nonLocalizedLabel; res.icon = filter.icon; return res; }
&& (matchRes != IntentFilter.NO_MATCH_DATA) && (matchRes != IntentFilter.NO_MATCH_TYPE); final int priority = intentFilter.getPriority(); if (matches && priority > maxPriority) { maxPriority = priority;
@Override protected ResolveInfo newResult(VPackage.ActivityIntentInfo info, int match, int userId) { final VPackage.ActivityComponent activity = info.activity; PackageSetting ps = (PackageSetting) activity.owner.mExtras; ActivityInfo ai = PackageParserEx.generateActivityInfo(activity, mFlags, ps.readUserState(userId), userId); if (ai == null) { return null; } final ResolveInfo res = new ResolveInfo(); res.activityInfo = ai; if ((mFlags & PackageManager.GET_RESOLVED_FILTER) != 0) { res.filter = info.filter; } res.priority = info.filter.getPriority(); res.preferredOrder = activity.owner.mPreferredOrder; res.match = match; res.isDefault = info.hasDefault; res.labelRes = info.labelRes; res.nonLocalizedLabel = info.nonLocalizedLabel; res.icon = info.icon; return res; }
@Override protected ResolveInfo newResult(VPackage.ServiceIntentInfo filter, int match, int userId) { final VPackage.ServiceComponent service = filter.service; PackageSetting ps = (PackageSetting) service.owner.mExtras; ServiceInfo si = PackageParserEx.generateServiceInfo(service, mFlags, ps.readUserState(userId), userId); if (si == null) { return null; } final ResolveInfo res = new ResolveInfo(); res.serviceInfo = si; if ((mFlags & PackageManager.GET_RESOLVED_FILTER) != 0) { res.filter = filter.filter; } res.priority = filter.filter.getPriority(); res.preferredOrder = service.owner.mPreferredOrder; res.match = match; res.isDefault = filter.hasDefault; res.labelRes = filter.labelRes; res.nonLocalizedLabel = filter.nonLocalizedLabel; res.icon = filter.icon; return res; }
@Test public void setsPriority() throws Exception { IntentFilter filter = new IntentFilter(); filter.setPriority(123); assertThat(filter.getPriority()).isEqualTo(123); }
public int compare(Object o1, Object o2) { final int q1 = ((ResolveInfo) o1).filter.getPriority(); final int q2 = ((ResolveInfo) o2).filter.getPriority(); return (q1 > q2) ? -1 : ((q1 < q2) ? 1 : 0); } };
public int compare(Object o1, Object o2) { int q1; int q2; if (o1 instanceof IntentFilter) { q1 = ((IntentFilter) o1).getPriority(); q2 = ((IntentFilter) o2).getPriority(); } else if (o1 instanceof ResolveInfo) { ResolveInfo r1 = (ResolveInfo) o1; ResolveInfo r2 = (ResolveInfo) o2; q1 = r1.filter == null ? 0 : r1.filter.getPriority(); q2 = r2.filter == null ? 0 : r2.filter.getPriority(); } else { return 0; } return (q1 > q2) ? -1 : ((q1 < q2) ? 1 : 0); } };
@Override public int hashCode() { return Objects.hash( filter == null ? null : filter.getPriority(), actions, categories, dataSchemes, dataSchemeSpecificParts, dataAuthorities, dataPaths, dataTypes); }
@Override public int compare(Wrapper o1, Wrapper o2) { return Integer.compare( o2.getIntentFilter().getPriority(), o1.getIntentFilter().getPriority()); } });
@Override public int compare(Wrapper o1, Wrapper o2) { return Integer.compare(o2.getIntentFilter().getPriority(), o1.getIntentFilter().getPriority()); } });
@Override public int compare(Wrapper o1, Wrapper o2) { return Integer.compare(o2.getIntentFilter().getPriority(), o1.getIntentFilter().getPriority()); } });
@Override public int compare(Wrapper o1, Wrapper o2) { return Integer.compare(o2.getIntentFilter().getPriority(), o1.getIntentFilter().getPriority()); } });
public final void addActivity(VPackage.ActivityComponent a, String type) { mActivities.put(a.getComponentName(), a); final int NI = a.intents.size(); for (int j = 0; j < NI; j++) { VPackage.ActivityIntentInfo intent = a.intents.get(j); if (intent.filter.getPriority() > 0 && "activity".equals(type)) { intent.filter.setPriority(0); Log.w(TAG, "Package " + a.info.applicationInfo.packageName + " has activity " + a.className + " with priority > 0, forcing to 0"); } addFilter(intent); } }
public final void addActivity(VPackage.ActivityComponent a, String type) { mActivities.put(a.getComponentName(), a); final int NI = a.intents.size(); for (int j = 0; j < NI; j++) { VPackage.ActivityIntentInfo intent = a.intents.get(j); if (intent.filter.getPriority() > 0 && "activity".equals(type)) { intent.filter.setPriority(0); Log.w(TAG, "Package " + a.info.applicationInfo.packageName + " has activity " + a.className + " with priority > 0, forcing to 0"); } addFilter(intent); } }
@Override protected ResolveInfo newResult(VPackage.ServiceIntentInfo filter, int match, int userId) { final VPackage.ServiceComponent service = filter.service; PackageSetting ps = (PackageSetting) service.owner.mExtras; ServiceInfo si = PackageParserEx.generateServiceInfo(service, mFlags, ps.readUserState(userId), userId); if (si == null) { return null; } final ResolveInfo res = new ResolveInfo(); res.serviceInfo = si; if ((mFlags & PackageManager.GET_RESOLVED_FILTER) != 0) { res.filter = filter.filter; } res.priority = filter.filter.getPriority(); res.preferredOrder = service.owner.mPreferredOrder; res.match = match; res.isDefault = filter.hasDefault; res.labelRes = filter.labelRes; res.nonLocalizedLabel = filter.nonLocalizedLabel; res.icon = filter.icon; return res; }
@Override protected ResolveInfo newResult(VPackage.ActivityIntentInfo info, int match, int userId) { final VPackage.ActivityComponent activity = info.activity; PackageSetting ps = (PackageSetting) activity.owner.mExtras; ActivityInfo ai = PackageParserEx.generateActivityInfo(activity, mFlags, ps.readUserState(userId), userId); if (ai == null) { return null; } final ResolveInfo res = new ResolveInfo(); res.activityInfo = ai; if ((mFlags & PackageManager.GET_RESOLVED_FILTER) != 0) { res.filter = info.filter; } res.priority = info.filter.getPriority(); res.preferredOrder = activity.owner.mPreferredOrder; res.match = match; res.isDefault = info.hasDefault; res.labelRes = info.labelRes; res.nonLocalizedLabel = info.nonLocalizedLabel; res.icon = info.icon; return res; }