1
0
Fork 0

Add requirePreference helper

master
Tiger Oakes 2020-06-15 11:03:33 -07:00 committed by Emily Kager
parent 0eb2f328dc
commit 3e03439259
1 changed files with 10 additions and 0 deletions

View File

@ -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)))