Merge "Sharesheet - Fix app stacking" into rvc-dev am: 8714e7d195 am: b06daeb545

Change-Id: I04cbd974abca6b71356c3ba9a2e334f161dcfc5b
This commit is contained in:
TreeHugger Robot
2020-05-15 20:21:18 +00:00
committed by Automerger Merge Worker
2 changed files with 64 additions and 7 deletions

View File

@@ -262,14 +262,17 @@ public class ChooserListAdapter extends ResolverListAdapter {
Map<String, DisplayResolveInfo> consolidated = new HashMap<>();
for (DisplayResolveInfo info : mDisplayList) {
String packageName = info.getResolvedComponentName().getPackageName();
if (consolidated.get(packageName) != null) {
// create consolidated target
MultiDisplayResolveInfo multiDisplayResolveInfo =
new MultiDisplayResolveInfo(packageName, info);
multiDisplayResolveInfo.addTarget(consolidated.get(packageName));
consolidated.put(packageName, multiDisplayResolveInfo);
} else {
DisplayResolveInfo multiDri = consolidated.get(packageName);
if (multiDri == null) {
consolidated.put(packageName, info);
} else if (multiDri instanceof MultiDisplayResolveInfo) {
((MultiDisplayResolveInfo) multiDri).addTarget(info);
} else {
// create consolidated target from the single DisplayResolveInfo
MultiDisplayResolveInfo multiDisplayResolveInfo =
new MultiDisplayResolveInfo(packageName, multiDri);
multiDisplayResolveInfo.addTarget(info);
consolidated.put(packageName, multiDisplayResolveInfo);
}
}
mSortedList.addAll(consolidated.values());