Bug 1830874 - Update onSharedPreferenceChanged method signature.

onSharedPreferenceChanged now allows a nullable key String.
fenix/116.0
mcarare 1 year ago committed by mergify[bot]
parent eb3674fd5f
commit 73b6381151

@ -6,11 +6,12 @@ package org.mozilla.fenix.settings
import android.content.SharedPreferences
import androidx.lifecycle.DefaultLifecycleObserver
import androidx.lifecycle.LifecycleObserver
import androidx.lifecycle.LifecycleOwner
class OnSharedPreferenceChangeListener(
private val sharedPreferences: SharedPreferences,
private val listener: (SharedPreferences, String) -> Unit,
private val listener: (SharedPreferences, String?) -> Unit,
) : SharedPreferences.OnSharedPreferenceChangeListener, DefaultLifecycleObserver {
override fun onCreate(owner: LifecycleOwner) {
@ -21,14 +22,17 @@ class OnSharedPreferenceChangeListener(
sharedPreferences.unregisterOnSharedPreferenceChangeListener(this)
}
override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences, key: String) {
override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences, key: String?) {
listener(sharedPreferences, key)
}
}
/**
* Registers a [OnSharedPreferenceChangeListener] as a [LifecycleObserver] for a preference.
*/
fun SharedPreferences.registerOnSharedPreferenceChangeListener(
owner: LifecycleOwner,
listener: (SharedPreferences, String) -> Unit,
listener: (SharedPreferences, String?) -> Unit,
) {
owner.lifecycle.addObserver(OnSharedPreferenceChangeListener(this, listener))
}

@ -20,7 +20,7 @@ import org.mozilla.fenix.helpers.FenixRobolectricTestRunner
class OnSharedPreferenceChangeListenerTest {
private lateinit var sharedPrefs: SharedPreferences
private lateinit var listener: (SharedPreferences, String) -> Unit
private lateinit var listener: (SharedPreferences, String?) -> Unit
private lateinit var owner: LifecycleOwner
private lateinit var lifecycleRegistry: LifecycleRegistry

@ -721,7 +721,6 @@
<ID>UndocumentedPublicFunction:NavController.kt$fun NavController.navigateSafe( @IdRes resId: Int, directions: NavDirections, )</ID>
<ID>UndocumentedPublicFunction:NimbusBranchesView.kt$NimbusBranchesView$fun update(state: NimbusBranchesState)</ID>
<ID>UndocumentedPublicFunction:NotificationManager.kt$NotificationManager$fun showReceivedTabs(context: Context, device: Device?, tabs: List&lt;TabData&gt;)</ID>
<ID>UndocumentedPublicFunction:OnSharedPreferenceChangeListener.kt$fun SharedPreferences.registerOnSharedPreferenceChangeListener( owner: LifecycleOwner, listener: (SharedPreferences, String) -&gt; Unit, )</ID>
<ID>UndocumentedPublicFunction:OnboardingRadioButton.kt$OnboardingRadioButton$fun addIllustration(illustration: ImageView)</ID>
<ID>UndocumentedPublicFunction:OnboardingRadioButton.kt$OnboardingRadioButton$fun onClickListener(listener: () -&gt; Unit)</ID>
<ID>UndocumentedPublicFunction:OnboardingSectionHeaderViewHolder.kt$OnboardingSectionHeaderViewHolder$fun bind(labelBuilder: (Context) -&gt; String)</ID>

Loading…
Cancel
Save