Add requirePreference helper
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…
Reference in New Issue