diff --git a/app/src/main/java/org/mozilla/fenix/settings/DefaultBrowserPreference.kt b/app/src/main/java/org/mozilla/fenix/settings/DefaultBrowserPreference.kt
new file mode 100644
index 000000000..0bb9fdc4d
--- /dev/null
+++ b/app/src/main/java/org/mozilla/fenix/settings/DefaultBrowserPreference.kt
@@ -0,0 +1,42 @@
+/* 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.content.Context
+import android.util.AttributeSet
+import android.widget.Switch
+import androidx.preference.Preference
+import androidx.preference.PreferenceViewHolder
+import mozilla.components.support.utils.Browsers
+import org.mozilla.fenix.R
+
+class DefaultBrowserPreference : Preference {
+
+ private var switchView: Switch? = null
+
+ constructor(context: Context) : super(context)
+ constructor(context: Context, attrs: AttributeSet?) : super(context, attrs)
+ constructor(context: Context, attrs: AttributeSet?, attributeSetId: Int) : super(
+ context,
+ attrs,
+ attributeSetId
+ )
+
+ init {
+ widgetLayoutResource = R.layout.preference_default_browser
+ }
+
+ override fun onBindViewHolder(holder: PreferenceViewHolder) {
+ super.onBindViewHolder(holder)
+ switchView = holder.findViewById(R.id.switch_widget) as Switch
+
+ updateSwitch()
+ }
+
+ private fun updateSwitch() {
+ val browsers = Browsers.all(context)
+ switchView?.isChecked = browsers.isDefaultBrowser
+ }
+}
diff --git a/app/src/main/res/layout/preference_default_browser.xml b/app/src/main/res/layout/preference_default_browser.xml
new file mode 100644
index 000000000..23d504dcd
--- /dev/null
+++ b/app/src/main/res/layout/preference_default_browser.xml
@@ -0,0 +1,13 @@
+
+
+
+
diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml
index 5331e9bf9..ccd6b0abb 100644
--- a/app/src/main/res/xml/preferences.xml
+++ b/app/src/main/res/xml/preferences.xml
@@ -40,7 +40,7 @@
android:key="@string/pref_key_credit_cards_addresses"
android:title="@string/preferences_credit_cards_addresses" />
-