diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/settings/AbsSettingsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/settings/AbsSettingsFragment.kt index d191153c..d93b5852 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/settings/AbsSettingsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/settings/AbsSettingsFragment.kt @@ -67,29 +67,6 @@ abstract class AbsSettingsFragment : ATEPreferenceFragmentCompat() { invalidateSettings() } - /*override fun onDisplayPreferenceDialog(preference: Preference) { - var dialogFragment: DialogFragment? = null// Dialog creation could not be handled here. Try with the super method. - // The dialog was created (it was one of our custom Preferences), show the dialog for it - when (preference) { - is LibraryPreference -> dialogFragment = LibraryPreferenceDialog.newInstance(preference.key) - is NowPlayingScreenPreference -> dialogFragment = NowPlayingScreenPreferenceDialog.newInstance(preference.key) - is AlbumCoverStylePreference -> dialogFragment = AlbumCoverStylePreferenceDialog.newInstance(preference.key) - is MaterialListPreference -> { - preference.entries - dialogFragment = MaterialListPreferenceDialog.newInstance(preference) - } - is BlacklistPreference -> dialogFragment = BlacklistPreferenceDialog.newInstance() - } - - if (dialogFragment != null) { - // The dialog was created (it was one of our custom Preferences), show the dialog for it - dialogFragment.setTargetFragment(this, 0); - dialogFragment.show(this.fragmentManager!!, "android.support.v7.preference.PreferenceFragment.DIALOG"); - } else { - // Dialog creation could not be handled here. Try with the super method. - super.onDisplayPreferenceDialog(preference); - } - }*/ override fun onCreatePreferenceDialog(preference: Preference): DialogFragment? { return when (preference) { is LibraryPreference -> LibraryPreferenceDialog.newInstance(preference.key) diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/settings/NotificationSettingsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/settings/NotificationSettingsFragment.kt index 6d6bf422..dfd74f15 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/settings/NotificationSettingsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/settings/NotificationSettingsFragment.kt @@ -14,9 +14,11 @@ package code.name.monkey.retromusic.fragments.settings +import android.content.SharedPreferences import android.os.Build.VERSION import android.os.Build.VERSION_CODES import android.os.Bundle +import androidx.preference.Preference import androidx.preference.TwoStatePreference import code.name.monkey.retromusic.R import code.name.monkey.retromusic.util.PreferenceUtil @@ -26,7 +28,15 @@ import code.name.monkey.retromusic.util.PreferenceUtil * @author Hemanth S (h4h13). */ -class NotificationSettingsFragment : AbsSettingsFragment() { +class NotificationSettingsFragment : AbsSettingsFragment(), SharedPreferences.OnSharedPreferenceChangeListener { + override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) { + if (key == PreferenceUtil.CLASSIC_NOTIFICATION) { + if (VERSION.SDK_INT >= VERSION_CODES.O) { + findPreference("colored_notification")?.isEnabled = sharedPreferences?.getBoolean(key, false)!! + } + } + } + override fun invalidateSettings() { val classicNotification: TwoStatePreference? = findPreference("classic_notification") @@ -58,6 +68,16 @@ class NotificationSettingsFragment : AbsSettingsFragment() { } } + override fun onResume() { + super.onResume() + PreferenceUtil.getInstance(requireContext()).registerOnSharedPreferenceChangedListener(this) + } + + override fun onDestroyView() { + super.onDestroyView() + PreferenceUtil.getInstance(requireContext()).unregisterOnSharedPreferenceChangedListener(this) + } + override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { addPreferencesFromResource(R.xml.pref_notification) }