Fix app list order (#23)

This commit is contained in:
tehcneko 2021-01-31 19:07:40 +08:00 committed by GitHub
parent f5cf8199a9
commit 27e58a30df
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 15 additions and 11 deletions

View File

@ -155,20 +155,24 @@ public class ScopeAdapter extends RecyclerView.Adapter<ScopeAdapter.ViewHolder>
private void sortApps() {
Comparator<PackageInfo> cmp = AppHelper.getAppListComparator(preferences.getInt("list_sort", 0), pm);
fullList.sort((a, b) -> {
boolean aAndroid = a.packageName.equals("android");
boolean bAnrdoid = b.packageName.equals("android");
if (aAndroid || bAnrdoid) {
if (aAndroid == bAnrdoid) {
return 0;
} else if (aAndroid) {
return -1;
} else {
return 1;
}
}
boolean aChecked = checkedList.contains(a.packageName);
boolean bChecked = checkedList.contains(b.packageName);
if (aChecked == bChecked) {
if (hasRecommended()) {
boolean aRecommended = recommendedList.contains(a.packageName);
boolean bRecommended = recommendedList.contains(b.packageName);
if (aRecommended || bRecommended) {
if (aRecommended == bRecommended) {
return cmp.compare(a, b);
} else if (aRecommended) {
return -1;
} else {
return 1;
}
}
}
if (a.packageName.equals("android")) return -1;
if (b.packageName.equals("android")) return 1;
return cmp.compare(a, b);
} else if (aChecked) {
return -1;