diff --git a/app/src/main/java/com/dkanada/gramophone/activities/SettingsActivity.java b/app/src/main/java/com/dkanada/gramophone/activities/SettingsActivity.java index 5f37ba8b..6c4c03ad 100644 --- a/app/src/main/java/com/dkanada/gramophone/activities/SettingsActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/activities/SettingsActivity.java @@ -9,25 +9,21 @@ import android.view.View; import androidx.annotation.ColorInt; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.fragment.app.DialogFragment; import androidx.preference.ListPreference; import androidx.preference.Preference; +import androidx.preference.PreferenceFragmentCompat; import androidx.preference.PreferenceManager; import androidx.preference.TwoStatePreference; import com.afollestad.materialdialogs.color.ColorChooserDialog; import com.dkanada.gramophone.databinding.ActivitySettingsBinding; -import com.dkanada.gramophone.preferences.DirectPlayPreference; import com.dkanada.gramophone.preferences.DirectPlayPreferenceDialog; import com.kabouzeid.appthemehelper.ThemeStore; import com.kabouzeid.appthemehelper.common.prefs.supportv7.ATEColorPreference; -import com.kabouzeid.appthemehelper.common.prefs.supportv7.ATEPreferenceFragmentCompat; import com.kabouzeid.appthemehelper.util.ColorUtil; import com.dkanada.gramophone.R; import com.dkanada.gramophone.views.shortcuts.DynamicShortcutManager; -import com.dkanada.gramophone.preferences.CategoryPreference; import com.dkanada.gramophone.preferences.CategoryPreferenceDialog; -import com.dkanada.gramophone.preferences.NowPlayingScreenPreference; import com.dkanada.gramophone.preferences.NowPlayingScreenPreferenceDialog; import com.dkanada.gramophone.activities.base.AbsBaseActivity; import com.dkanada.gramophone.util.PreferenceUtil; @@ -93,7 +89,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia return super.onOptionsItemSelected(item); } - public static class SettingsFragment extends ATEPreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener { + public static class SettingsFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener { private static void setSummary(@NonNull Preference preference) { setSummary(preference, PreferenceManager @@ -124,20 +120,6 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia addPreferencesFromResource(R.xml.pref_cache); } - @Nullable - @Override - public DialogFragment onCreatePreferenceDialog(Preference preference) { - if (preference instanceof NowPlayingScreenPreference) { - return NowPlayingScreenPreferenceDialog.newInstance(); - } else if (preference instanceof CategoryPreference) { - return CategoryPreferenceDialog.newInstance(); - } else if (preference instanceof DirectPlayPreference) { - return DirectPlayPreferenceDialog.newInstance(); - } - - return super.onCreatePreferenceDialog(preference); - } - @Override public void onViewCreated(@NonNull View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); @@ -152,6 +134,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia PreferenceUtil.getInstance(getActivity()).unregisterOnSharedPreferenceChangedListener(this); } + @SuppressWarnings("ConstantConditions") private void invalidateSettings() { final Preference generalTheme = findPreference(PreferenceUtil.GENERAL_THEME); setSummary(generalTheme); @@ -231,6 +214,24 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia }); } + final Preference categoryPreference = findPreference(PreferenceUtil.CATEGORIES); + categoryPreference.setOnPreferenceClickListener(preference -> { + CategoryPreferenceDialog.newInstance().show(getParentFragmentManager(), CategoryPreferenceDialog.TAG); + return false; + }); + + final Preference directPlayPreference = findPreference(PreferenceUtil.DIRECT_PLAY_CODECS); + directPlayPreference.setOnPreferenceClickListener(preference -> { + DirectPlayPreferenceDialog.newInstance().show(getParentFragmentManager(), DirectPlayPreferenceDialog.TAG); + return false; + }); + + final Preference nowPlayingPreference = findPreference(PreferenceUtil.NOW_PLAYING_SCREEN); + nowPlayingPreference.setOnPreferenceClickListener(preference -> { + NowPlayingScreenPreferenceDialog.newInstance().show(getParentFragmentManager(), NowPlayingScreenPreferenceDialog.TAG); + return false; + }); + updateNowPlayingScreenSummary(); } diff --git a/app/src/main/java/com/dkanada/gramophone/preferences/CategoryPreference.java b/app/src/main/java/com/dkanada/gramophone/preferences/CategoryPreference.java deleted file mode 100644 index b9df08a5..00000000 --- a/app/src/main/java/com/dkanada/gramophone/preferences/CategoryPreference.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.dkanada.gramophone.preferences; - -import android.content.Context; -import android.util.AttributeSet; - -import com.kabouzeid.appthemehelper.common.prefs.supportv7.ATEDialogPreference; - -public class CategoryPreference extends ATEDialogPreference { - public CategoryPreference(Context context) { - super(context); - } - - public CategoryPreference(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public CategoryPreference(Context context, AttributeSet attrs, int defStyleAttr) { - super(context, attrs, defStyleAttr); - } - - public CategoryPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { - super(context, attrs, defStyleAttr, defStyleRes); - } -} diff --git a/app/src/main/java/com/dkanada/gramophone/preferences/CategoryPreferenceDialog.java b/app/src/main/java/com/dkanada/gramophone/preferences/CategoryPreferenceDialog.java index 74e98652..6fb27762 100644 --- a/app/src/main/java/com/dkanada/gramophone/preferences/CategoryPreferenceDialog.java +++ b/app/src/main/java/com/dkanada/gramophone/preferences/CategoryPreferenceDialog.java @@ -19,6 +19,8 @@ import java.util.ArrayList; import java.util.List; public class CategoryPreferenceDialog extends DialogFragment { + public static final String TAG = CategoryPreferenceDialog.class.getSimpleName(); + public static CategoryPreferenceDialog newInstance() { return new CategoryPreferenceDialog(); } diff --git a/app/src/main/java/com/dkanada/gramophone/preferences/DirectPlayPreference.java b/app/src/main/java/com/dkanada/gramophone/preferences/DirectPlayPreference.java deleted file mode 100644 index 5071f3d5..00000000 --- a/app/src/main/java/com/dkanada/gramophone/preferences/DirectPlayPreference.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.dkanada.gramophone.preferences; - -import android.content.Context; -import android.util.AttributeSet; - -import com.kabouzeid.appthemehelper.common.prefs.supportv7.ATEDialogPreference; - -public class DirectPlayPreference extends ATEDialogPreference { - public DirectPlayPreference(Context context) { - super(context); - } - - public DirectPlayPreference(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public DirectPlayPreference(Context context, AttributeSet attrs, int defStyleAttr) { - super(context, attrs, defStyleAttr); - } - - public DirectPlayPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { - super(context, attrs, defStyleAttr, defStyleRes); - } -} diff --git a/app/src/main/java/com/dkanada/gramophone/preferences/DirectPlayPreferenceDialog.java b/app/src/main/java/com/dkanada/gramophone/preferences/DirectPlayPreferenceDialog.java index 37788cf5..0043e93f 100644 --- a/app/src/main/java/com/dkanada/gramophone/preferences/DirectPlayPreferenceDialog.java +++ b/app/src/main/java/com/dkanada/gramophone/preferences/DirectPlayPreferenceDialog.java @@ -15,6 +15,8 @@ import com.dkanada.gramophone.adapter.DirectPlayCodecAdapter; import com.dkanada.gramophone.util.PreferenceUtil; public class DirectPlayPreferenceDialog extends DialogFragment { + public static final String TAG = DirectPlayPreferenceDialog.class.getSimpleName(); + public static DirectPlayPreferenceDialog newInstance() { return new DirectPlayPreferenceDialog(); } diff --git a/app/src/main/java/com/dkanada/gramophone/preferences/NowPlayingScreenPreference.java b/app/src/main/java/com/dkanada/gramophone/preferences/NowPlayingScreenPreference.java deleted file mode 100644 index 953c82b0..00000000 --- a/app/src/main/java/com/dkanada/gramophone/preferences/NowPlayingScreenPreference.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.dkanada.gramophone.preferences; - -import android.content.Context; -import android.util.AttributeSet; - -import com.kabouzeid.appthemehelper.common.prefs.supportv7.ATEDialogPreference; - -public class NowPlayingScreenPreference extends ATEDialogPreference { - public NowPlayingScreenPreference(Context context) { - super(context); - } - - public NowPlayingScreenPreference(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public NowPlayingScreenPreference(Context context, AttributeSet attrs, int defStyleAttr) { - super(context, attrs, defStyleAttr); - } - - public NowPlayingScreenPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { - super(context, attrs, defStyleAttr, defStyleRes); - } -} \ No newline at end of file diff --git a/app/src/main/java/com/dkanada/gramophone/preferences/NowPlayingScreenPreferenceDialog.java b/app/src/main/java/com/dkanada/gramophone/preferences/NowPlayingScreenPreferenceDialog.java index 394bf23e..f2d08363 100644 --- a/app/src/main/java/com/dkanada/gramophone/preferences/NowPlayingScreenPreferenceDialog.java +++ b/app/src/main/java/com/dkanada/gramophone/preferences/NowPlayingScreenPreferenceDialog.java @@ -23,6 +23,7 @@ import com.dkanada.gramophone.util.PreferenceUtil; import com.pixelcan.inkpageindicator.InkPageIndicator; public class NowPlayingScreenPreferenceDialog extends DialogFragment implements MaterialDialog.SingleButtonCallback, ViewPager.OnPageChangeListener { + public static final String TAG = NowPlayingScreenPreferenceDialog.class.getSimpleName(); private DialogAction whichButtonClicked; private int viewPagerPosition; diff --git a/app/src/main/res/xml/pref_library.xml b/app/src/main/res/xml/pref_library.xml index 0d54090d..3ac3136a 100644 --- a/app/src/main/res/xml/pref_library.xml +++ b/app/src/main/res/xml/pref_library.xml @@ -3,9 +3,9 @@ - diff --git a/app/src/main/res/xml/pref_now_playing.xml b/app/src/main/res/xml/pref_now_playing.xml index a1a5bc67..62706e56 100644 --- a/app/src/main/res/xml/pref_now_playing.xml +++ b/app/src/main/res/xml/pref_now_playing.xml @@ -4,7 +4,7 @@ - diff --git a/app/src/main/res/xml/pref_playback.xml b/app/src/main/res/xml/pref_playback.xml index bc060b66..af1fb76b 100644 --- a/app/src/main/res/xml/pref_playback.xml +++ b/app/src/main/res/xml/pref_playback.xml @@ -14,7 +14,7 @@ android:positiveButtonText="@null" android:title="@string/pref_title_transcode_codec" /> -