Skip to content

Commit 95baa37

Browse files
committed
first commit
1 parent 0125ffe commit 95baa37

File tree

2 files changed

+23
-2
lines changed

2 files changed

+23
-2
lines changed

.idea/misc.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

intentmanip/src/main/java/xyz/belvi/intentmanip/IntentUtils/MergeIntent.java

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,13 @@
1414
* Created by zone2 on 10/2/16.
1515
*/
1616

17-
public class MergeIntent {
17+
public class MergeIntent extends ManipUtils {
1818

1919
public static List<ResolveIntent> mergeIntents(Context context, Intent... intents) {
2020

2121
PackageManager packageManager = context.getPackageManager();
2222

23+
2324
List<ResolveIntent> resolveIntents = new ArrayList<>();
2425
for (Intent intent : intents) {
2526
List<ResolveInfo> listCam = packageManager.queryIntentActivities(intent, 0);
@@ -29,4 +30,24 @@ public static List<ResolveIntent> mergeIntents(Context context, Intent... intent
2930
}
3031
return resolveIntents;
3132
}
33+
34+
public static List<ResolveIntent> distinctMerge(Context context, Intent... intents) {
35+
36+
PackageManager packageManager = context.getPackageManager();
37+
38+
39+
ArrayList<String> intentsNameLog = new ArrayList<>();
40+
List<ResolveIntent> resolveIntents = new ArrayList<>();
41+
for (Intent intent : intents) {
42+
List<ResolveInfo> listCam = packageManager.queryIntentActivities(intent, 0);
43+
for (ResolveInfo res : listCam) {
44+
if (!intentsNameLog.contains(getPackageName(res))) {
45+
intentsNameLog.add(getPackageName(res));
46+
resolveIntents.add(new ResolveIntent(res, intent));
47+
}
48+
}
49+
}
50+
intentsNameLog.clear();
51+
return resolveIntents;
52+
}
3253
}

0 commit comments

Comments
 (0)