use enums for sort method and order

This commit is contained in:
dkanada 2021-05-23 21:52:01 +09:00
commit 85704bb95b
15 changed files with 107 additions and 155 deletions

View file

@ -21,7 +21,6 @@ import com.dkanada.gramophone.adapter.base.MediaEntryViewHolder;
import com.dkanada.gramophone.glide.CustomGlideRequest;
import com.dkanada.gramophone.glide.CustomPaletteTarget;
import com.dkanada.gramophone.helper.menu.SongsMenuHelper;
import com.dkanada.gramophone.helper.sort.SortMethod;
import com.dkanada.gramophone.interfaces.CabHolder;
import com.dkanada.gramophone.model.Album;
import com.dkanada.gramophone.util.MusicUtil;
@ -187,17 +186,17 @@ public class AlbumAdapter extends AbsMultiSelectAdapter<AlbumAdapter.ViewHolder,
public String getSectionName(int position) {
@Nullable String sectionName = null;
switch (PreferenceUtil.getInstance(activity).getAlbumSortMethod()) {
case SortMethod.NAME:
case NAME:
sectionName = dataSet.get(position).title;
break;
case SortMethod.ARTIST:
case ARTIST:
sectionName = dataSet.get(position).artistName;
break;
case SortMethod.YEAR:
case YEAR:
return MusicUtil.getYearString(dataSet.get(position).year);
case SortMethod.ADDED:
case ADDED:
return "";
case SortMethod.RANDOM:
case RANDOM:
return activity.getResources().getString(R.string.random);
}

View file

@ -23,7 +23,6 @@ import com.dkanada.gramophone.glide.CustomPaletteTarget;
import com.dkanada.gramophone.helper.MusicPlayerRemote;
import com.dkanada.gramophone.helper.menu.SongMenuHelper;
import com.dkanada.gramophone.helper.menu.SongsMenuHelper;
import com.dkanada.gramophone.helper.sort.SortMethod;
import com.dkanada.gramophone.interfaces.CabHolder;
import com.dkanada.gramophone.model.Album;
import com.dkanada.gramophone.model.Song;
@ -191,20 +190,20 @@ public class SongAdapter extends AbsMultiSelectAdapter<SongAdapter.ViewHolder, S
@Nullable String sectionName = null;
switch (PreferenceUtil.getInstance(activity).getSongSortMethod()) {
case SortMethod.NAME:
case NAME:
sectionName = dataSet.get(position).title;
break;
case SortMethod.ALBUM:
case ALBUM:
sectionName = dataSet.get(position).albumName;
break;
case SortMethod.ARTIST:
case ARTIST:
sectionName = dataSet.get(position).artistName;
break;
case SortMethod.YEAR:
case YEAR:
return MusicUtil.getYearString(dataSet.get(position).year);
case SortMethod.ADDED:
case ADDED:
return "";
case SortMethod.RANDOM:
case RANDOM:
return activity.getResources().getString(R.string.random);
}

View file

@ -11,7 +11,6 @@ import android.view.MenuItem;
import android.view.SubMenu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
@ -19,7 +18,6 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.dkanada.gramophone.databinding.FragmentLibraryBinding;
import com.dkanada.gramophone.fragments.mainactivity.library.pager.FavoritesFragment;
import com.dkanada.gramophone.helper.MusicPlayerRemote;
import com.dkanada.gramophone.util.ShortcutUtil;
import com.google.android.material.appbar.AppBarLayout;
@ -31,8 +29,8 @@ import com.kabouzeid.appthemehelper.util.ToolbarContentTintHelper;
import com.dkanada.gramophone.R;
import com.dkanada.gramophone.adapter.MusicLibraryPagerAdapter;
import com.dkanada.gramophone.dialogs.CreatePlaylistDialog;
import com.dkanada.gramophone.helper.sort.SortMethod;
import com.dkanada.gramophone.helper.sort.SortOrder;
import com.dkanada.gramophone.model.SortMethod;
import com.dkanada.gramophone.model.SortOrder;
import com.dkanada.gramophone.interfaces.CabHolder;
import com.dkanada.gramophone.activities.MainActivity;
import com.dkanada.gramophone.activities.SearchActivity;
@ -343,7 +341,7 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde
}
private void setUpSortMethodMenu(@NonNull AbsLibraryPagerRecyclerViewCustomGridSizeFragment fragment, @NonNull SubMenu sortMethodMenu) {
String currentSortMethod = fragment.getSortMethod();
SortMethod currentSortMethod = fragment.getSortMethod();
sortMethodMenu.clear();
if (fragment instanceof AlbumsFragment) {
@ -357,7 +355,7 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde
.setChecked(currentSortMethod.equals(SortMethod.ADDED));
sortMethodMenu.add(0, R.id.action_sort_method_random, 4, R.string.sort_method_random)
.setChecked(currentSortMethod.equals(SortMethod.RANDOM));
} else if (fragment instanceof SongsFragment || fragment instanceof FavoritesFragment) {
} else if (fragment instanceof SongsFragment) {
sortMethodMenu.add(0, R.id.action_sort_method_name, 0, R.string.sort_method_name)
.setChecked(currentSortMethod.equals(SortMethod.NAME));
sortMethodMenu.add(0, R.id.action_sort_method_album, 1, R.string.sort_method_album)
@ -376,7 +374,7 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde
}
private void setUpSortOrderMenu(@NonNull AbsLibraryPagerRecyclerViewCustomGridSizeFragment fragment, @NonNull SubMenu sortOrderMenu) {
String currentSortOrder = fragment.getSortOrder();
SortOrder currentSortOrder = fragment.getSortOrder();
sortOrderMenu.clear();
sortOrderMenu.add(0, R.id.action_sort_order_ascending, 0, R.string.sort_order_ascending)
@ -388,7 +386,7 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde
}
private boolean handleSortMethodMenuItem(@NonNull AbsLibraryPagerRecyclerViewCustomGridSizeFragment fragment, @NonNull MenuItem item) {
String sortMethod = null;
SortMethod sortMethod = null;
switch (item.getItemId()) {
case R.id.action_sort_method_name:
sortMethod = SortMethod.NAME;
@ -420,7 +418,7 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde
}
private boolean handleSortOrderMenuItem(@NonNull AbsLibraryPagerRecyclerViewCustomGridSizeFragment fragment, @NonNull MenuItem item) {
String sortOrder = null;
SortOrder sortOrder = null;
switch (item.getItemId()) {
case R.id.action_sort_order_ascending:
sortOrder = SortOrder.ASCENDING;

View file

@ -8,12 +8,14 @@ import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.dkanada.gramophone.R;
import com.dkanada.gramophone.model.SortMethod;
import com.dkanada.gramophone.model.SortOrder;
import com.dkanada.gramophone.util.Util;
public abstract class AbsLibraryPagerRecyclerViewCustomGridSizeFragment<A extends RecyclerView.Adapter, L extends RecyclerView.LayoutManager, Q> extends AbsLibraryPagerRecyclerViewFragment<A, L, Q> {
private int gridSize;
private String sortMethod;
private String sortOrder;
private SortMethod sortMethod;
private SortOrder sortOrder;
private boolean usePaletteInitialized;
private boolean usePalette;
@ -48,7 +50,7 @@ public abstract class AbsLibraryPagerRecyclerViewCustomGridSizeFragment<A extend
return usePalette;
}
public final String getSortMethod() {
public final SortMethod getSortMethod() {
if (sortMethod == null) {
sortMethod = loadSortMethod();
}
@ -56,7 +58,7 @@ public abstract class AbsLibraryPagerRecyclerViewCustomGridSizeFragment<A extend
return sortMethod;
}
public final String getSortOrder() {
public final SortOrder getSortOrder() {
if (sortOrder == null) {
sortOrder = loadSortOrder();
}
@ -88,14 +90,14 @@ public abstract class AbsLibraryPagerRecyclerViewCustomGridSizeFragment<A extend
setUsePalette(usePalette);
}
public void setAndSaveSortMethod(final String sortMethod) {
public void setAndSaveSortMethod(final SortMethod sortMethod) {
this.sortMethod = sortMethod;
saveSortMethod(sortMethod);
setSortMethod(sortMethod);
invalidateAdapter();
}
public void setAndSaveSortOrder(final String sortOrder) {
public void setAndSaveSortOrder(final SortOrder sortOrder) {
this.sortOrder = sortOrder;
saveSortOrder(sortOrder);
setSortOrder(sortOrder);
@ -157,17 +159,17 @@ public abstract class AbsLibraryPagerRecyclerViewCustomGridSizeFragment<A extend
protected abstract void setGridSize(int gridSize);
protected abstract String loadSortMethod();
protected abstract SortMethod loadSortMethod();
protected abstract void saveSortMethod(String sortMethod);
protected abstract void saveSortMethod(SortMethod sortMethod);
protected abstract void setSortMethod(String sortMethod);
protected abstract void setSortMethod(SortMethod sortMethod);
protected abstract String loadSortOrder();
protected abstract SortOrder loadSortOrder();
protected abstract void saveSortOrder(String sortOrder);
protected abstract void saveSortOrder(SortOrder sortOrder);
protected abstract void setSortOrder(String sortOrder);
protected abstract void setSortOrder(SortOrder sortOrder);
protected int getMaxGridSizeForList() {
if (isLandscape()) {

View file

@ -9,6 +9,8 @@ import com.dkanada.gramophone.App;
import com.dkanada.gramophone.R;
import com.dkanada.gramophone.adapter.album.AlbumAdapter;
import com.dkanada.gramophone.model.Album;
import com.dkanada.gramophone.model.SortMethod;
import com.dkanada.gramophone.model.SortOrder;
import com.dkanada.gramophone.util.PreferenceUtil;
import com.dkanada.gramophone.util.QueryUtil;
@ -54,8 +56,8 @@ public class AlbumsFragment extends AbsLibraryPagerRecyclerViewCustomGridSizeFra
query.setStartIndex(getAdapter().getItemCount());
query.setParentId(QueryUtil.currentLibrary.getId());
QueryUtil.applySortMethod(query, PreferenceUtil.getInstance(App.getInstance()).getAlbumSortMethod());
QueryUtil.applySortOrder(query, PreferenceUtil.getInstance(App.getInstance()).getAlbumSortOrder());
query.setSortBy(new String[]{PreferenceUtil.getInstance(App.getInstance()).getAlbumSortMethod().getApi()});
query.setSortOrder(PreferenceUtil.getInstance(App.getInstance()).getAlbumSortOrder().getApi());
return query;
}
@ -89,31 +91,31 @@ public class AlbumsFragment extends AbsLibraryPagerRecyclerViewCustomGridSizeFra
}
@Override
protected String loadSortMethod() {
protected SortMethod loadSortMethod() {
return PreferenceUtil.getInstance(getActivity()).getAlbumSortMethod();
}
@Override
protected void saveSortMethod(String sortMethod) {
protected void saveSortMethod(SortMethod sortMethod) {
PreferenceUtil.getInstance(getActivity()).setAlbumSortMethod(sortMethod);
}
@Override
protected void setSortMethod(String sortMethod) {
protected void setSortMethod(SortMethod sortMethod) {
}
@Override
protected String loadSortOrder() {
protected SortOrder loadSortOrder() {
return PreferenceUtil.getInstance(getActivity()).getAlbumSortOrder();
}
@Override
protected void saveSortOrder(String sortOrder) {
protected void saveSortOrder(SortOrder sortOrder) {
PreferenceUtil.getInstance(getActivity()).setAlbumSortOrder(sortOrder);
}
@Override
protected void setSortOrder(String sortOrder) {
protected void setSortOrder(SortOrder sortOrder) {
}
@Override

View file

@ -9,8 +9,8 @@ import androidx.recyclerview.widget.GridLayoutManager;
import com.dkanada.gramophone.App;
import com.dkanada.gramophone.R;
import com.dkanada.gramophone.adapter.artist.ArtistAdapter;
import com.dkanada.gramophone.helper.sort.SortMethod;
import com.dkanada.gramophone.helper.sort.SortOrder;
import com.dkanada.gramophone.model.SortMethod;
import com.dkanada.gramophone.model.SortOrder;
import com.dkanada.gramophone.model.Artist;
import com.dkanada.gramophone.util.PreferenceUtil;
import com.dkanada.gramophone.util.QueryUtil;
@ -101,31 +101,31 @@ public class ArtistsFragment extends AbsLibraryPagerRecyclerViewCustomGridSizeFr
}
@Override
protected String loadSortMethod() {
protected SortMethod loadSortMethod() {
return SortMethod.NAME;
}
@Override
protected void saveSortMethod(String sortMethod) {
protected void saveSortMethod(SortMethod sortMethod) {
// not supported through API
}
@Override
protected void setSortMethod(String sortMethod) {
protected void setSortMethod(SortMethod sortMethod) {
}
@Override
protected String loadSortOrder() {
protected SortOrder loadSortOrder() {
return SortOrder.ASCENDING;
}
@Override
protected void saveSortOrder(String sortOrder) {
protected void saveSortOrder(SortOrder sortOrder) {
// not supported through API
}
@Override
protected void setSortOrder(String sortOrder) {
protected void setSortOrder(SortOrder sortOrder) {
}
@Override

View file

@ -12,19 +12,11 @@ public class FavoritesFragment extends SongsFragment {
@NonNull
@Override
protected ItemQuery createQuery() {
ItemQuery query = new ItemQuery();
ItemQuery query = super.createQuery();
query.setIncludeItemTypes(new String[]{"Audio"});
query.setFields(new ItemFields[]{ItemFields.MediaSources});
query.setUserId(App.getApiClient().getCurrentUserId());
query.setRecursive(true);
query.setLimit(PreferenceUtil.getInstance(App.getInstance()).getPageSize());
query.setStartIndex(getAdapter().getItemCount());
query.setParentId(QueryUtil.currentLibrary.getId());
// the only difference from the songs fragment is the favorite filter
query.setFilters(new ItemFilter[]{ItemFilter.IsFavorite});
QueryUtil.applySortMethod(query, PreferenceUtil.getInstance(App.getInstance()).getSongSortMethod());
QueryUtil.applySortOrder(query, PreferenceUtil.getInstance(App.getInstance()).getSongSortOrder());
return query;
}
}

View file

@ -10,6 +10,8 @@ import com.dkanada.gramophone.R;
import com.dkanada.gramophone.adapter.song.ShuffleButtonSongAdapter;
import com.dkanada.gramophone.adapter.song.SongAdapter;
import com.dkanada.gramophone.model.Song;
import com.dkanada.gramophone.model.SortMethod;
import com.dkanada.gramophone.model.SortOrder;
import com.dkanada.gramophone.util.PreferenceUtil;
import com.dkanada.gramophone.util.QueryUtil;
@ -76,8 +78,8 @@ public class SongsFragment extends AbsLibraryPagerRecyclerViewCustomGridSizeFrag
query.setStartIndex(getAdapter().getItemCount());
query.setParentId(QueryUtil.currentLibrary.getId());
QueryUtil.applySortMethod(query, PreferenceUtil.getInstance(App.getInstance()).getSongSortMethod());
QueryUtil.applySortOrder(query, PreferenceUtil.getInstance(App.getInstance()).getSongSortOrder());
query.setSortBy(new String[]{PreferenceUtil.getInstance(App.getInstance()).getSongSortMethod().getApi()});
query.setSortOrder(PreferenceUtil.getInstance(App.getInstance()).getSongSortOrder().getApi());
return query;
}
@ -112,31 +114,31 @@ public class SongsFragment extends AbsLibraryPagerRecyclerViewCustomGridSizeFrag
}
@Override
protected String loadSortMethod() {
protected SortMethod loadSortMethod() {
return PreferenceUtil.getInstance(getActivity()).getSongSortMethod();
}
@Override
protected void saveSortMethod(String sortMethod) {
protected void saveSortMethod(SortMethod sortMethod) {
PreferenceUtil.getInstance(getActivity()).setSongSortMethod(sortMethod);
}
@Override
protected void setSortMethod(String sortMethod) {
protected void setSortMethod(SortMethod sortMethod) {
}
@Override
protected String loadSortOrder() {
protected SortOrder loadSortOrder() {
return PreferenceUtil.getInstance(getActivity()).getSongSortOrder();
}
@Override
protected void saveSortOrder(String sortOrder) {
protected void saveSortOrder(SortOrder sortOrder) {
PreferenceUtil.getInstance(getActivity()).setSongSortOrder(sortOrder);
}
@Override
protected void setSortOrder(String sortOrder) {
protected void setSortOrder(SortOrder sortOrder) {
}
@Override

View file

@ -1,11 +0,0 @@
package com.dkanada.gramophone.helper.sort;
public class SortMethod {
public static final String NAME = "NAME";
public static final String ALBUM = "ALBUM";
public static final String ARTIST = "ARTIST";
public static final String YEAR = "YEAR";
public static final String ADDED = "ADDED";
public static final String RANDOM = "RANDOM";
public static final String COUNT = "COUNT";
}

View file

@ -1,6 +0,0 @@
package com.dkanada.gramophone.helper.sort;
public class SortOrder {
public static final String ASCENDING = "ASCENDING";
public static final String DESCENDING = "DESCENDING";
}

View file

@ -0,0 +1,11 @@
package com.dkanada.gramophone.model
enum class SortMethod(val api: String) {
NAME("SortName"),
ALBUM("Album"),
ARTIST("AlbumArtist"),
YEAR("ProductionYear"),
ADDED("DateCreated"),
RANDOM("Random"),
COUNT("PlayCount");
}

View file

@ -0,0 +1,8 @@
package com.dkanada.gramophone.model
import org.jellyfin.apiclient.model.entities.SortOrder as Order
enum class SortOrder(val api: Order) {
ASCENDING(Order.Ascending),
DESCENDING(Order.Descending);
}

View file

@ -11,8 +11,8 @@ import com.google.gson.JsonSyntaxException;
import com.google.gson.reflect.TypeToken;
import com.dkanada.gramophone.model.Theme;
import com.dkanada.gramophone.R;
import com.dkanada.gramophone.helper.sort.SortMethod;
import com.dkanada.gramophone.helper.sort.SortOrder;
import com.dkanada.gramophone.model.SortMethod;
import com.dkanada.gramophone.model.SortOrder;
import com.dkanada.gramophone.model.CategoryInfo;
import com.dkanada.gramophone.model.Codec;
import com.dkanada.gramophone.interfaces.base.PreferenceMigration;
@ -227,43 +227,43 @@ public final class PreferenceUtil {
return mPreferences.getBoolean(BLUR_ALBUM_COVER, true);
}
public final String getAlbumSortOrder() {
return mPreferences.getString(ALBUM_SORT_ORDER, SortOrder.DESCENDING);
public final SortOrder getAlbumSortOrder() {
return SortOrder.valueOf(mPreferences.getString(ALBUM_SORT_ORDER, SortOrder.DESCENDING.toString()));
}
public void setAlbumSortOrder(final String sortOrder) {
public void setAlbumSortOrder(SortOrder sortOrder) {
final SharedPreferences.Editor editor = mPreferences.edit();
editor.putString(ALBUM_SORT_ORDER, sortOrder);
editor.putString(ALBUM_SORT_ORDER, sortOrder.toString());
editor.apply();
}
public final String getSongSortOrder() {
return mPreferences.getString(SONG_SORT_ORDER, SortOrder.DESCENDING);
public final SortOrder getSongSortOrder() {
return SortOrder.valueOf(mPreferences.getString(SONG_SORT_ORDER, SortOrder.DESCENDING.toString()));
}
public void setSongSortOrder(final String sortOrder) {
public void setSongSortOrder(SortOrder sortOrder) {
final SharedPreferences.Editor editor = mPreferences.edit();
editor.putString(SONG_SORT_ORDER, sortOrder);
editor.putString(SONG_SORT_ORDER, sortOrder.toString());
editor.apply();
}
public final String getAlbumSortMethod() {
return mPreferences.getString(ALBUM_SORT_METHOD, SortMethod.RANDOM);
public final SortMethod getAlbumSortMethod() {
return SortMethod.valueOf(mPreferences.getString(ALBUM_SORT_METHOD, SortMethod.RANDOM.toString()));
}
public void setAlbumSortMethod(final String sortMethod) {
public void setAlbumSortMethod(SortMethod sortMethod) {
final SharedPreferences.Editor editor = mPreferences.edit();
editor.putString(ALBUM_SORT_METHOD, sortMethod);
editor.putString(ALBUM_SORT_METHOD, sortMethod.toString());
editor.apply();
}
public final String getSongSortMethod() {
return mPreferences.getString(SONG_SORT_METHOD, SortMethod.RANDOM);
public final SortMethod getSongSortMethod() {
return SortMethod.valueOf(mPreferences.getString(SONG_SORT_METHOD, SortMethod.RANDOM.toString()));
}
public void setSongSortMethod(final String sortMethod) {
public void setSongSortMethod(SortMethod sortMethod) {
final SharedPreferences.Editor editor = mPreferences.edit();
editor.putString(SONG_SORT_METHOD, sortMethod);
editor.putString(SONG_SORT_METHOD, sortMethod.toString());
editor.apply();
}

View file

@ -1,8 +1,6 @@
package com.dkanada.gramophone.util;
import com.dkanada.gramophone.App;
import com.dkanada.gramophone.helper.sort.SortMethod;
import com.dkanada.gramophone.helper.sort.SortOrder;
import com.dkanada.gramophone.interfaces.MediaCallback;
import com.dkanada.gramophone.model.Album;
import com.dkanada.gramophone.model.Artist;
@ -121,7 +119,6 @@ public class QueryUtil {
public static void getAlbums(ItemQuery query, MediaCallback<Album> callback) {
query.setIncludeItemTypes(new String[]{"MusicAlbum"});
applyProperties(query);
applySortMethod(query, PreferenceUtil.getInstance(App.getInstance()).getAlbumSortMethod());
App.getApiClient().GetItemsAsync(query, new Response<ItemsResult>() {
@Override
public void onResponse(ItemsResult result) {
@ -165,7 +162,6 @@ public class QueryUtil {
query.setIncludeItemTypes(new String[]{"Audio"});
query.setFields(new ItemFields[]{ItemFields.MediaSources});
applyProperties(query);
applySortMethod(query, PreferenceUtil.getInstance(App.getInstance()).getSongSortMethod());
App.getApiClient().GetItemsAsync(query, new Response<ItemsResult>() {
@Override
public void onResponse(ItemsResult result) {
@ -205,44 +201,4 @@ public class QueryUtil {
if (currentLibrary == null || query.getParentId() != null) return;
query.setParentId(currentLibrary.getId());
}
public static void applySortMethod(ItemQuery query, String method) {
// album activity will always sort by track number
if (query.getSortBy().length != 0) return;
switch (method) {
case SortMethod.NAME:
query.setSortBy(new String[]{"SortName"});
break;
case SortMethod.ALBUM:
query.setSortBy(new String[]{"Album"});
break;
case SortMethod.ARTIST:
query.setSortBy(new String[]{"AlbumArtist"});
break;
case SortMethod.YEAR:
query.setSortBy(new String[]{"ProductionYear"});
break;
case SortMethod.ADDED:
query.setSortBy(new String[]{"DateCreated"});
break;
case SortMethod.RANDOM:
query.setSortBy(new String[]{"Random"});
break;
case SortMethod.COUNT:
query.setSortBy(new String[]{"PlayCount"});
break;
}
}
public static void applySortOrder(ItemQuery query, String order) {
switch (order) {
case SortOrder.ASCENDING:
query.setSortOrder(org.jellyfin.apiclient.model.entities.SortOrder.Ascending);
break;
case SortOrder.DESCENDING:
query.setSortOrder(org.jellyfin.apiclient.model.entities.SortOrder.Descending);
break;
}
}
}

View file

@ -1,8 +1,8 @@
package com.dkanada.gramophone.util;
import com.dkanada.gramophone.App;
import com.dkanada.gramophone.helper.sort.SortMethod;
import com.dkanada.gramophone.helper.sort.SortOrder;
import com.dkanada.gramophone.model.SortMethod;
import com.dkanada.gramophone.model.SortOrder;
import com.dkanada.gramophone.interfaces.MediaCallback;
import com.dkanada.gramophone.model.Song;
@ -19,8 +19,8 @@ public class ShortcutUtil {
public static void getFrequent(MediaCallback<Song> callback) {
ItemQuery query = new ItemQuery();
QueryUtil.applySortMethod(query, SortMethod.COUNT);
QueryUtil.applySortOrder(query, SortOrder.DESCENDING);
query.setSortBy(new String[]{SortMethod.COUNT.getApi()});
query.setSortOrder(SortOrder.DESCENDING.getApi());
getSongs(query, callback);
}
@ -28,8 +28,8 @@ public class ShortcutUtil {
public static void getLatest(MediaCallback<Song> callback) {
ItemQuery query = new ItemQuery();
QueryUtil.applySortMethod(query, SortMethod.ADDED);
QueryUtil.applySortOrder(query, SortOrder.DESCENDING);
query.setSortBy(new String[]{SortMethod.ADDED.getApi()});
query.setSortOrder(SortOrder.DESCENDING.getApi());
getSongs(query, callback);
}
@ -37,8 +37,8 @@ public class ShortcutUtil {
public static void getShuffle(MediaCallback<Song> callback) {
ItemQuery query = new ItemQuery();
QueryUtil.applySortMethod(query, SortMethod.RANDOM);
QueryUtil.applySortOrder(query, SortOrder.DESCENDING);
query.setSortBy(new String[]{SortMethod.RANDOM.getApi()});
query.setSortOrder(SortOrder.DESCENDING.getApi());
getSongs(query, callback);
}