diff --git a/app/src/main/java/com/dkanada/gramophone/fragments/mainactivity/library/pager/FavoritesFragment.java b/app/src/main/java/com/dkanada/gramophone/fragments/mainactivity/library/pager/FavoritesFragment.java index 79afe827..0dc9c134 100644 --- a/app/src/main/java/com/dkanada/gramophone/fragments/mainactivity/library/pager/FavoritesFragment.java +++ b/app/src/main/java/com/dkanada/gramophone/fragments/mainactivity/library/pager/FavoritesFragment.java @@ -1,69 +1,14 @@ package com.dkanada.gramophone.fragments.mainactivity.library.pager; -import android.os.Bundle; - import androidx.annotation.NonNull; -import androidx.recyclerview.widget.GridLayoutManager; - import com.dkanada.gramophone.App; -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.util.PreferenceUtil; import com.dkanada.gramophone.util.QueryUtil; - -import org.jellyfin.apiclient.interaction.Response; -import org.jellyfin.apiclient.model.dto.BaseItemDto; import org.jellyfin.apiclient.model.querying.ItemFields; import org.jellyfin.apiclient.model.querying.ItemFilter; import org.jellyfin.apiclient.model.querying.ItemQuery; -import org.jellyfin.apiclient.model.querying.ItemsResult; - -import java.util.ArrayList; -import java.util.List; - -public class FavoritesFragment extends AbsLibraryPagerRecyclerViewCustomGridSizeFragment { - @Override - public void onActivityCreated(Bundle savedInstanceState) { - super.onActivityCreated(savedInstanceState); - } - - @NonNull - @Override - protected GridLayoutManager createLayoutManager() { - return new GridLayoutManager(getActivity(), getGridSize()); - } - - @NonNull - @Override - protected SongAdapter createAdapter() { - int itemLayoutRes = getItemLayoutRes(); - notifyLayoutResChanged(itemLayoutRes); - boolean usePalette = loadUsePalette(); - - List dataSet = getAdapter() == null ? new ArrayList<>() : getAdapter().getDataSet(); - SongAdapter adapter; - - if (getGridSize() <= getMaxGridSizeForList()) { - adapter = new ShuffleButtonSongAdapter( - getLibraryFragment().getMainActivity(), - dataSet, - itemLayoutRes, - usePalette, - getLibraryFragment()); - } else { - adapter = new SongAdapter( - getLibraryFragment().getMainActivity(), - dataSet, - itemLayoutRes, - usePalette, - getLibraryFragment()); - } - - return adapter; - } +public class FavoritesFragment extends SongsFragment { @NonNull @Override protected ItemQuery createQuery() { @@ -82,103 +27,4 @@ public class FavoritesFragment extends AbsLibraryPagerRecyclerViewCustomGridSize QueryUtil.applySortOrder(query, PreferenceUtil.getInstance(App.getInstance()).getSongSortOrder()); return query; } - - @Override - protected void loadItems(int index) { - ItemQuery query = getQuery(); - query.setStartIndex(index); - - App.getApiClient().GetItemsAsync(query, new Response() { - @Override - public void onResponse(ItemsResult result) { - if (index == 0) getAdapter().getDataSet().clear(); - for (BaseItemDto itemDto : result.getItems()) { - getAdapter().getDataSet().add(new Song(itemDto)); - } - - size = result.getTotalRecordCount(); - getAdapter().notifyDataSetChanged(); - loading = false; - } - - @Override - public void onError(Exception exception) { - exception.printStackTrace(); - } - }); - } - - @Override - protected int getEmptyMessage() { - return R.string.no_songs; - } - - @Override - protected String loadSortMethod() { - return PreferenceUtil.getInstance(getActivity()).getSongSortMethod(); - } - - @Override - protected void saveSortMethod(String sortMethod) { - PreferenceUtil.getInstance(getActivity()).setSongSortMethod(sortMethod); - } - - @Override - protected void setSortMethod(String sortMethod) { - } - - @Override - protected String loadSortOrder() { - return PreferenceUtil.getInstance(getActivity()).getSongSortOrder(); - } - - @Override - protected void saveSortOrder(String sortOrder) { - PreferenceUtil.getInstance(getActivity()).setSongSortOrder(sortOrder); - } - - @Override - protected void setSortOrder(String sortOrder) { - } - - @Override - protected int loadGridSize() { - return PreferenceUtil.getInstance(getActivity()).getSongGridSize(requireActivity()); - } - - @Override - protected void saveGridSize(int gridSize) { - PreferenceUtil.getInstance(getActivity()).setSongGridSize(gridSize); - } - - @Override - protected int loadGridSizeLand() { - return PreferenceUtil.getInstance(getActivity()).getSongGridSizeLand(requireActivity()); - } - - @Override - protected void saveGridSizeLand(int gridSize) { - PreferenceUtil.getInstance(getActivity()).setSongGridSizeLand(gridSize); - } - - @Override - public void saveUsePalette(boolean usePalette) { - PreferenceUtil.getInstance(getActivity()).setSongColoredFooters(usePalette); - } - - @Override - public boolean loadUsePalette() { - return PreferenceUtil.getInstance(getActivity()).getSongColoredFooters(); - } - - @Override - public void setUsePalette(boolean usePalette) { - getAdapter().usePalette(usePalette); - } - - @Override - protected void setGridSize(int gridSize) { - getLayoutManager().setSpanCount(gridSize); - getAdapter().notifyDataSetChanged(); - } }