diff --git a/app/src/main/java/com/dkanada/gramophone/adapter/MusicLibraryPagerAdapter.java b/app/src/main/java/com/dkanada/gramophone/adapter/MusicLibraryPagerAdapter.java index 4b030e4f..a16da5db 100644 --- a/app/src/main/java/com/dkanada/gramophone/adapter/MusicLibraryPagerAdapter.java +++ b/app/src/main/java/com/dkanada/gramophone/adapter/MusicLibraryPagerAdapter.java @@ -35,7 +35,7 @@ public class MusicLibraryPagerAdapter extends FragmentPagerAdapter { public MusicLibraryPagerAdapter(@NonNull final Context context, final FragmentManager fragmentManager) { super(fragmentManager); mContext = context; - setCategoryInfos(PreferenceUtil.getInstance(context).getLibraryCategories()); + setCategoryInfos(PreferenceUtil.getInstance(context).getCategories()); } public void setCategoryInfos(@NonNull List categoryInfos) { diff --git a/app/src/main/java/com/dkanada/gramophone/preferences/LibraryPreferenceDialog.java b/app/src/main/java/com/dkanada/gramophone/preferences/LibraryPreferenceDialog.java index c0236a95..d221e76e 100644 --- a/app/src/main/java/com/dkanada/gramophone/preferences/LibraryPreferenceDialog.java +++ b/app/src/main/java/com/dkanada/gramophone/preferences/LibraryPreferenceDialog.java @@ -31,9 +31,9 @@ public class LibraryPreferenceDialog extends DialogFragment { List categoryInfos; if (savedInstanceState != null) { - categoryInfos = savedInstanceState.getParcelableArrayList(PreferenceUtil.LIBRARY_CATEGORIES); + categoryInfos = savedInstanceState.getParcelableArrayList(PreferenceUtil.CATEGORIES); } else { - categoryInfos = PreferenceUtil.getInstance(getContext()).getLibraryCategories(); + categoryInfos = PreferenceUtil.getInstance(getContext()).getCategories(); } adapter = new CategoryInfoAdapter(categoryInfos); @@ -51,7 +51,7 @@ public class LibraryPreferenceDialog extends DialogFragment { .negativeText(android.R.string.cancel) .neutralText(R.string.reset_action) .autoDismiss(false) - .onNeutral((dialog, action) -> adapter.setCategoryInfos(PreferenceUtil.getInstance(getContext()).getDefaultLibraryCategories())) + .onNeutral((dialog, action) -> adapter.setCategoryInfos(PreferenceUtil.getInstance(getContext()).getDefaultCategories())) .onNegative((dialog, action) -> dismiss()) .onPositive((dialog, action) -> { updateCategories(adapter.getCategoryInfos()); @@ -63,13 +63,13 @@ public class LibraryPreferenceDialog extends DialogFragment { @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); - outState.putParcelableArrayList(PreferenceUtil.LIBRARY_CATEGORIES, new ArrayList<>(adapter.getCategoryInfos())); + outState.putParcelableArrayList(PreferenceUtil.CATEGORIES, new ArrayList<>(adapter.getCategoryInfos())); } private void updateCategories(List categories) { if (getSelected(categories) == 0) return; - PreferenceUtil.getInstance(getContext()).setLibraryCategories(categories); + PreferenceUtil.getInstance(getContext()).setCategories(categories); } private int getSelected(List categories) { 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 8d0ed1c9..3cb37bf4 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 @@ -75,6 +75,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1) { new DynamicShortcutManager(this).updateDynamicShortcuts(); } + recreate(); } @@ -106,9 +107,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia ListPreference listPreference = (ListPreference) preference; int index = listPreference.findIndexOfValue(stringValue); preference.setSummary( - index >= 0 - ? listPreference.getEntries()[index] - : null); + index >= 0 ? listPreference.getEntries()[index] : null); } else { preference.setSummary(stringValue); } @@ -132,6 +131,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia } else if (preference instanceof LibraryPreference) { return LibraryPreferenceDialog.newInstance(); } + return super.onCreatePreferenceDialog(preference); } @@ -150,7 +150,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia } private void invalidateSettings() { - final Preference generalTheme = findPreference("general_theme"); + final Preference generalTheme = findPreference(PreferenceUtil.GENERAL_THEME); setSummary(generalTheme); generalTheme.setOnPreferenceChangeListener((preference, o) -> { String themeName = (String) o; @@ -193,7 +193,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia return true; }); - TwoStatePreference colorNavBar = (TwoStatePreference) findPreference("should_color_navigation_bar"); + TwoStatePreference colorNavBar = (TwoStatePreference) findPreference(PreferenceUtil.COLORED_NAVIGATION_BAR); if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { colorNavBar.setVisible(false); } else { @@ -207,7 +207,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia }); } - final TwoStatePreference classicNotification = (TwoStatePreference) findPreference("classic_notification"); + final TwoStatePreference classicNotification = (TwoStatePreference) findPreference(PreferenceUtil.CLASSIC_NOTIFICATION); if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) { classicNotification.setVisible(false); } else { @@ -219,7 +219,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia }); } - final TwoStatePreference coloredNotification = (TwoStatePreference) findPreference("colored_notification"); + final TwoStatePreference coloredNotification = (TwoStatePreference) findPreference(PreferenceUtil.COLORED_NOTIFICATION); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { coloredNotification.setEnabled(PreferenceUtil.getInstance(getActivity()).getClassicNotification()); } else { @@ -258,14 +258,14 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia break; case PreferenceUtil.CLASSIC_NOTIFICATION: if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - findPreference("colored_notification").setEnabled(sharedPreferences.getBoolean(key, false)); + findPreference(PreferenceUtil.COLORED_NOTIFICATION).setEnabled(sharedPreferences.getBoolean(key, false)); } break; } } private void updateNowPlayingScreenSummary() { - findPreference("now_playing_screen_id").setSummary(PreferenceUtil.getInstance(getActivity()).getNowPlayingScreen().titleRes); + findPreference(PreferenceUtil.NOW_PLAYING_SCREEN).setSummary(PreferenceUtil.getInstance(getActivity()).getNowPlayingScreen().titleRes); } } } diff --git a/app/src/main/java/com/dkanada/gramophone/ui/fragments/mainactivity/library/LibraryFragment.java b/app/src/main/java/com/dkanada/gramophone/ui/fragments/mainactivity/library/LibraryFragment.java index 999df5d3..58c9c240 100644 --- a/app/src/main/java/com/dkanada/gramophone/ui/fragments/mainactivity/library/LibraryFragment.java +++ b/app/src/main/java/com/dkanada/gramophone/ui/fragments/mainactivity/library/LibraryFragment.java @@ -99,9 +99,9 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde @Override public void onSharedPreferenceChanged(SharedPreferences preferences, String key) { - if (PreferenceUtil.LIBRARY_CATEGORIES.equals(key)) { + if (PreferenceUtil.CATEGORIES.equals(key)) { Fragment current = getCurrentFragment(); - pagerAdapter.setCategoryInfos(PreferenceUtil.getInstance(getActivity()).getLibraryCategories()); + pagerAdapter.setCategoryInfos(PreferenceUtil.getInstance(getActivity()).getCategories()); pager.setOffscreenPageLimit(pagerAdapter.getCount() - 1); int position = pagerAdapter.getItemPosition(current); if (position < 0) position = 0; diff --git a/app/src/main/java/com/dkanada/gramophone/util/PreferenceUtil.java b/app/src/main/java/com/dkanada/gramophone/util/PreferenceUtil.java index b8086331..7d031a9f 100644 --- a/app/src/main/java/com/dkanada/gramophone/util/PreferenceUtil.java +++ b/app/src/main/java/com/dkanada/gramophone/util/PreferenceUtil.java @@ -21,7 +21,7 @@ import java.util.ArrayList; import java.util.List; public final class PreferenceUtil { - public static final String LIBRARY_CATEGORIES = "library_categories"; + public static final String CATEGORIES = "library_categories"; public static final String REMEMBER_LAST_TAB = "remember_last_tab"; public static final String LAST_TAB = "last_tab"; @@ -51,6 +51,7 @@ public final class PreferenceUtil { public static final String CLASSIC_NOTIFICATION = "classic_notification"; public static final String GENERAL_THEME = "general_theme"; + public static final String COLORED_NAVIGATION_BAR = "should_color_navigation_bar"; public static final String COLORED_SHORTCUTS = "colored_shortcuts"; public static final String TRANSCODE_CODEC = "transcode_codec"; @@ -366,8 +367,8 @@ public final class PreferenceUtil { editor.apply(); } - public List getLibraryCategories() { - String data = mPreferences.getString(LIBRARY_CATEGORIES, null); + public List getCategories() { + String data = mPreferences.getString(CATEGORIES, null); if (data != null) { Gson gson = new Gson(); Type collectionType = new TypeToken>() { @@ -380,19 +381,19 @@ public final class PreferenceUtil { } } - return getDefaultLibraryCategories(); + return getDefaultCategories(); } - public void setLibraryCategories(List categories) { + public void setCategories(List categories) { Gson gson = new Gson(); Type collectionType = new TypeToken>() {}.getType(); final SharedPreferences.Editor editor = mPreferences.edit(); - editor.putString(LIBRARY_CATEGORIES, gson.toJson(categories, collectionType)); + editor.putString(CATEGORIES, gson.toJson(categories, collectionType)); editor.apply(); } - public List getDefaultLibraryCategories() { + public List getDefaultCategories() { List defaultCategories = new ArrayList<>(5); defaultCategories.add(new CategoryInfo(CategoryInfo.Category.SONGS, true)); defaultCategories.add(new CategoryInfo(CategoryInfo.Category.ALBUMS, true)); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e488ea19..c6390f08 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -96,7 +96,7 @@ Lockscreen Notification - Library Categories + Categories Primary Color Accent Color Colored footers @@ -128,7 +128,7 @@ Save the queue when closing the app so it can persist across sessions. Colors the app shortcuts in the primary color. Go to the last opened tab on launch. - Configure visibility and order of library categories. + Configure visibility and order of display categories. Delete Remove diff --git a/app/src/main/res/xml/pref_now_playing_screen.xml b/app/src/main/res/xml/pref_now_playing_screen.xml index 009598c1..d17a82f2 100644 --- a/app/src/main/res/xml/pref_now_playing_screen.xml +++ b/app/src/main/res/xml/pref_now_playing_screen.xml @@ -6,7 +6,7 @@