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" /> -