From 535e0206831658994cd638b64a5e9f2b5b163598 Mon Sep 17 00:00:00 2001 From: Sawyer Blatz Date: Mon, 18 May 2020 13:37:46 -0700 Subject: [PATCH] For #1216: Put voice search behind a nightly & debug flag --- app/src/main/java/org/mozilla/fenix/FeatureFlags.kt | 5 +++++ app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt | 5 +++-- .../mozilla/fenix/settings/search/SearchEngineFragment.kt | 2 ++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt b/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt index e02473ace..d539cdecd 100644 --- a/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt +++ b/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt @@ -48,4 +48,9 @@ object FeatureFlags { * Enables new tab tray pref */ val tabTray = Config.channel.isNightlyOrDebug + + /** + * Enables new voice search feature + */ + val voiceSearch = Config.channel.isNightlyOrDebug } diff --git a/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt b/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt index 20be7dfca..6cabe0f26 100644 --- a/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt @@ -43,6 +43,7 @@ import mozilla.components.ui.autocomplete.InlineAutocompleteEditText import org.mozilla.fenix.BrowserDirection import org.mozilla.fenix.HomeActivity import org.mozilla.fenix.R +import org.mozilla.fenix.FeatureFlags import org.mozilla.fenix.components.StoreProvider import org.mozilla.fenix.components.metrics.Event import org.mozilla.fenix.ext.components @@ -138,7 +139,7 @@ class SearchFragment : Fragment(), UserInteractionHandler { BrowserToolbar.Button( ContextCompat.getDrawable(requireContext(), R.drawable.ic_microphone)!!, requireContext().getString(R.string.voice_search_content_description), - visible = { requireContext().settings().shouldShowVoiceSearch }, + visible = { requireContext().settings().shouldShowVoiceSearch && FeatureFlags.voiceSearch }, listener = ::launchVoiceSearch ) ) @@ -311,7 +312,7 @@ class SearchFragment : Fragment(), UserInteractionHandler { } override fun onActivityResult(requestCode: Int, resultCode: Int, intent: Intent?) { - if (requestCode == 0 && resultCode == RESULT_OK) { + if (requestCode == SPEECH_REQUEST_CODE && resultCode == RESULT_OK) { intent?.getStringArrayListExtra(EXTRA_RESULTS)?.first()?.also { toolbarView.view.edit.updateUrl(url = it, shouldHighlight = true) searchInteractor.onTextChanged(it) 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 3b2b7ebfa..ad0dcf090 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 @@ -10,6 +10,7 @@ import androidx.preference.CheckBoxPreference import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat import androidx.preference.SwitchPreference +import org.mozilla.fenix.FeatureFlags import org.mozilla.fenix.R import org.mozilla.fenix.ext.getPreferenceKey import org.mozilla.fenix.ext.settings @@ -62,6 +63,7 @@ class SearchEngineFragment : PreferenceFragmentCompat() { val showVoiceSearchPreference = findPreference(getPreferenceKey(R.string.pref_key_show_voice_search))?.apply { + isVisible = FeatureFlags.voiceSearch isChecked = context.settings().shouldShowVoiceSearch }