/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ package org.mozilla.fenix.settings import android.os.Bundle import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat import androidx.preference.SwitchPreference import org.mozilla.fenix.FeatureFlags import org.mozilla.fenix.R import org.mozilla.fenix.ext.components import org.mozilla.fenix.ext.settings import org.mozilla.fenix.ext.showToolbar class SecretSettingsFragment : PreferenceFragmentCompat() { override fun onResume() { super.onResume() showToolbar(getString(R.string.preferences_debug_settings)) } override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { setPreferencesFromResource(R.xml.secret_settings_preferences, rootKey) requirePreference(R.string.pref_key_show_address_feature).apply { isVisible = FeatureFlags.addressesFeature isChecked = context.settings().addressFeature onPreferenceChangeListener = SharedPreferenceUpdater() } requirePreference(R.string.pref_key_new_tabs_tray).apply { isVisible = FeatureFlags.tabsTrayRewrite isChecked = context.settings().tabsTrayRewrite onPreferenceChangeListener = SharedPreferenceUpdater() } requirePreference(R.string.pref_key_allow_third_party_root_certs).apply { isVisible = true isChecked = context.settings().allowThirdPartyRootCerts onPreferenceChangeListener = object : SharedPreferenceUpdater() { override fun onPreferenceChange(preference: Preference, newValue: Any?): Boolean { context.components.core.engine.settings.enterpriseRootsEnabled = newValue as Boolean return super.onPreferenceChange(preference, newValue) } } } } }