use enums for sort method and order
This commit is contained in:
parent
48e2f0fb3b
commit
85704bb95b
15 changed files with 107 additions and 155 deletions
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue