Commit 33f3b14c authored by Tiger Oakes's avatar Tiger Oakes Committed by Sawyer Blatz
Browse files

Adds setters and property delegates in `Settings` (#4809)

* Change Settings to use setters

* Add delegate for shared preferences
parent ac6c1ec2
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -38,7 +38,7 @@ class DefaultBrowsingModeManager(
    override var mode: BrowsingMode
        get() = BrowsingMode.fromBoolean(settings.usePrivateMode)
        set(value) {
            settings.setPrivateMode(value.isPrivate)
            settings.usePrivateMode = value.isPrivate
            modeDidChange(value)
        }
}
+3 −3
Original line number Diff line number Diff line
@@ -29,9 +29,9 @@ import mozilla.components.support.ktx.android.content.isMainProcess
import mozilla.components.support.ktx.android.content.runOnlyInMainProcess
import mozilla.components.support.rusthttp.RustHttpConfig
import mozilla.components.support.rustlog.RustLog
import org.mozilla.fenix.GleanMetrics.ExperimentsMetrics
import org.mozilla.fenix.components.Components
import org.mozilla.fenix.utils.Settings
import org.mozilla.fenix.GleanMetrics.ExperimentsMetrics
import java.io.File

@SuppressLint("Registered")
@@ -241,12 +241,12 @@ open class FenixApplication : Application() {
                    AppCompatDelegate.setDefaultNightMode(
                        AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM
                    )
                    settings.setFollowDeviceTheme(true)
                    settings.shouldFollowDeviceTheme = true
                } else {
                    AppCompatDelegate.setDefaultNightMode(
                        AppCompatDelegate.MODE_NIGHT_NO
                    )
                    settings.setLightTheme(true)
                    settings.shouldUseLightTheme = true
                }
            }
        }
+6 −6
Original line number Diff line number Diff line
@@ -21,15 +21,15 @@ import mozilla.components.concept.sync.DeviceEvent
import mozilla.components.concept.sync.DeviceEventsObserver
import mozilla.components.concept.sync.DevicePushSubscription
import mozilla.components.concept.sync.DeviceType
import mozilla.components.service.fxa.DeviceConfig
import mozilla.components.service.fxa.ServerConfig
import mozilla.components.service.fxa.SyncConfig
import mozilla.components.concept.sync.OAuthAccount
import mozilla.components.feature.push.AutoPushFeature
import mozilla.components.feature.push.AutoPushSubscription
import mozilla.components.feature.push.PushConfig
import mozilla.components.feature.push.PushSubscriptionObserver
import mozilla.components.feature.push.PushType
import mozilla.components.service.fxa.DeviceConfig
import mozilla.components.service.fxa.ServerConfig
import mozilla.components.service.fxa.SyncConfig
import mozilla.components.service.fxa.manager.FxaAccountManager
import mozilla.components.service.fxa.sync.GlobalSyncableStoreProvider
import mozilla.components.support.base.log.logger.Logger
@@ -143,7 +143,7 @@ class BackgroundServices(

            context.components.analytics.metrics.track(Event.SyncAuthSignOut)

            Settings.instance?.setFxaSignedIn(false)
            Settings.instance?.fxaSignedIn = false
        }

        override fun onAuthenticated(account: OAuthAccount, newAccount: Boolean) {
@@ -156,7 +156,7 @@ class BackgroundServices(

            context.components.analytics.metrics.track(Event.SyncAuthSignIn)

            Settings.instance?.setFxaSignedIn(true)
            Settings.instance?.fxaSignedIn = true
        }
    }

@@ -178,7 +178,7 @@ class BackgroundServices(
        // See https://github.com/mozilla-mobile/android-components/issues/3732
        setOf("https://identity.mozilla.com/apps/oldsync")
    ).also {
        Settings.instance?.setFxaHasSyncedItems(syncConfig?.syncableStores?.isNotEmpty() ?: false)
        Settings.instance?.fxaHasSyncedItems = syncConfig?.syncableStores?.isNotEmpty() ?: false

        if (FeatureFlags.sendTabEnabled) {
            it.registerForDeviceEvents(deviceEventObserver, ProcessLifecycleOwner.get(), false)
+1 −1
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@ class OnboardingTrackingProtectionViewHolder(view: View) : RecyclerView.ViewHold
    }

    private fun updateTrackingProtectionSetting(enabled: Boolean) {
        Settings.getInstance(itemView.context).setTrackingProtection(enabled)
        Settings.getInstance(itemView.context).shouldUseTrackingProtection = enabled
        with(itemView.context.components) {
            val policy = core.createTrackingProtectionPolicy(enabled)
            useCases.settingsUseCases.updateTrackingProtection.invoke(policy)
+2 −2
Original line number Diff line number Diff line
@@ -25,7 +25,7 @@ class AccessibilityFragment : PreferenceFragmentCompat() {
                (newValue as? Int).let {
                    // Value is mapped from 0->30 in steps of 1 so let's convert to float in range 0.5->2.0
                    val newTextScale = ((newValue as Int * STEP_SIZE) + MIN_SCALE_VALUE).toFloat() / PERCENT_TO_DECIMAL
                    Settings.getInstance(context!!).setFontSizeFactor(newTextScale)
                    Settings.getInstance(context!!).fontSizeFactor = newTextScale
                    requireComponents.core.engine.settings.fontSizeFactor = newTextScale
                    requireComponents.useCases.sessionUseCases.reload.invoke()
                }
@@ -37,7 +37,7 @@ class AccessibilityFragment : PreferenceFragmentCompat() {
        val useAutoSizePreference =
            findPreference<SwitchPreference>(getString(R.string.pref_key_accessibility_auto_size))
        useAutoSizePreference?.setOnPreferenceChangeListener { _, newValue ->
            Settings.getInstance(context!!).setAutoSize(newValue as Boolean)
            Settings.getInstance(context!!).shouldUseAutoSize = newValue as Boolean
            requireComponents.core.engine.settings.automaticFontSizeAdjustment = newValue
            if (!newValue) {
                requireComponents.core.engine.settings.fontSizeFactor = Settings.getInstance(context!!).fontSizeFactor
Loading