Add requirePreference helper

fennec/production
Tiger Oakes 4 years ago committed by Emily Kager
parent 0eb2f328dc
commit 3e03439259

@ -5,10 +5,13 @@
package org.mozilla.fenix.settings
import android.widget.RadioButton
import androidx.annotation.StringRes
import androidx.appcompat.content.res.AppCompatResources
import androidx.preference.Preference
import androidx.preference.PreferenceFragmentCompat
import mozilla.components.feature.sitepermissions.SitePermissions
import mozilla.components.support.ktx.android.view.putCompoundDrawablesRelative
import org.mozilla.fenix.ext.getPreferenceKey
import org.mozilla.fenix.theme.ThemeManager
fun SitePermissions.toggle(featurePhone: PhoneFeature): SitePermissions {
@ -60,3 +63,10 @@ inline fun <reified T> Preference.setOnPreferenceChangeListener(
(newValue as? T)?.let { onPreferenceChangeListener(preference, it) } ?: false
}
}
/**
* Find a preference with the corresponding key and throw if it does not exist.
* @param preferenceId Resource ID from preference_keys
*/
fun <T : Preference> PreferenceFragmentCompat.requirePreference(@StringRes preferenceId: Int) =
requireNotNull(findPreference<T>(getPreferenceKey(preferenceId)))

Loading…
Cancel
Save