diff --git a/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt
index a42ae753e6..e4d504c12e 100644
--- a/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt
+++ b/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt
@@ -9,15 +9,14 @@ import android.content.Context
import android.content.Intent
import android.net.Uri
import android.os.Bundle
-import androidx.appcompat.content.res.AppCompatResources
import android.os.Handler
import android.widget.Toast
+import androidx.appcompat.content.res.AppCompatResources
import androidx.lifecycle.lifecycleScope
import androidx.navigation.NavDirections
import androidx.navigation.findNavController
import androidx.navigation.fragment.findNavController
import androidx.preference.Preference
-import androidx.preference.Preference.OnPreferenceClickListener
import androidx.preference.PreferenceCategory
import androidx.preference.PreferenceFragmentCompat
import androidx.recyclerview.widget.RecyclerView
@@ -36,12 +35,12 @@ import org.mozilla.fenix.R
import org.mozilla.fenix.components.metrics.Event
import org.mozilla.fenix.ext.application
import org.mozilla.fenix.ext.components
-import org.mozilla.fenix.ext.toRoundedDrawable
import org.mozilla.fenix.ext.getPreferenceKey
import org.mozilla.fenix.ext.metrics
import org.mozilla.fenix.ext.requireComponents
import org.mozilla.fenix.ext.settings
import org.mozilla.fenix.ext.showToolbar
+import org.mozilla.fenix.ext.toRoundedDrawable
import org.mozilla.fenix.settings.account.AccountAuthErrorPreference
import org.mozilla.fenix.settings.account.AccountPreference
import kotlin.system.exitProcess
@@ -182,6 +181,9 @@ class SettingsFragment : PreferenceFragmentCompat() {
recyclerView.isVerticalScrollBarEnabled = false
val directions: NavDirections? = when (preference.key) {
+ resources.getString(R.string.pref_key_sign_in) -> {
+ SettingsFragmentDirections.actionSettingsFragmentToTurnOnSyncFragment()
+ }
resources.getString(R.string.pref_key_search_settings) -> {
SettingsFragmentDirections.actionSettingsFragmentToSearchEngineFragment()
}
@@ -280,13 +282,6 @@ class SettingsFragment : PreferenceFragmentCompat() {
return super.onPreferenceTreeClick(preference)
}
- private fun getClickListenerForSignIn(): OnPreferenceClickListener {
- return OnPreferenceClickListener {
- context!!.components.services.launchPairingSignIn(context!!, findNavController())
- true
- }
- }
-
private fun setupPreferences() {
val leakKey = getPreferenceKey(R.string.pref_key_leakcanary)
val debuggingKey = getPreferenceKey(R.string.pref_key_remote_debugging)
@@ -409,7 +404,6 @@ class SettingsFragment : PreferenceFragmentCompat() {
// Signed-out.
} else {
preferenceSignIn?.isVisible = true
- preferenceSignIn?.onPreferenceClickListener = getClickListenerForSignIn()
preferenceFirefoxAccount?.isVisible = false
preferenceFirefoxAccountAuthError?.isVisible = false
accountPreferenceCategory?.isVisible = false
diff --git a/app/src/main/res/navigation/nav_graph.xml b/app/src/main/res/navigation/nav_graph.xml
index 92f33aabb1..7691cfb3b5 100644
--- a/app/src/main/res/navigation/nav_graph.xml
+++ b/app/src/main/res/navigation/nav_graph.xml
@@ -362,18 +362,38 @@
android:label="@string/preferences_passwords_logins_and_passwords">
@@ -516,10 +536,18 @@
android:label="@string/preferences_site_permissions">
@@ -597,9 +625,17 @@
android:name="org.mozilla.fenix.settings.TrackingProtectionFragment">
+ app:popUpToInclusive="true"/>