From 5346c66f9abdf4f4805c80ba965bba43f856fa11 Mon Sep 17 00:00:00 2001 From: dkanada Date: Sat, 29 Aug 2020 19:01:53 +0900 Subject: [PATCH] rework a lot of preferences --- .../gramophone/glide/CustomGlideModule.java | 4 +- .../ui/activities/SearchActivity.java | 1 + .../ui/activities/SettingsActivity.java | 25 ++++---- .../AbsLibraryPagerRecyclerViewFragment.java | 2 +- .../library/pager/AlbumsFragment.java | 2 +- .../library/pager/ArtistsFragment.java | 3 +- .../library/pager/GenresFragment.java | 2 +- .../library/pager/PlaylistsFragment.java | 2 +- .../library/pager/SongsFragment.java | 2 +- .../gramophone/util/PreferenceUtil.java | 57 ++++++++++--------- .../dkanada/gramophone/util/QueryUtil.java | 4 +- app/src/main/res/xml/pref_audio.xml | 6 ++ app/src/main/res/xml/pref_colors.xml | 6 +- app/src/main/res/xml/pref_direct_play.xml | 15 ----- 14 files changed, 61 insertions(+), 70 deletions(-) delete mode 100644 app/src/main/res/xml/pref_direct_play.xml diff --git a/app/src/main/java/com/dkanada/gramophone/glide/CustomGlideModule.java b/app/src/main/java/com/dkanada/gramophone/glide/CustomGlideModule.java index b057f331..20656f06 100644 --- a/app/src/main/java/com/dkanada/gramophone/glide/CustomGlideModule.java +++ b/app/src/main/java/com/dkanada/gramophone/glide/CustomGlideModule.java @@ -19,11 +19,11 @@ public class CustomGlideModule implements GlideModule { @Override public File getCacheDirectory() { String folder = "/Gelli/images"; - return PreferenceUtil.getInstance(App.getInstance()).getImagesExternalDirectory() + return PreferenceUtil.getInstance(App.getInstance()).getExternalDirectory() ? new File(Environment.getExternalStorageDirectory() + folder) : new File(App.getInstance().getApplicationInfo().dataDir + folder); } - }, PreferenceUtil.getInstance(App.getInstance()).getImagesCacheSize())); + }, PreferenceUtil.getInstance(App.getInstance()).getCacheSize())); } @Override diff --git a/app/src/main/java/com/dkanada/gramophone/ui/activities/SearchActivity.java b/app/src/main/java/com/dkanada/gramophone/ui/activities/SearchActivity.java index 7c63801f..11278b3b 100644 --- a/app/src/main/java/com/dkanada/gramophone/ui/activities/SearchActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/ui/activities/SearchActivity.java @@ -135,6 +135,7 @@ public class SearchActivity extends AbsMusicServiceActivity implements SearchVie private void search(@NonNull String query) { this.query = query; + ItemQuery itemQuery = new ItemQuery(); itemQuery.setSearchTerm(query); diff --git a/app/src/main/java/com/dkanada/gramophone/ui/activities/SettingsActivity.java b/app/src/main/java/com/dkanada/gramophone/ui/activities/SettingsActivity.java index 1d0e738c..7f62871b 100644 --- a/app/src/main/java/com/dkanada/gramophone/ui/activities/SettingsActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/ui/activities/SettingsActivity.java @@ -91,6 +91,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia onBackPressed(); return true; } + return super.onOptionsItemSelected(item); } @@ -108,8 +109,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia if (preference instanceof ListPreference) { ListPreference listPreference = (ListPreference) preference; int index = listPreference.findIndexOfValue(stringValue); - preference.setSummary( - index >= 0 ? listPreference.getEntries()[index] : null); + preference.setSummary(index >= 0 ? listPreference.getEntries()[index] : null); } else { preference.setSummary(stringValue); } @@ -124,7 +124,6 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia addPreferencesFromResource(R.xml.pref_lockscreen); addPreferencesFromResource(R.xml.pref_audio); addPreferencesFromResource(R.xml.pref_images); - addPreferencesFromResource(R.xml.pref_direct_play); } @Nullable @@ -164,7 +163,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia ThemeStore.markChanged(getActivity()); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1) { - // Set the new theme so that updateAppShortcuts can pull it + // set the new theme so that updateAppShortcuts can pull it getActivity().setTheme(PreferenceUtil.getThemeResFromPrefValue(themeName)); new DynamicShortcutManager(getActivity()).updateDynamicShortcuts(); } @@ -173,7 +172,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia return true; }); - final ATEColorPreference primaryColorPref = (ATEColorPreference) findPreference("primary_color"); + final ATEColorPreference primaryColorPref = findPreference(PreferenceUtil.PRIMARY_COLOR); final int primaryColor = ThemeStore.primaryColor(getActivity()); primaryColorPref.setColor(primaryColor, ColorUtil.darkenColor(primaryColor)); primaryColorPref.setOnPreferenceClickListener(preference -> { @@ -186,7 +185,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia return true; }); - final ATEColorPreference accentColorPref = (ATEColorPreference) findPreference("accent_color"); + final ATEColorPreference accentColorPref = findPreference(PreferenceUtil.ACCENT_COLOR); final int accentColor = ThemeStore.accentColor(getActivity()); accentColorPref.setColor(accentColor, ColorUtil.darkenColor(accentColor)); accentColorPref.setOnPreferenceClickListener(preference -> { @@ -199,7 +198,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia return true; }); - TwoStatePreference colorNavBar = (TwoStatePreference) findPreference(PreferenceUtil.COLORED_NAVIGATION_BAR); + TwoStatePreference colorNavBar = findPreference(PreferenceUtil.COLORED_NAVIGATION_BAR); if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { colorNavBar.setVisible(false); } else { @@ -213,42 +212,38 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia }); } - final TwoStatePreference classicNotification = (TwoStatePreference) findPreference(PreferenceUtil.CLASSIC_NOTIFICATION); + final TwoStatePreference classicNotification = findPreference(PreferenceUtil.CLASSIC_NOTIFICATION); if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) { classicNotification.setVisible(false); } else { classicNotification.setChecked(PreferenceUtil.getInstance(getActivity()).getClassicNotification()); classicNotification.setOnPreferenceChangeListener((preference, newValue) -> { - // Save preference PreferenceUtil.getInstance(getActivity()).setClassicNotification((Boolean) newValue); return true; }); } - final TwoStatePreference coloredNotification = (TwoStatePreference) findPreference(PreferenceUtil.COLORED_NOTIFICATION); + final TwoStatePreference coloredNotification = findPreference(PreferenceUtil.COLORED_NOTIFICATION); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { coloredNotification.setEnabled(PreferenceUtil.getInstance(getActivity()).getClassicNotification()); } else { coloredNotification.setChecked(PreferenceUtil.getInstance(getActivity()).getColoredNotification()); coloredNotification.setOnPreferenceChangeListener((preference, newValue) -> { - // Save preference PreferenceUtil.getInstance(getActivity()).setColoredNotification((Boolean) newValue); return true; }); } - final TwoStatePreference colorAppShortcuts = (TwoStatePreference) findPreference("should_color_app_shortcuts"); + final TwoStatePreference colorAppShortcuts = findPreference(PreferenceUtil.COLORED_SHORTCUTS); if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N_MR1) { colorAppShortcuts.setVisible(false); } else { colorAppShortcuts.setChecked(PreferenceUtil.getInstance(getActivity()).getColoredShortcuts()); colorAppShortcuts.setOnPreferenceChangeListener((preference, newValue) -> { - // Save preference PreferenceUtil.getInstance(getActivity()).setColoredShortcuts((Boolean) newValue); - // Update app shortcuts + // update app shortcuts new DynamicShortcutManager(getActivity()).updateDynamicShortcuts(); - return true; }); } diff --git a/app/src/main/java/com/dkanada/gramophone/ui/fragments/mainactivity/library/pager/AbsLibraryPagerRecyclerViewFragment.java b/app/src/main/java/com/dkanada/gramophone/ui/fragments/mainactivity/library/pager/AbsLibraryPagerRecyclerViewFragment.java index 7c62628a..160d264e 100644 --- a/app/src/main/java/com/dkanada/gramophone/ui/fragments/mainactivity/library/pager/AbsLibraryPagerRecyclerViewFragment.java +++ b/app/src/main/java/com/dkanada/gramophone/ui/fragments/mainactivity/library/pager/AbsLibraryPagerRecyclerViewFragment.java @@ -152,7 +152,7 @@ public abstract class AbsLibraryPagerRecyclerViewFragment total - page / 2 && total < size) { query = createQuery(); diff --git a/app/src/main/java/com/dkanada/gramophone/ui/fragments/mainactivity/library/pager/AlbumsFragment.java b/app/src/main/java/com/dkanada/gramophone/ui/fragments/mainactivity/library/pager/AlbumsFragment.java index 5fad1ca8..72062398 100644 --- a/app/src/main/java/com/dkanada/gramophone/ui/fragments/mainactivity/library/pager/AlbumsFragment.java +++ b/app/src/main/java/com/dkanada/gramophone/ui/fragments/mainactivity/library/pager/AlbumsFragment.java @@ -50,7 +50,7 @@ public class AlbumsFragment extends AbsLibraryPagerRecyclerViewCustomGridSizeFra query.setIncludeItemTypes(new String[]{"MusicAlbum"}); query.setUserId(App.getApiClient().getCurrentUserId()); query.setRecursive(true); - query.setLimit(PreferenceUtil.getInstance(App.getInstance()).getMaximumListSize()); + query.setLimit(PreferenceUtil.getInstance(App.getInstance()).getPageSize()); query.setStartIndex(getAdapter().getItemCount()); query.setParentId(QueryUtil.currentLibrary.getId()); diff --git a/app/src/main/java/com/dkanada/gramophone/ui/fragments/mainactivity/library/pager/ArtistsFragment.java b/app/src/main/java/com/dkanada/gramophone/ui/fragments/mainactivity/library/pager/ArtistsFragment.java index 03cf2e3d..b81c5989 100644 --- a/app/src/main/java/com/dkanada/gramophone/ui/fragments/mainactivity/library/pager/ArtistsFragment.java +++ b/app/src/main/java/com/dkanada/gramophone/ui/fragments/mainactivity/library/pager/ArtistsFragment.java @@ -54,7 +54,7 @@ public class ArtistsFragment extends AbsLibraryPagerRecyclerViewCustomGridSizeFr query.setFields(new ItemFields[]{ItemFields.Genres}); query.setUserId(App.getApiClient().getCurrentUserId()); query.setRecursive(true); - query.setLimit(PreferenceUtil.getInstance(App.getInstance()).getMaximumListSize()); + query.setLimit(PreferenceUtil.getInstance(App.getInstance()).getPageSize()); query.setStartIndex(getAdapter().getItemCount()); query.setParentId(QueryUtil.currentLibrary.getId()); @@ -112,7 +112,6 @@ public class ArtistsFragment extends AbsLibraryPagerRecyclerViewCustomGridSizeFr @Override protected String loadSortOrder() { - // TODO check artist support return SortOrder.ASCENDING; } diff --git a/app/src/main/java/com/dkanada/gramophone/ui/fragments/mainactivity/library/pager/GenresFragment.java b/app/src/main/java/com/dkanada/gramophone/ui/fragments/mainactivity/library/pager/GenresFragment.java index 287ae29d..794a27c9 100644 --- a/app/src/main/java/com/dkanada/gramophone/ui/fragments/mainactivity/library/pager/GenresFragment.java +++ b/app/src/main/java/com/dkanada/gramophone/ui/fragments/mainactivity/library/pager/GenresFragment.java @@ -45,7 +45,7 @@ public class GenresFragment extends AbsLibraryPagerRecyclerViewFragment getCategories() { String data = mPreferences.getString(CATEGORIES, null); if (data != null) { diff --git a/app/src/main/java/com/dkanada/gramophone/util/QueryUtil.java b/app/src/main/java/com/dkanada/gramophone/util/QueryUtil.java index 6bfcba29..41af5391 100644 --- a/app/src/main/java/com/dkanada/gramophone/util/QueryUtil.java +++ b/app/src/main/java/com/dkanada/gramophone/util/QueryUtil.java @@ -189,7 +189,7 @@ public class QueryUtil { query.setUserId(App.getApiClient().getCurrentUserId()); query.setRecursive(true); if (query.getParentId() == null && query.getArtistIds().length == 0) { - query.setLimit(PreferenceUtil.getInstance(App.getInstance()).getMaximumListSize()); + query.setLimit(PreferenceUtil.getInstance(App.getInstance()).getPageSize()); } if (currentLibrary == null || query.getParentId() != null) return; @@ -200,7 +200,7 @@ public class QueryUtil { query.setUserId(App.getApiClient().getCurrentUserId()); query.setRecursive(true); if (query.getParentId() == null) { - query.setLimit(PreferenceUtil.getInstance(App.getInstance()).getMaximumListSize()); + query.setLimit(PreferenceUtil.getInstance(App.getInstance()).getPageSize()); } if (currentLibrary == null || query.getParentId() != null) return; diff --git a/app/src/main/res/xml/pref_audio.xml b/app/src/main/res/xml/pref_audio.xml index f49071f1..9d3d592b 100644 --- a/app/src/main/res/xml/pref_audio.xml +++ b/app/src/main/res/xml/pref_audio.xml @@ -14,6 +14,12 @@ android:positiveButtonText="@null" android:title="@string/pref_title_transcode_codec" /> + + @@ -38,7 +38,7 @@ diff --git a/app/src/main/res/xml/pref_direct_play.xml b/app/src/main/res/xml/pref_direct_play.xml deleted file mode 100644 index 53d1ad56..00000000 --- a/app/src/main/res/xml/pref_direct_play.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - -