Loading core/java/com/android/internal/app/ChooserActivity.java +1 −11 Original line number Diff line number Diff line Loading @@ -2800,17 +2800,7 @@ public class ChooserActivity extends ResolverActivity implements || chooserListAdapter.mDisplayList.isEmpty()) { chooserListAdapter.notifyDataSetChanged(); } else { new AsyncTask<Void, Void, Void>() { @Override protected Void doInBackground(Void... voids) { chooserListAdapter.updateAlphabeticalList(); return null; } @Override protected void onPostExecute(Void aVoid) { chooserListAdapter.notifyDataSetChanged(); } }.execute(); } // don't support direct share on low ram devices Loading core/java/com/android/internal/app/ChooserListAdapter.java +34 −24 Original line number Diff line number Diff line Loading @@ -275,14 +275,18 @@ public class ChooserListAdapter extends ResolverListAdapter { } void updateAlphabeticalList() { mSortedList.clear(); List<DisplayResolveInfo> tempList = new ArrayList<>(); tempList.addAll(mDisplayList); tempList.addAll(mCallerTargets); if (mEnableStackedApps) { new AsyncTask<Void, Void, List<DisplayResolveInfo>>() { @Override protected List<DisplayResolveInfo> doInBackground(Void... voids) { List<DisplayResolveInfo> allTargets = new ArrayList<>(); allTargets.addAll(mDisplayList); allTargets.addAll(mCallerTargets); if (!mEnableStackedApps) { return allTargets; } // Consolidate multiple targets from same app. Map<String, DisplayResolveInfo> consolidated = new HashMap<>(); for (DisplayResolveInfo info : tempList) { for (DisplayResolveInfo info : allTargets) { String packageName = info.getResolvedComponentName().getPackageName(); DisplayResolveInfo multiDri = consolidated.get(packageName); if (multiDri == null) { Loading @@ -297,11 +301,17 @@ public class ChooserListAdapter extends ResolverListAdapter { consolidated.put(packageName, multiDisplayResolveInfo); } } mSortedList.addAll(consolidated.values()); } else { mSortedList.addAll(tempList); List<DisplayResolveInfo> groupedTargets = new ArrayList<>(); groupedTargets.addAll(consolidated.values()); Collections.sort(groupedTargets, new ChooserActivity.AzInfoComparator(mContext)); return groupedTargets; } @Override protected void onPostExecute(List<DisplayResolveInfo> newList) { mSortedList = newList; notifyDataSetChanged(); } Collections.sort(mSortedList, new ChooserActivity.AzInfoComparator(mContext)); }.execute(); } @Override Loading Loading
core/java/com/android/internal/app/ChooserActivity.java +1 −11 Original line number Diff line number Diff line Loading @@ -2800,17 +2800,7 @@ public class ChooserActivity extends ResolverActivity implements || chooserListAdapter.mDisplayList.isEmpty()) { chooserListAdapter.notifyDataSetChanged(); } else { new AsyncTask<Void, Void, Void>() { @Override protected Void doInBackground(Void... voids) { chooserListAdapter.updateAlphabeticalList(); return null; } @Override protected void onPostExecute(Void aVoid) { chooserListAdapter.notifyDataSetChanged(); } }.execute(); } // don't support direct share on low ram devices Loading
core/java/com/android/internal/app/ChooserListAdapter.java +34 −24 Original line number Diff line number Diff line Loading @@ -275,14 +275,18 @@ public class ChooserListAdapter extends ResolverListAdapter { } void updateAlphabeticalList() { mSortedList.clear(); List<DisplayResolveInfo> tempList = new ArrayList<>(); tempList.addAll(mDisplayList); tempList.addAll(mCallerTargets); if (mEnableStackedApps) { new AsyncTask<Void, Void, List<DisplayResolveInfo>>() { @Override protected List<DisplayResolveInfo> doInBackground(Void... voids) { List<DisplayResolveInfo> allTargets = new ArrayList<>(); allTargets.addAll(mDisplayList); allTargets.addAll(mCallerTargets); if (!mEnableStackedApps) { return allTargets; } // Consolidate multiple targets from same app. Map<String, DisplayResolveInfo> consolidated = new HashMap<>(); for (DisplayResolveInfo info : tempList) { for (DisplayResolveInfo info : allTargets) { String packageName = info.getResolvedComponentName().getPackageName(); DisplayResolveInfo multiDri = consolidated.get(packageName); if (multiDri == null) { Loading @@ -297,11 +301,17 @@ public class ChooserListAdapter extends ResolverListAdapter { consolidated.put(packageName, multiDisplayResolveInfo); } } mSortedList.addAll(consolidated.values()); } else { mSortedList.addAll(tempList); List<DisplayResolveInfo> groupedTargets = new ArrayList<>(); groupedTargets.addAll(consolidated.values()); Collections.sort(groupedTargets, new ChooserActivity.AzInfoComparator(mContext)); return groupedTargets; } @Override protected void onPostExecute(List<DisplayResolveInfo> newList) { mSortedList = newList; notifyDataSetChanged(); } Collections.sort(mSortedList, new ChooserActivity.AzInfoComparator(mContext)); }.execute(); } @Override Loading