feat: sort artists by album count

This commit is contained in:
pca006132 2025-10-30 18:01:07 +08:00
parent 77bdd71d79
commit 4c865e199d
5 changed files with 11 additions and 0 deletions

View file

@ -151,6 +151,9 @@ public class ArtistCatalogueAdapter extends RecyclerView.Adapter<ArtistCatalogue
case Constants.ARTIST_ORDER_BY_RANDOM: case Constants.ARTIST_ORDER_BY_RANDOM:
Collections.shuffle(artists); Collections.shuffle(artists);
break; break;
case Constants.ARTIST_ORDER_BY_ALBUM_COUNT:
artists.sort(Comparator.comparing(ArtistID3::getAlbumCount).reversed());
break;
} }
notifyDataSetChanged(); notifyDataSetChanged();

View file

@ -192,6 +192,9 @@ public class ArtistCatalogueFragment extends Fragment implements ClickCallback {
} else if (menuItem.getItemId() == R.id.menu_artist_sort_random) { } else if (menuItem.getItemId() == R.id.menu_artist_sort_random) {
artistAdapter.sort(Constants.ARTIST_ORDER_BY_RANDOM); artistAdapter.sort(Constants.ARTIST_ORDER_BY_RANDOM);
return true; return true;
} else if (menuItem.getItemId() == R.id.menu_artist_sort_album_count) {
artistAdapter.sort(Constants.ARTIST_ORDER_BY_ALBUM_COUNT);
return true;
} }
return false; return false;

View file

@ -40,6 +40,7 @@ object Constants {
const val ARTIST_STARRED = "ARTIST_STARRED" const val ARTIST_STARRED = "ARTIST_STARRED"
const val ARTIST_ORDER_BY_NAME = "ARTIST_ORDER_BY_NAME" const val ARTIST_ORDER_BY_NAME = "ARTIST_ORDER_BY_NAME"
const val ARTIST_ORDER_BY_RANDOM = "ARTIST_ORDER_BY_RANDOM" const val ARTIST_ORDER_BY_RANDOM = "ARTIST_ORDER_BY_RANDOM"
const val ARTIST_ORDER_BY_ALBUM_COUNT = "ARTIST_ORDER_BY_ALBUM_COUNT"
const val ARTIST_ORDER_BY_MOST_RECENTLY_STARRED = "ARTIST_ORDER_BY_MOST_RECENTLY_STARRED" const val ARTIST_ORDER_BY_MOST_RECENTLY_STARRED = "ARTIST_ORDER_BY_MOST_RECENTLY_STARRED"
const val ARTIST_ORDER_BY_LEAST_RECENTLY_STARRED = "ARTIST_ORDER_BY_LEAST_RECENTLY_STARRED" const val ARTIST_ORDER_BY_LEAST_RECENTLY_STARRED = "ARTIST_ORDER_BY_LEAST_RECENTLY_STARRED"

View file

@ -6,4 +6,7 @@
<item <item
android:id="@+id/menu_artist_sort_random" android:id="@+id/menu_artist_sort_random"
android:title="@string/menu_sort_random" /> android:title="@string/menu_sort_random" />
<item
android:id="@+id/menu_artist_sort_album_count"
android:title="@string/menu_sort_album_count" />
</menu> </menu>

View file

@ -200,6 +200,7 @@
<string name="menu_sort_artist">Artist</string> <string name="menu_sort_artist">Artist</string>
<string name="menu_sort_name">Name</string> <string name="menu_sort_name">Name</string>
<string name="menu_sort_random">Random</string> <string name="menu_sort_random">Random</string>
<string name="menu_sort_album_count">Album Count</string>
<string name="menu_sort_recently_added">Recently added</string> <string name="menu_sort_recently_added">Recently added</string>
<string name="menu_sort_recently_played">Recently played</string> <string name="menu_sort_recently_played">Recently played</string>
<string name="menu_sort_most_played">Most played</string> <string name="menu_sort_most_played">Most played</string>