From 85704bb95b364f69ec1db7fa703dd45d4701a5f5 Mon Sep 17 00:00:00 2001 From: dkanada Date: Sun, 23 May 2021 21:52:01 +0900 Subject: [PATCH] use enums for sort method and order --- .../adapter/album/AlbumAdapter.java | 11 +++-- .../gramophone/adapter/song/SongAdapter.java | 13 +++--- .../mainactivity/library/LibraryFragment.java | 16 +++---- ...gerRecyclerViewCustomGridSizeFragment.java | 26 ++++++----- .../library/pager/AlbumsFragment.java | 18 ++++---- .../library/pager/ArtistsFragment.java | 16 +++---- .../library/pager/FavoritesFragment.java | 12 +---- .../library/pager/SongsFragment.java | 18 ++++---- .../gramophone/helper/sort/SortMethod.java | 11 ----- .../gramophone/helper/sort/SortOrder.java | 6 --- .../dkanada/gramophone/model/SortMethod.kt | 11 +++++ .../com/dkanada/gramophone/model/SortOrder.kt | 8 ++++ .../gramophone/util/PreferenceUtil.java | 36 +++++++-------- .../dkanada/gramophone/util/QueryUtil.java | 44 ------------------- .../dkanada/gramophone/util/ShortcutUtil.java | 16 +++---- 15 files changed, 107 insertions(+), 155 deletions(-) delete mode 100644 app/src/main/java/com/dkanada/gramophone/helper/sort/SortMethod.java delete mode 100644 app/src/main/java/com/dkanada/gramophone/helper/sort/SortOrder.java create mode 100644 app/src/main/java/com/dkanada/gramophone/model/SortMethod.kt create mode 100644 app/src/main/java/com/dkanada/gramophone/model/SortOrder.kt diff --git a/app/src/main/java/com/dkanada/gramophone/adapter/album/AlbumAdapter.java b/app/src/main/java/com/dkanada/gramophone/adapter/album/AlbumAdapter.java index d2752ef5..a60d9afe 100644 --- a/app/src/main/java/com/dkanada/gramophone/adapter/album/AlbumAdapter.java +++ b/app/src/main/java/com/dkanada/gramophone/adapter/album/AlbumAdapter.java @@ -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 extends AbsLibraryPagerRecyclerViewFragment { 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 callback) { query.setIncludeItemTypes(new String[]{"MusicAlbum"}); applyProperties(query); - applySortMethod(query, PreferenceUtil.getInstance(App.getInstance()).getAlbumSortMethod()); App.getApiClient().GetItemsAsync(query, new Response() { @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() { @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; - } - } } diff --git a/app/src/main/java/com/dkanada/gramophone/util/ShortcutUtil.java b/app/src/main/java/com/dkanada/gramophone/util/ShortcutUtil.java index e97e1207..b7f4d9b5 100644 --- a/app/src/main/java/com/dkanada/gramophone/util/ShortcutUtil.java +++ b/app/src/main/java/com/dkanada/gramophone/util/ShortcutUtil.java @@ -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 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 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 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); }