From f4eedc368a2aa500a3aa81930f57e1f21f514d8b Mon Sep 17 00:00:00 2001 From: akliuxingyuan Date: Wed, 1 May 2024 22:19:50 +0800 Subject: [PATCH] Ability to disable QR scan search in urlbar --- .../java/org/mozilla/fenix/search/SearchDialogFragment.kt | 3 ++- .../mozilla/fenix/settings/search/SearchEngineFragment.kt | 6 ++++++ app/src/main/java/org/mozilla/fenix/utils/Settings.kt | 5 +++++ app/src/main/res/values-zh-rCN/strings.xml | 2 ++ app/src/main/res/values-zh-rTW/strings.xml | 2 ++ app/src/main/res/values/preference_keys.xml | 2 ++ app/src/main/res/values/strings.xml | 2 ++ app/src/main/res/xml/search_settings_preferences.xml | 5 +++++ 8 files changed, 26 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/mozilla/fenix/search/SearchDialogFragment.kt b/app/src/main/java/org/mozilla/fenix/search/SearchDialogFragment.kt index f2e593e3f..1d4657a2b 100644 --- a/app/src/main/java/org/mozilla/fenix/search/SearchDialogFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/search/SearchDialogFragment.kt @@ -850,7 +850,8 @@ class SearchDialogFragment : AppCompatDialogFragment(), UserInteractionHandler { private fun updateQrButton(searchFragmentState: SearchFragmentState) { val searchEngine = searchFragmentState.searchEngineSource.searchEngine when ( - searchEngine?.isGeneral == true || searchEngine?.type == SearchEngine.Type.CUSTOM + requireContext().settings().shouldShowQRScanSearch && + (searchEngine?.isGeneral == true || searchEngine?.type == SearchEngine.Type.CUSTOM) ) { true -> { if (qrButtonAction == null) { diff --git a/app/src/main/java/org/mozilla/fenix/settings/search/SearchEngineFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/search/SearchEngineFragment.kt index c9636c7e9..420425039 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/search/SearchEngineFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/search/SearchEngineFragment.kt @@ -103,6 +103,11 @@ class SearchEngineFragment : PreferenceFragmentCompat() { isChecked = context.settings().shouldShowVoiceSearch } + val showQRScanSearchPreference = + requirePreference(R.string.pref_key_show_qr_scan_search).apply { + isChecked = context.settings().shouldShowQRScanSearch + } + val showSponsoredSuggestionsPreference = requirePreference(R.string.pref_key_show_sponsored_suggestions).apply { isChecked = context.settings().showSponsoredSuggestions @@ -138,6 +143,7 @@ class SearchEngineFragment : PreferenceFragmentCompat() { return true } } + showQRScanSearchPreference.onPreferenceChangeListener = SharedPreferenceUpdater() autocompleteURLsPreference.onPreferenceChangeListener = SharedPreferenceUpdater() searchSuggestionsPreference.setOnPreferenceClickListener { diff --git a/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/app/src/main/java/org/mozilla/fenix/utils/Settings.kt index 08e165c75..a56800729 100644 --- a/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/app/src/main/java/org/mozilla/fenix/utils/Settings.kt @@ -1238,6 +1238,11 @@ class Settings(private val appContext: Context) : PreferencesHolder { default = true, ) + var shouldShowQRScanSearch by booleanPreference( + appContext.getPreferenceKey(R.string.pref_key_show_qr_scan_search), + default = true, + ) + /** * Used in [SearchDialogFragment.kt], [SearchFragment.kt] (deprecated), and [PairFragment.kt] * to see if we need to check for camera permissions before using the QR code scanner. diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 1c9c2563d..acf2a1bfa 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -2534,6 +2534,8 @@ 取消 搜索已打开的标签页 完成时的对话框 + 显示二维码扫描搜索 + %s,标题 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 340e3dd00..e329d1435 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -2480,6 +2480,8 @@ 取消 搜尋已開啟的標籤頁 完成時的對話方塊 + 顯示 QR 掃描搜尋 + 標題 %s diff --git a/app/src/main/res/values/preference_keys.xml b/app/src/main/res/values/preference_keys.xml index f5842dd37..b26013c5b 100644 --- a/app/src/main/res/values/preference_keys.xml +++ b/app/src/main/res/values/preference_keys.xml @@ -398,6 +398,8 @@ pref_key_search_opened_tabs pref_key_success_download_dialog + pref_key_show_qr_scan_search + pref_key_is_review_quality_check_enabled pref_key_is_review_quality_check_product_recommendations_enabled diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index bfa689ad2..d4908ab1f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -2361,6 +2361,8 @@ Cancel Search opened tabs Completion dialog box + Show QR scan search + %s, Heading diff --git a/app/src/main/res/xml/search_settings_preferences.xml b/app/src/main/res/xml/search_settings_preferences.xml index 3848ceaed..6a5ac2414 100644 --- a/app/src/main/res/xml/search_settings_preferences.xml +++ b/app/src/main/res/xml/search_settings_preferences.xml @@ -95,6 +95,11 @@ android:defaultValue="true" android:key="@string/pref_key_show_voice_search" android:title="@string/preferences_show_voice_search" /> +