Replace requireNotNull(findPreference())
parent
3e03439259
commit
45ef88f6b9
|
@ -13,7 +13,6 @@ import androidx.preference.PreferenceFragmentCompat
|
||||||
import org.mozilla.fenix.R
|
import org.mozilla.fenix.R
|
||||||
import org.mozilla.fenix.components.metrics.Event
|
import org.mozilla.fenix.components.metrics.Event
|
||||||
import org.mozilla.fenix.ext.components
|
import org.mozilla.fenix.ext.components
|
||||||
import org.mozilla.fenix.ext.getPreferenceKey
|
|
||||||
import org.mozilla.fenix.ext.requireComponents
|
import org.mozilla.fenix.ext.requireComponents
|
||||||
import org.mozilla.fenix.ext.settings
|
import org.mozilla.fenix.ext.settings
|
||||||
import org.mozilla.fenix.ext.showToolbar
|
import org.mozilla.fenix.ext.showToolbar
|
||||||
|
@ -69,8 +68,7 @@ class CustomizationFragment : PreferenceFragmentCompat() {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun bindLightTheme() {
|
private fun bindLightTheme() {
|
||||||
val keyLightTheme = getPreferenceKey(R.string.pref_key_light_theme)
|
radioLightTheme = requirePreference(R.string.pref_key_light_theme)
|
||||||
radioLightTheme = requireNotNull(findPreference(keyLightTheme))
|
|
||||||
radioLightTheme.onClickListener {
|
radioLightTheme.onClickListener {
|
||||||
setNewTheme(AppCompatDelegate.MODE_NIGHT_NO)
|
setNewTheme(AppCompatDelegate.MODE_NIGHT_NO)
|
||||||
}
|
}
|
||||||
|
@ -79,16 +77,14 @@ class CustomizationFragment : PreferenceFragmentCompat() {
|
||||||
@SuppressLint("WrongConstant")
|
@SuppressLint("WrongConstant")
|
||||||
// Suppressing erroneous lint warning about using MODE_NIGHT_AUTO_BATTERY, a likely library bug
|
// Suppressing erroneous lint warning about using MODE_NIGHT_AUTO_BATTERY, a likely library bug
|
||||||
private fun bindAutoBatteryTheme() {
|
private fun bindAutoBatteryTheme() {
|
||||||
val keyBatteryTheme = getPreferenceKey(R.string.pref_key_auto_battery_theme)
|
radioAutoBatteryTheme = requirePreference(R.string.pref_key_auto_battery_theme)
|
||||||
radioAutoBatteryTheme = requireNotNull(findPreference(keyBatteryTheme))
|
|
||||||
radioAutoBatteryTheme.onClickListener {
|
radioAutoBatteryTheme.onClickListener {
|
||||||
setNewTheme(AppCompatDelegate.MODE_NIGHT_AUTO_BATTERY)
|
setNewTheme(AppCompatDelegate.MODE_NIGHT_AUTO_BATTERY)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun bindDarkTheme() {
|
private fun bindDarkTheme() {
|
||||||
val keyDarkTheme = getPreferenceKey(R.string.pref_key_dark_theme)
|
radioDarkTheme = requirePreference(R.string.pref_key_dark_theme)
|
||||||
radioDarkTheme = requireNotNull(findPreference(keyDarkTheme))
|
|
||||||
radioDarkTheme.onClickListener {
|
radioDarkTheme.onClickListener {
|
||||||
requireContext().components.analytics.metrics.track(
|
requireContext().components.analytics.metrics.track(
|
||||||
Event.DarkThemeSelected(
|
Event.DarkThemeSelected(
|
||||||
|
@ -100,8 +96,7 @@ class CustomizationFragment : PreferenceFragmentCompat() {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun bindFollowDeviceTheme() {
|
private fun bindFollowDeviceTheme() {
|
||||||
val keyDeviceTheme = getPreferenceKey(R.string.pref_key_follow_device_theme)
|
radioFollowDeviceTheme = requirePreference(R.string.pref_key_follow_device_theme)
|
||||||
radioFollowDeviceTheme = requireNotNull(findPreference(keyDeviceTheme))
|
|
||||||
if (SDK_INT >= Build.VERSION_CODES.P) {
|
if (SDK_INT >= Build.VERSION_CODES.P) {
|
||||||
radioFollowDeviceTheme.onClickListener {
|
radioFollowDeviceTheme.onClickListener {
|
||||||
setNewTheme(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM)
|
setNewTheme(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM)
|
||||||
|
@ -120,16 +115,14 @@ class CustomizationFragment : PreferenceFragmentCompat() {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setupToolbarCategory() {
|
private fun setupToolbarCategory() {
|
||||||
val keyToolbarTop = getPreferenceKey(R.string.pref_key_toolbar_top)
|
val topPreference = requirePreference<RadioButtonPreference>(R.string.pref_key_toolbar_top)
|
||||||
val topPreference = requireNotNull(findPreference<RadioButtonPreference>(keyToolbarTop))
|
|
||||||
topPreference.onClickListener {
|
topPreference.onClickListener {
|
||||||
requireContext().components.analytics.metrics.track(Event.ToolbarPositionChanged(
|
requireContext().components.analytics.metrics.track(Event.ToolbarPositionChanged(
|
||||||
Event.ToolbarPositionChanged.Position.TOP
|
Event.ToolbarPositionChanged.Position.TOP
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
|
|
||||||
val keyToolbarBottom = getPreferenceKey(R.string.pref_key_toolbar_bottom)
|
val bottomPreference = requirePreference<RadioButtonPreference>(R.string.pref_key_toolbar_top)
|
||||||
val bottomPreference = requireNotNull(findPreference<RadioButtonPreference>(keyToolbarBottom))
|
|
||||||
bottomPreference.onClickListener {
|
bottomPreference.onClickListener {
|
||||||
requireContext().components.analytics.metrics.track(Event.ToolbarPositionChanged(
|
requireContext().components.analytics.metrics.track(Event.ToolbarPositionChanged(
|
||||||
Event.ToolbarPositionChanged.Position.BOTTOM
|
Event.ToolbarPositionChanged.Position.BOTTOM
|
||||||
|
|
|
@ -16,7 +16,6 @@ import org.mozilla.fenix.HomeActivity
|
||||||
import org.mozilla.fenix.R
|
import org.mozilla.fenix.R
|
||||||
import org.mozilla.fenix.components.metrics.Event
|
import org.mozilla.fenix.components.metrics.Event
|
||||||
import org.mozilla.fenix.ext.components
|
import org.mozilla.fenix.ext.components
|
||||||
import org.mozilla.fenix.ext.getPreferenceKey
|
|
||||||
import org.mozilla.fenix.ext.nav
|
import org.mozilla.fenix.ext.nav
|
||||||
import org.mozilla.fenix.ext.requireComponents
|
import org.mozilla.fenix.ext.requireComponents
|
||||||
import org.mozilla.fenix.ext.settings
|
import org.mozilla.fenix.ext.settings
|
||||||
|
@ -56,11 +55,10 @@ class TrackingProtectionFragment : PreferenceFragmentCompat() {
|
||||||
showToolbar(getString(R.string.preference_enhanced_tracking_protection))
|
showToolbar(getString(R.string.preference_enhanced_tracking_protection))
|
||||||
|
|
||||||
// Tracking Protection Switch
|
// Tracking Protection Switch
|
||||||
val trackingProtectionKey = getPreferenceKey(R.string.pref_key_tracking_protection)
|
val preferenceTP = requirePreference<SwitchPreference>(R.string.pref_key_tracking_protection)
|
||||||
val preferenceTP = findPreference<SwitchPreference>(trackingProtectionKey)
|
|
||||||
|
|
||||||
preferenceTP?.isChecked = requireContext().settings().shouldUseTrackingProtection
|
preferenceTP.isChecked = requireContext().settings().shouldUseTrackingProtection
|
||||||
preferenceTP?.setOnPreferenceChangeListener<Boolean> { preference, trackingProtectionOn ->
|
preferenceTP.setOnPreferenceChangeListener<Boolean> { preference, trackingProtectionOn ->
|
||||||
preference.context.settings().shouldUseTrackingProtection =
|
preference.context.settings().shouldUseTrackingProtection =
|
||||||
trackingProtectionOn
|
trackingProtectionOn
|
||||||
with(preference.context.components) {
|
with(preference.context.components) {
|
||||||
|
@ -72,10 +70,8 @@ class TrackingProtectionFragment : PreferenceFragmentCompat() {
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
|
|
||||||
val trackingProtectionLearnMore =
|
val learnMorePreference = requirePreference<Preference>(R.string.pref_key_etp_learn_more)
|
||||||
requireContext().getPreferenceKey(R.string.pref_key_etp_learn_more)
|
learnMorePreference.setOnPreferenceClickListener {
|
||||||
val learnMorePreference = findPreference<Preference>(trackingProtectionLearnMore)
|
|
||||||
learnMorePreference?.setOnPreferenceClickListener {
|
|
||||||
(activity as HomeActivity).openToBrowserAndLoad(
|
(activity as HomeActivity).openToBrowserAndLoad(
|
||||||
searchTermOrURL = SupportUtils.getGenericSumoURLForTopic
|
searchTermOrURL = SupportUtils.getGenericSumoURLForTopic
|
||||||
(SupportUtils.SumoTopic.TRACKING_PROTECTION),
|
(SupportUtils.SumoTopic.TRACKING_PROTECTION),
|
||||||
|
@ -84,22 +80,19 @@ class TrackingProtectionFragment : PreferenceFragmentCompat() {
|
||||||
)
|
)
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
learnMorePreference?.summary = getString(
|
learnMorePreference.summary = getString(
|
||||||
R.string.preference_enhanced_tracking_protection_explanation,
|
R.string.preference_enhanced_tracking_protection_explanation,
|
||||||
getString(R.string.app_name)
|
getString(R.string.app_name)
|
||||||
)
|
)
|
||||||
|
|
||||||
val exceptions = getPreferenceKey(R.string.pref_key_tracking_protection_exceptions)
|
val preferenceExceptions = requirePreference<Preference>(R.string.pref_key_tracking_protection_exceptions)
|
||||||
val preferenceExceptions = findPreference<Preference>(exceptions)
|
preferenceExceptions.onPreferenceClickListener = exceptionsClickListener
|
||||||
preferenceExceptions?.onPreferenceClickListener = exceptionsClickListener
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun bindTrackingProtectionRadio(
|
private fun bindTrackingProtectionRadio(
|
||||||
mode: TrackingProtectionMode
|
mode: TrackingProtectionMode
|
||||||
): RadioButtonInfoPreference {
|
): RadioButtonInfoPreference {
|
||||||
val radio = requireNotNull(findPreference<RadioButtonInfoPreference>(
|
val radio = requirePreference<RadioButtonInfoPreference>(mode.preferenceKey)
|
||||||
getPreferenceKey(mode.preferenceKey)
|
|
||||||
))
|
|
||||||
radio.contentDescription = getString(mode.contentDescriptionRes)
|
radio.contentDescription = getString(mode.contentDescriptionRes)
|
||||||
|
|
||||||
val metrics = requireComponents.analytics.metrics
|
val metrics = requireComponents.analytics.metrics
|
||||||
|
@ -132,37 +125,23 @@ class TrackingProtectionFragment : PreferenceFragmentCompat() {
|
||||||
private fun bindCustom(): RadioButtonInfoPreference {
|
private fun bindCustom(): RadioButtonInfoPreference {
|
||||||
val radio = bindTrackingProtectionRadio(TrackingProtectionMode.CUSTOM)
|
val radio = bindTrackingProtectionRadio(TrackingProtectionMode.CUSTOM)
|
||||||
|
|
||||||
customCookies = requireNotNull(
|
customCookies =
|
||||||
findPreference(
|
requirePreference(R.string.pref_key_tracking_protection_custom_cookies)
|
||||||
getString(R.string.pref_key_tracking_protection_custom_cookies)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
customCookiesSelect = requireNotNull(
|
customCookiesSelect =
|
||||||
findPreference(
|
requirePreference(R.string.pref_key_tracking_protection_custom_cookies_select)
|
||||||
getString(R.string.pref_key_tracking_protection_custom_cookies_select)
|
|
||||||
)
|
customTracking =
|
||||||
)
|
requirePreference(R.string.pref_key_tracking_protection_custom_tracking_content)
|
||||||
customTracking = requireNotNull(
|
|
||||||
findPreference(
|
customTrackingSelect =
|
||||||
getString(R.string.pref_key_tracking_protection_custom_tracking_content)
|
requirePreference(R.string.pref_key_tracking_protection_custom_tracking_content_select)
|
||||||
)
|
|
||||||
)
|
customCryptominers =
|
||||||
customTrackingSelect = requireNotNull(
|
requirePreference(R.string.pref_key_tracking_protection_custom_cryptominers)
|
||||||
findPreference(
|
|
||||||
getString(R.string.pref_key_tracking_protection_custom_tracking_content_select)
|
customFingerprinters =
|
||||||
)
|
requirePreference(R.string.pref_key_tracking_protection_custom_fingerprinters)
|
||||||
)
|
|
||||||
customCryptominers = requireNotNull(
|
|
||||||
findPreference(
|
|
||||||
getString(R.string.pref_key_tracking_protection_custom_cryptominers)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
customFingerprinters = requireNotNull(
|
|
||||||
findPreference(
|
|
||||||
getString(R.string.pref_key_tracking_protection_custom_fingerprinters)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
customCookies.onPreferenceChangeListener = object : SharedPreferenceUpdater() {
|
customCookies.onPreferenceChangeListener = object : SharedPreferenceUpdater() {
|
||||||
override fun onPreferenceChange(preference: Preference, newValue: Any?): Boolean {
|
override fun onPreferenceChange(preference: Preference, newValue: Any?): Boolean {
|
||||||
|
|
|
@ -14,6 +14,7 @@ import org.mozilla.fenix.ext.metrics
|
||||||
import org.mozilla.fenix.ext.showToolbar
|
import org.mozilla.fenix.ext.showToolbar
|
||||||
import org.mozilla.fenix.settings.RadioButtonPreference
|
import org.mozilla.fenix.settings.RadioButtonPreference
|
||||||
import org.mozilla.fenix.settings.SharedPreferenceUpdater
|
import org.mozilla.fenix.settings.SharedPreferenceUpdater
|
||||||
|
import org.mozilla.fenix.settings.requirePreference
|
||||||
|
|
||||||
class SavedLoginsSettingFragment : PreferenceFragmentCompat() {
|
class SavedLoginsSettingFragment : PreferenceFragmentCompat() {
|
||||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||||
|
@ -29,9 +30,8 @@ class SavedLoginsSettingFragment : PreferenceFragmentCompat() {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun bindSave(): RadioButtonPreference {
|
private fun bindSave(): RadioButtonPreference {
|
||||||
val keySave = getString(R.string.pref_key_save_logins)
|
val preferenceSave = requirePreference<RadioButtonPreference>(R.string.pref_key_save_logins)
|
||||||
val preferenceSave = findPreference<RadioButtonPreference>(keySave)
|
preferenceSave.onPreferenceChangeListener = object : SharedPreferenceUpdater() {
|
||||||
preferenceSave?.onPreferenceChangeListener = object : SharedPreferenceUpdater() {
|
|
||||||
override fun onPreferenceChange(preference: Preference, newValue: Any?): Boolean {
|
override fun onPreferenceChange(preference: Preference, newValue: Any?): Boolean {
|
||||||
if (newValue == true) {
|
if (newValue == true) {
|
||||||
context?.metrics?.track(
|
context?.metrics?.track(
|
||||||
|
@ -45,13 +45,12 @@ class SavedLoginsSettingFragment : PreferenceFragmentCompat() {
|
||||||
return super.onPreferenceChange(preference, newValue)
|
return super.onPreferenceChange(preference, newValue)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return requireNotNull(preferenceSave)
|
return preferenceSave
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun bindNeverSave(): RadioButtonPreference {
|
private fun bindNeverSave(): RadioButtonPreference {
|
||||||
val keyNeverSave = getString(R.string.pref_key_never_save_logins)
|
val preferenceNeverSave = requirePreference<RadioButtonPreference>(R.string.pref_key_never_save_logins)
|
||||||
val preferenceNeverSave = findPreference<RadioButtonPreference>(keyNeverSave)
|
preferenceNeverSave.onPreferenceChangeListener = object : SharedPreferenceUpdater() {
|
||||||
preferenceNeverSave?.onPreferenceChangeListener = object : SharedPreferenceUpdater() {
|
|
||||||
override fun onPreferenceChange(preference: Preference, newValue: Any?): Boolean {
|
override fun onPreferenceChange(preference: Preference, newValue: Any?): Boolean {
|
||||||
if (newValue == true) {
|
if (newValue == true) {
|
||||||
context?.metrics?.track(
|
context?.metrics?.track(
|
||||||
|
@ -65,7 +64,7 @@ class SavedLoginsSettingFragment : PreferenceFragmentCompat() {
|
||||||
return super.onPreferenceChange(preference, newValue)
|
return super.onPreferenceChange(preference, newValue)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return requireNotNull(preferenceNeverSave)
|
return preferenceNeverSave
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setupRadioGroups(
|
private fun setupRadioGroups(
|
||||||
|
|
|
@ -18,13 +18,13 @@ import kotlinx.coroutines.withContext
|
||||||
import mozilla.components.feature.sitepermissions.SitePermissions
|
import mozilla.components.feature.sitepermissions.SitePermissions
|
||||||
import org.mozilla.fenix.R
|
import org.mozilla.fenix.R
|
||||||
import org.mozilla.fenix.ext.components
|
import org.mozilla.fenix.ext.components
|
||||||
import org.mozilla.fenix.ext.getPreferenceKey
|
|
||||||
import org.mozilla.fenix.ext.showToolbar
|
import org.mozilla.fenix.ext.showToolbar
|
||||||
import org.mozilla.fenix.settings.PhoneFeature
|
import org.mozilla.fenix.settings.PhoneFeature
|
||||||
import org.mozilla.fenix.settings.PhoneFeature.CAMERA
|
import org.mozilla.fenix.settings.PhoneFeature.CAMERA
|
||||||
import org.mozilla.fenix.settings.PhoneFeature.LOCATION
|
import org.mozilla.fenix.settings.PhoneFeature.LOCATION
|
||||||
import org.mozilla.fenix.settings.PhoneFeature.MICROPHONE
|
import org.mozilla.fenix.settings.PhoneFeature.MICROPHONE
|
||||||
import org.mozilla.fenix.settings.PhoneFeature.NOTIFICATION
|
import org.mozilla.fenix.settings.PhoneFeature.NOTIFICATION
|
||||||
|
import org.mozilla.fenix.settings.requirePreference
|
||||||
|
|
||||||
class SitePermissionsDetailsExceptionsFragment : PreferenceFragmentCompat() {
|
class SitePermissionsDetailsExceptionsFragment : PreferenceFragmentCompat() {
|
||||||
private lateinit var sitePermissions: SitePermissions
|
private lateinit var sitePermissions: SitePermissions
|
||||||
|
@ -75,8 +75,7 @@ class SitePermissionsDetailsExceptionsFragment : PreferenceFragmentCompat() {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun bindClearPermissionsButton() {
|
private fun bindClearPermissionsButton() {
|
||||||
val keyPreference = getPreferenceKey(R.string.pref_key_exceptions_clear_site_permissions)
|
val button: Preference = requirePreference(R.string.pref_key_exceptions_clear_site_permissions)
|
||||||
val button: Preference = requireNotNull(findPreference(keyPreference))
|
|
||||||
|
|
||||||
button.onPreferenceClickListener = Preference.OnPreferenceClickListener {
|
button.onPreferenceClickListener = Preference.OnPreferenceClickListener {
|
||||||
AlertDialog.Builder(requireContext()).apply {
|
AlertDialog.Builder(requireContext()).apply {
|
||||||
|
|
Loading…
Reference in New Issue