diff --git a/app/src/main/java/org/oxycblt/auxio/music/MusicSettings.kt b/app/src/main/java/org/oxycblt/auxio/music/MusicSettings.kt index 8ae954e5a..193d1e827 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/MusicSettings.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/MusicSettings.kt @@ -85,7 +85,10 @@ class MusicSettingsImpl @Inject constructor(@ApplicationContext private val cont sharedPreferences.edit { putString( getString(R.string.set_key_music_locations), MusicLocation.toString(value)) - this@edit.apply() + commit() + // Sometimes changing this setting just won't actually trigger the listener. + // Only this one. No idea why. + listener?.onMusicLocationsChanged() } } diff --git a/app/src/main/java/org/oxycblt/auxio/settings/Settings.kt b/app/src/main/java/org/oxycblt/auxio/settings/Settings.kt index 9f77a3c8f..2128d6db4 100644 --- a/app/src/main/java/org/oxycblt/auxio/settings/Settings.kt +++ b/app/src/main/java/org/oxycblt/auxio/settings/Settings.kt @@ -62,17 +62,13 @@ interface Settings { */ abstract class Impl(private val context: Context) : Settings, SharedPreferences.OnSharedPreferenceChangeListener { - init { - L.d(this::class.simpleName) - } - protected val sharedPreferences: SharedPreferences = PreferenceManager.getDefaultSharedPreferences(context.applicationContext) /** @see [Context.getString] */ protected fun getString(@StringRes stringRes: Int) = context.getString(stringRes) - private var listener: Listener? = null + protected var listener: Listener? = null override fun registerListener(listener: Listener) { if (this.listener == null) {