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