Set fastscroll section name correctly by sort preference

This commit is contained in:
Nicholas Narsing 2018-04-28 00:39:35 -04:00
commit 01c255abca
No known key found for this signature in database
GPG key ID: 6C867A2AC16B645A
4 changed files with 56 additions and 6 deletions

View file

@ -26,6 +26,8 @@ import com.kabouzeid.gramophone.model.Song;
import com.kabouzeid.gramophone.util.MusicUtil;
import com.kabouzeid.gramophone.util.NavigationUtil;
import com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView;
import com.kabouzeid.gramophone.util.PreferenceUtil;
import com.kabouzeid.gramophone.helper.SortOrder;
import java.util.ArrayList;
import java.util.List;
@ -186,7 +188,21 @@ public class AlbumAdapter extends AbsMultiSelectAdapter<AlbumAdapter.ViewHolder,
@NonNull
@Override
public String getSectionName(int position) {
return MusicUtil.getSectionName(dataSet.get(position).getTitle());
@Nullable String sectionName = null;
switch (PreferenceUtil.getInstance(activity).getAlbumSortOrder()) {
case SortOrder.AlbumSortOrder.ALBUM_A_Z:
case SortOrder.AlbumSortOrder.ALBUM_Z_A:
sectionName = dataSet.get(position).getTitle();
break;
case SortOrder.AlbumSortOrder.ALBUM_ARTIST:
sectionName = dataSet.get(position).getArtistName();
break;
case SortOrder.AlbumSortOrder.ALBUM_YEAR:
sectionName = Integer.toString(dataSet.get(position).getYear());
break;
}
return MusicUtil.getSectionName(sectionName);
}
public class ViewHolder extends MediaEntryViewHolder {

View file

@ -19,12 +19,14 @@ import com.kabouzeid.gramophone.adapter.base.AbsMultiSelectAdapter;
import com.kabouzeid.gramophone.adapter.base.MediaEntryViewHolder;
import com.kabouzeid.gramophone.glide.ArtistGlideRequest;
import com.kabouzeid.gramophone.glide.PhonographColoredTarget;
import com.kabouzeid.gramophone.helper.SortOrder;
import com.kabouzeid.gramophone.helper.menu.SongsMenuHelper;
import com.kabouzeid.gramophone.interfaces.CabHolder;
import com.kabouzeid.gramophone.model.Artist;
import com.kabouzeid.gramophone.model.Song;
import com.kabouzeid.gramophone.util.MusicUtil;
import com.kabouzeid.gramophone.util.NavigationUtil;
import com.kabouzeid.gramophone.util.PreferenceUtil;
import com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView;
import java.util.ArrayList;
@ -173,7 +175,15 @@ public class ArtistAdapter extends AbsMultiSelectAdapter<ArtistAdapter.ViewHolde
@NonNull
@Override
public String getSectionName(int position) {
return MusicUtil.getSectionName(dataSet.get(position).getName());
@Nullable String sectionName = null;
switch (PreferenceUtil.getInstance(activity).getArtistSortOrder()) {
case SortOrder.ArtistSortOrder.ARTIST_A_Z:
case SortOrder.ArtistSortOrder.ARTIST_Z_A:
sectionName = dataSet.get(position).getName();
break;
}
return MusicUtil.getSectionName(sectionName);
}
public class ViewHolder extends MediaEntryViewHolder {

View file

@ -21,12 +21,14 @@ import com.kabouzeid.gramophone.adapter.base.MediaEntryViewHolder;
import com.kabouzeid.gramophone.glide.PhonographColoredTarget;
import com.kabouzeid.gramophone.glide.SongGlideRequest;
import com.kabouzeid.gramophone.helper.MusicPlayerRemote;
import com.kabouzeid.gramophone.helper.SortOrder;
import com.kabouzeid.gramophone.helper.menu.SongMenuHelper;
import com.kabouzeid.gramophone.helper.menu.SongsMenuHelper;
import com.kabouzeid.gramophone.interfaces.CabHolder;
import com.kabouzeid.gramophone.model.Song;
import com.kabouzeid.gramophone.util.MusicUtil;
import com.kabouzeid.gramophone.util.NavigationUtil;
import com.kabouzeid.gramophone.util.PreferenceUtil;
import com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView;
import java.util.ArrayList;
@ -184,7 +186,29 @@ public class SongAdapter extends AbsMultiSelectAdapter<SongAdapter.ViewHolder, S
@NonNull
@Override
public String getSectionName(int position) {
return showSectionName ? MusicUtil.getSectionName(dataSet.get(position).title) : "";
if (!showSectionName) {
return "";
}
// @Nullable String sectionName = null;
// switch (PreferenceUtil.getInstance(activity).getSongSortOrder()) {
// case SortOrder.SongSortOrder.SONG_A_Z:
// case SortOrder.SongSortOrder.SONG_Z_A:
// sectionName = dataSet.get(position).title;
// break;
// case SortOrder.SongSortOrder.SONG_ALBUM:
// sectionName = dataSet.get(position).albumName;
// break;
// case SortOrder.SongSortOrder.SONG_ARTIST:
// sectionName = dataSet.get(position).artistName;
// break;
// case SortOrder.SongSortOrder.SONG_YEAR:
// sectionName = Integer.toString(dataSet.get(position).year);
// break;
// }
String sectionName = dataSet.get(position).title;
return MusicUtil.getSectionName(sectionName);
}
public class ViewHolder extends MediaEntryViewHolder {

View file

@ -60,7 +60,7 @@ public final class SortOrder {
+ " DESC";
/* Album sort order artist */
String ALBUM_ARTIST = MediaStore.Audio.Albums.ARTIST;
String ALBUM_ARTIST = MediaStore.Audio.Artists.DEFAULT_SORT_ORDER;
/* Album sort order year */
String ALBUM_YEAR = MediaStore.Audio.Albums.FIRST_YEAR + " DESC";
@ -78,10 +78,10 @@ public final class SortOrder {
String SONG_Z_A = SONG_A_Z + " DESC";
/* Song sort order artist */
String SONG_ARTIST = MediaStore.Audio.Media.ARTIST;
String SONG_ARTIST = MediaStore.Audio.Artists.DEFAULT_SORT_ORDER;
/* Song sort order album */
String SONG_ALBUM = MediaStore.Audio.Media.ALBUM;
String SONG_ALBUM = MediaStore.Audio.Albums.DEFAULT_SORT_ORDER;
/* Song sort order year */
String SONG_YEAR = MediaStore.Audio.Media.YEAR + " DESC";