Commit e0433f13 authored by clairehurst's avatar clairehurst 🌱 Committed by Pier Angelo Vendrame
Browse files

fixup! TB 40041 [android]: Implement Tor Network Settings

parent 4d7d2197
Loading
Loading
Loading
Loading
+8 −9
Changes for mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt: 8 added lines, 9 removed lines.
Original line number Diff line number Diff line
@@ -13,7 +13,6 @@ import android.os.Build
import android.os.Bundle
import android.os.Handler
import android.os.Looper
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.widget.Toast
@@ -65,18 +64,14 @@ import org.mozilla.fenix.ext.openSetDefaultBrowserOption
import org.mozilla.fenix.ext.requireComponents
import org.mozilla.fenix.ext.settings
import org.mozilla.fenix.ext.showToolbar
import org.mozilla.fenix.gecko.GeckoProvider
import org.mozilla.fenix.nimbus.FxNimbus
import org.mozilla.fenix.perf.ProfilerViewModel
import org.mozilla.fenix.settings.account.AccountUiView
import org.mozilla.fenix.snackbar.FenixSnackbarDelegate
import org.mozilla.fenix.snackbar.SnackbarBinding
import org.mozilla.fenix.tor.QuickStartPreference
import org.mozilla.fenix.tor.SecurityLevel
import org.mozilla.fenix.tor.TorBridgeTransportConfig
import org.mozilla.fenix.tor.TorEvents
import org.mozilla.fenix.tor.QuickstartViewModel
import org.mozilla.fenix.utils.Settings
import org.mozilla.geckoview.BuildConfig
import kotlin.system.exitProcess
import org.mozilla.fenix.GleanMetrics.Settings as SettingsMetrics

@@ -89,6 +84,8 @@ class SettingsFragment : PreferenceFragmentCompat() {
    private val profilerViewModel: ProfilerViewModel by activityViewModels()
    private val snackbarBinding = ViewBoundFeatureWrapper<SnackbarBinding>()

    private val quickstartViewModel: QuickstartViewModel by activityViewModels()

    @VisibleForTesting
    internal val accountObserver = object : AccountObserver {
        private fun updateAccountUi(profile: Profile? = null) {
@@ -788,10 +785,12 @@ class SettingsFragment : PreferenceFragmentCompat() {
            }
        }

        requirePreference<QuickStartPreference>(R.string.pref_key_quick_start).apply {
        requirePreference<SwitchPreference>(R.string.pref_key_quick_start).apply {
            isChecked = quickstartViewModel.quickstart().value == true
            setOnPreferenceClickListener {
                context.components.torController.quickstart = !context.components.torController.quickstart
                updateSwitch()
                quickstartViewModel.quickstartSet(
                    isChecked,
                )
                true
            }
        }
+0 −32
Changes for mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/QuickStartPreference.kt: 0 added lines, 32 removed lines.
Original line number Diff line number Diff line
package org.mozilla.fenix.tor

import android.content.Context
import android.util.AttributeSet
import androidx.preference.PreferenceViewHolder
import androidx.preference.SwitchPreference
import com.google.android.material.switchmaterial.SwitchMaterial
import org.mozilla.fenix.R
import org.mozilla.fenix.ext.components

class QuickStartPreference @JvmOverloads constructor(
    context: Context,
    attrs: AttributeSet? = null,
) : SwitchPreference(context, attrs) {

    private var switchView: SwitchMaterial? = null

    init {
        widgetLayoutResource = R.layout.preference_quick_start
    }

    override fun onBindViewHolder(holder: PreferenceViewHolder) {
        super.onBindViewHolder(holder)
        switchView = holder.findViewById(R.id.switch_widget) as SwitchMaterial

        updateSwitch()
    }

    fun updateSwitch() {
        switchView?.isChecked = context.components.torController.quickstart
    }
}
+1 −1
Changes for mobile/android/fenix/app/src/main/res/xml/preferences.xml: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -176,7 +176,7 @@
            android:title="@string/preferences_tor_network_settings_bridge_config"
            android:summary="@string/preferences_tor_network_settings_bridge_config_description" />

        <org.mozilla.fenix.tor.QuickStartPreference
        <SwitchPreference
            android:key="@string/pref_key_quick_start"
            android:summary="@string/connection_assist_always_connect_automatically_toggle_description"
            android:title="@string/tor_bootstrap_quick_start_label"