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.MusicUtil;
import com.kabouzeid.gramophone.util.NavigationUtil; import com.kabouzeid.gramophone.util.NavigationUtil;
import com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView; 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.ArrayList;
import java.util.List; import java.util.List;
@ -186,7 +188,21 @@ public class AlbumAdapter extends AbsMultiSelectAdapter<AlbumAdapter.ViewHolder,
@NonNull @NonNull
@Override @Override
public String getSectionName(int position) { 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 { 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.adapter.base.MediaEntryViewHolder;
import com.kabouzeid.gramophone.glide.ArtistGlideRequest; import com.kabouzeid.gramophone.glide.ArtistGlideRequest;
import com.kabouzeid.gramophone.glide.PhonographColoredTarget; import com.kabouzeid.gramophone.glide.PhonographColoredTarget;
import com.kabouzeid.gramophone.helper.SortOrder;
import com.kabouzeid.gramophone.helper.menu.SongsMenuHelper; import com.kabouzeid.gramophone.helper.menu.SongsMenuHelper;
import com.kabouzeid.gramophone.interfaces.CabHolder; import com.kabouzeid.gramophone.interfaces.CabHolder;
import com.kabouzeid.gramophone.model.Artist; import com.kabouzeid.gramophone.model.Artist;
import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.model.Song;
import com.kabouzeid.gramophone.util.MusicUtil; import com.kabouzeid.gramophone.util.MusicUtil;
import com.kabouzeid.gramophone.util.NavigationUtil; import com.kabouzeid.gramophone.util.NavigationUtil;
import com.kabouzeid.gramophone.util.PreferenceUtil;
import com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView; import com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView;
import java.util.ArrayList; import java.util.ArrayList;
@ -173,7 +175,15 @@ public class ArtistAdapter extends AbsMultiSelectAdapter<ArtistAdapter.ViewHolde
@NonNull @NonNull
@Override @Override
public String getSectionName(int position) { 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 { 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.PhonographColoredTarget;
import com.kabouzeid.gramophone.glide.SongGlideRequest; import com.kabouzeid.gramophone.glide.SongGlideRequest;
import com.kabouzeid.gramophone.helper.MusicPlayerRemote; 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.SongMenuHelper;
import com.kabouzeid.gramophone.helper.menu.SongsMenuHelper; import com.kabouzeid.gramophone.helper.menu.SongsMenuHelper;
import com.kabouzeid.gramophone.interfaces.CabHolder; import com.kabouzeid.gramophone.interfaces.CabHolder;
import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.model.Song;
import com.kabouzeid.gramophone.util.MusicUtil; import com.kabouzeid.gramophone.util.MusicUtil;
import com.kabouzeid.gramophone.util.NavigationUtil; import com.kabouzeid.gramophone.util.NavigationUtil;
import com.kabouzeid.gramophone.util.PreferenceUtil;
import com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView; import com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView;
import java.util.ArrayList; import java.util.ArrayList;
@ -184,7 +186,29 @@ public class SongAdapter extends AbsMultiSelectAdapter<SongAdapter.ViewHolder, S
@NonNull @NonNull
@Override @Override
public String getSectionName(int position) { 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 { public class ViewHolder extends MediaEntryViewHolder {

View file

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