From: csagan5 <32685696+csagan5@users.noreply.github.com> Date: Sun, 19 Jun 2022 12:57:56 +0200 Subject: Remove voice recognition integration License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- .../start_surface/StartSurfaceMediator.java | 22 +----- .../browser/metrics/UmaSessionStats.java | 19 ----- .../chrome/browser/ntp/NewTabPage.java | 38 +--------- .../browser/ntp/search/SearchBoxMediator.java | 1 - .../browser/searchwidget/SearchActivity.java | 6 +- .../SearchActivityLocationBarLayout.java | 44 +----------- .../browser/toolbar/ToolbarManager.java | 5 -- .../chrome/browser/ui/RootUiCoordinator.java | 23 +----- chrome/browser/ui/android/omnibox/BUILD.gn | 1 - .../chrome/browser/omnibox/LocationBar.java | 6 -- .../omnibox/LocationBarCoordinator.java | 13 ---- .../browser/omnibox/LocationBarMediator.java | 70 ++----------------- .../chrome/browser/omnibox/OmniboxStub.java | 9 --- .../suggestions/AutocompleteController.java | 25 ------- .../suggestions/AutocompleteCoordinator.java | 8 --- .../suggestions/AutocompleteMediator.java | 9 --- 16 files changed, 10 insertions(+), 289 deletions(-) diff --git a/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java b/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java --- a/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java +++ b/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java @@ -73,7 +73,6 @@ import org.chromium.chrome.browser.ntp.NewTabPageLaunchOrigin; import org.chromium.chrome.browser.omnibox.OmniboxFocusReason; import org.chromium.chrome.browser.omnibox.OmniboxStub; import org.chromium.chrome.browser.omnibox.UrlFocusChangeListener; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; import org.chromium.chrome.browser.preferences.ChromePreferenceKeys; import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.profiles.Profile; @@ -503,8 +502,7 @@ class StartSurfaceMediator // Initialize. // Note that isVoiceSearchEnabled will return false in incognito mode. mPropertyModel.set( - IS_VOICE_RECOGNITION_BUTTON_VISIBLE, - mOmniboxStub.getVoiceRecognitionHandler().isVoiceSearchEnabled()); + IS_VOICE_RECOGNITION_BUTTON_VISIBLE, false); updateLensVisibility(); // This is for Instant Start when overview is already visible while the omnibox, Feed @@ -546,17 +544,6 @@ class StartSurfaceMediator mPropertyModel.set( VOICE_SEARCH_BUTTON_CLICK_LISTENER, v -> { - FeedReliabilityLogger feedReliabilityLogger = - getFeedReliabilityLogger(); - if (feedReliabilityLogger != null) { - feedReliabilityLogger.onVoiceSearch(); - } - mOmniboxStub - .getVoiceRecognitionHandler() - .startVoiceRecognition( - VoiceRecognitionHandler.VoiceInteractionSource - .TASKS_SURFACE); - RecordUserAction.record("TasksSurface.FakeBox.VoiceSearch"); }); mPropertyModel.set( @@ -1066,13 +1053,6 @@ class StartSurfaceMediator ThreadUtils.postOnUiThread( () -> { if (mOmniboxStub != null) { - if (mOmniboxStub.getVoiceRecognitionHandler() != null) { - mPropertyModel.set( - IS_VOICE_RECOGNITION_BUTTON_VISIBLE, - mOmniboxStub - .getVoiceRecognitionHandler() - .isVoiceSearchEnabled()); - } mPropertyModel.set( IS_LENS_BUTTON_VISIBLE, mOmniboxStub.isLensEnabled(LensEntryPoint.TASKS_SURFACE)); diff --git a/chrome/android/java/src/org/chromium/chrome/browser/metrics/UmaSessionStats.java b/chrome/android/java/src/org/chromium/chrome/browser/metrics/UmaSessionStats.java --- a/chrome/android/java/src/org/chromium/chrome/browser/metrics/UmaSessionStats.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/metrics/UmaSessionStats.java @@ -17,7 +17,6 @@ import org.chromium.base.ApplicationStatus; import org.chromium.base.Log; import org.chromium.base.metrics.RecordHistogram; import org.chromium.chrome.browser.DefaultBrowserInfo; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler.AudioPermissionState; import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImpl; import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tabmodel.TabModel; @@ -131,24 +130,6 @@ public class UmaSessionStats { updatePreferences(); updateMetricsServiceState(); DefaultBrowserInfo.logDefaultBrowserStats(); - if (permissionDelegate != null) { - recordAudioPermissionState(permissionDelegate); - } - } - - private void recordAudioPermissionState(AndroidPermissionDelegate permissionDelegate) { - @AudioPermissionState int permissionState; - if (permissionDelegate.hasPermission(Manifest.permission.RECORD_AUDIO)) { - permissionState = AudioPermissionState.GRANTED; - } else if (permissionDelegate.canRequestPermission(Manifest.permission.RECORD_AUDIO)) { - permissionState = AudioPermissionState.DENIED_CAN_ASK_AGAIN; - } else { - permissionState = AudioPermissionState.DENIED_CANNOT_ASK_AGAIN; - } - RecordHistogram.recordEnumeratedHistogram( - "VoiceInteraction.AudioPermissionEvent.SessionStart", - permissionState, - AudioPermissionState.NUM_ENTRIES); } private static void ensureNativeInitialized() { diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java @@ -62,7 +62,6 @@ import org.chromium.chrome.browser.magic_stack.ModuleRegistry; import org.chromium.chrome.browser.native_page.ContextMenuManager; import org.chromium.chrome.browser.omnibox.OmniboxFocusReason; import org.chromium.chrome.browser.omnibox.OmniboxStub; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImpl; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory; @@ -123,7 +122,6 @@ public class NewTabPage TemplateUrlServiceObserver, BrowserControlsStateProvider.Observer, FeedSurfaceDelegate, - VoiceRecognitionHandler.Observer, ModuleDelegateHost { private static final String TAG = "NewTabPage"; @@ -153,7 +151,6 @@ public class NewTabPage protected boolean mSearchProviderHasLogo; protected OmniboxStub mOmniboxStub; - private VoiceRecognitionHandler mVoiceRecognitionHandler; // The timestamp at which the constructor was called. protected final long mConstructedTimeNs; @@ -256,8 +253,7 @@ public class NewTabPage @Override public boolean isVoiceSearchEnabled() { - return mVoiceRecognitionHandler != null - && mVoiceRecognitionHandler.isVoiceSearchEnabled(); + return false; } @Override @@ -265,24 +261,6 @@ public class NewTabPage if (mIsDestroyed) return; FeedReliabilityLogger feedReliabilityLogger = mFeedSurfaceProvider.getReliabilityLogger(); - if (mVoiceRecognitionHandler != null && beginVoiceSearch) { - if (feedReliabilityLogger != null) { - feedReliabilityLogger.onVoiceSearch(); - } - mVoiceRecognitionHandler.startVoiceRecognition( - VoiceRecognitionHandler.VoiceInteractionSource.NTP); - mTracker.notifyEvent(EventConstants.NTP_VOICE_SEARCH_BUTTON_CLICKED); - } else if (mOmniboxStub != null) { - if (feedReliabilityLogger != null) { - feedReliabilityLogger.onOmniboxFocused(); - } - mOmniboxStub.setUrlBarFocus( - true, - pastedText, - pastedText == null - ? OmniboxFocusReason.FAKE_BOX_TAP - : OmniboxFocusReason.FAKE_BOX_LONG_PRESS); - } } @Override @@ -864,12 +842,6 @@ public class NewTabPage mOmniboxStub.addUrlFocusChangeListener(feedReliabilityLogger); } } - - mVoiceRecognitionHandler = mOmniboxStub.getVoiceRecognitionHandler(); - if (mVoiceRecognitionHandler != null) { - mVoiceRecognitionHandler.addObserver(this); - mNewTabPageLayout.updateActionButtonVisibility(); - } } @Override @@ -880,11 +852,6 @@ public class NewTabPage } } - @Override - public void onVoiceAvailabilityImpacted() { - mNewTabPageLayout.updateActionButtonVisibility(); - } - /** Adds an observer to be notified on most visited tile clicks. */ public void addMostVisitedTileClickObserver(MostVisitedTileClickObserver observer) { mMostVisitedTileClickObservers.addObserver(observer); @@ -996,9 +963,6 @@ public class NewTabPage } mFeedSurfaceProvider.destroy(); mTab.getWindowAndroid().removeContextMenuCloseListener(mContextMenuManager); - if (mVoiceRecognitionHandler != null) { - mVoiceRecognitionHandler.removeObserver(this); - } if (mSearchResumptionModuleCoordinator != null) { mSearchResumptionModuleCoordinator.destroy(); } diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java @@ -90,7 +90,6 @@ class SearchBoxMediator implements DestroyObserver, NativeInitObserver { mContext, R.color.default_icon_color_on_accent1_container_tint_list) : ThemeUtils.getThemedToolbarIconTint( mContext, BrandedColorScheme.APP_DEFAULT); - mModel.set(SearchBoxProperties.VOICE_SEARCH_COLOR_STATE_LIST, colorStateList); } /** Called to set a click listener for the search box. */ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java @@ -50,7 +50,6 @@ import org.chromium.chrome.browser.omnibox.OmniboxFeatures; import org.chromium.chrome.browser.omnibox.UrlFocusChangeListener; import org.chromium.chrome.browser.omnibox.suggestions.OmniboxLoadUrlParams; import org.chromium.chrome.browser.omnibox.suggestions.action.OmniboxActionDelegateImpl; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer; import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher; import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImpl; @@ -468,9 +467,7 @@ public class SearchActivity extends AsyncInitializationActivity // will navigate to Tabbed mode. Investigate whether this can inflate // the tabbed mode layout in the background instead of CCTs. CustomTabsConnection.getInstance().warmup(0); - VoiceRecognitionHandler voiceRecognitionHandler = - mLocationBarCoordinator.getVoiceRecognitionHandler(); - mSearchBox.onDeferredStartup(mSearchType, voiceRecognitionHandler, getWindowAndroid()); + mSearchBox.onDeferredStartup(mSearchType, getWindowAndroid()); getActivityDelegate().onFinishDeferredInitialization(); } @@ -540,7 +537,6 @@ public class SearchActivity extends AsyncInitializationActivity mIntentOrigin, mSearchType, SearchActivityUtils.getIntentQuery(getIntent()), - mLocationBarCoordinator.getVoiceRecognitionHandler(), getWindowAndroid()); } diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivityLocationBarLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivityLocationBarLayout.java --- a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivityLocationBarLayout.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivityLocationBarLayout.java @@ -27,7 +27,6 @@ import org.chromium.chrome.browser.omnibox.UrlBarCoordinator.SelectionState; import org.chromium.chrome.browser.omnibox.UrlBarData; import org.chromium.chrome.browser.omnibox.status.StatusCoordinator; import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteCoordinator; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; import org.chromium.chrome.browser.toolbar.top.ToolbarPhone; import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityClient.IntentOrigin; import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityClient.SearchType; @@ -88,7 +87,6 @@ public class SearchActivityLocationBarLayout extends LocationBarLayout { /** Called when the SearchActivity has finished initialization. */ void onDeferredStartup( @SearchType int searchType, - @NonNull VoiceRecognitionHandler voiceRecognitionHandler, @NonNull WindowAndroid windowAndroid) { SearchActivityPreferencesManager.updateFeatureAvailability(getContext(), windowAndroid); assert !LocaleManager.getInstance().needToCheckForSearchEnginePromo(); @@ -99,7 +97,7 @@ public class SearchActivityLocationBarLayout extends LocationBarLayout { mAutocompleteCoordinator.onTextChanged(mUrlCoordinator.getTextWithoutAutocomplete()); if (mPendingBeginQuery) { - beginQueryInternal(searchType, voiceRecognitionHandler, windowAndroid); + beginQueryInternal(searchType, windowAndroid); mPendingBeginQuery = false; } } @@ -110,7 +108,6 @@ public class SearchActivityLocationBarLayout extends LocationBarLayout { * @param origin The SearchActivity requestor. * @param searchType The type of search to invoke. * @param optionalText Prepopulate with a query, this may be null. - * @param voiceRecognitionHandler Handler responsible for managing voice searches. * @param windowAndroid WindowAndroid context. */ @VisibleForTesting @@ -118,7 +115,6 @@ public class SearchActivityLocationBarLayout extends LocationBarLayout { @IntentOrigin int origin, @SearchType int searchType, @Nullable String optionalText, - @NonNull VoiceRecognitionHandler voiceRecognitionHandler, @NonNull WindowAndroid windowAndroid) { if (origin == IntentOrigin.CUSTOM_TAB) { @@ -139,12 +135,11 @@ public class SearchActivityLocationBarLayout extends LocationBarLayout { return; } - beginQueryInternal(searchType, voiceRecognitionHandler, windowAndroid); + beginQueryInternal(searchType, windowAndroid); } private void beginQueryInternal( @SearchType int searchType, - @NonNull VoiceRecognitionHandler voiceRecognitionHandler, @NonNull WindowAndroid windowAndroid) { assert !mPendingSearchPromoDecision; @@ -154,7 +149,6 @@ public class SearchActivityLocationBarLayout extends LocationBarLayout { } if (searchType == SearchType.VOICE) { - runVoiceSearch(voiceRecognitionHandler); } else if (searchType == SearchType.LENS) { runGoogleLens(windowAndroid); } else { @@ -162,35 +156,6 @@ public class SearchActivityLocationBarLayout extends LocationBarLayout { } } - /** - * Begins a new Voice query. - * - * @param voiceRecognitionHandler Handler responsible for managing voice searches. - */ - @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE) - void runVoiceSearch(@NonNull VoiceRecognitionHandler voiceRecognitionHandler) { - assert mNativeInitialized; - // Run Voice before focusing the Omnibox. Voice search may trigger omnibox focus as part of - // its own flow in the event where the input is ambiguous. Focusing the Omnibox early may - // affect this flow. - // - // Note that the Voice search will call us back in the event of any failure via - // notifyVoiceRecognitionCanceled() call, giving us the opportunity to focus the Omnibox. - if (voiceRecognitionHandler.isVoiceSearchEnabled()) { - voiceRecognitionHandler.startVoiceRecognition( - VoiceRecognitionHandler.VoiceInteractionSource.SEARCH_WIDGET); - return; - } - - // Voice recognition is not available. Fall back to regular text search. - Toast.makeText( - getContext(), - R.string.quick_action_search_widget_message_no_voice_search, - Toast.LENGTH_LONG) - .show(); - focusTextBox(); - } - /** * Begins a new Lens query. * @@ -245,9 +210,4 @@ public class SearchActivityLocationBarLayout extends LocationBarLayout { mUrlCoordinator.setKeyboardVisibility(true, false); }); } - - @Override - public void notifyVoiceRecognitionCanceled() { - focusTextBox(); - } } diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java --- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java @@ -93,7 +93,6 @@ import org.chromium.chrome.browser.omnibox.OmniboxStub; import org.chromium.chrome.browser.omnibox.OverrideUrlLoadingDelegate; import org.chromium.chrome.browser.omnibox.UrlFocusChangeListener; import org.chromium.chrome.browser.omnibox.suggestions.OmniboxSuggestionsDropdownScrollListener; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; import org.chromium.chrome.browser.page_info.ChromePageInfo; import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations; import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; @@ -2551,10 +2550,6 @@ public class ToolbarManager return mLocationBar.getOmniboxStub(); } - public @Nullable VoiceRecognitionHandler getVoiceRecognitionHandler() { - return mLocationBar.getVoiceRecognitionHandler(); - } - /** Returns the app menu coordinator. */ public @Nullable MenuButtonCoordinator getOverviewModeMenuButtonCoordinator() { return mOverviewModeMenuButtonCoordinator; diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java @@ -93,8 +93,6 @@ import org.chromium.chrome.browser.messages.MessagesResourceMapperInitializer; import org.chromium.chrome.browser.omnibox.OmniboxFocusReason; import org.chromium.chrome.browser.omnibox.geo.GeolocationHeader; import org.chromium.chrome.browser.omnibox.suggestions.action.OmniboxActionDelegateImpl; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler.VoiceInteractionSource; import org.chromium.chrome.browser.paint_preview.DemoPaintPreview; import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer; import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher; @@ -295,7 +293,6 @@ public class RootUiCoordinator protected OneshotSupplier mIntentMetadataOneshotSupplier; protected OneshotSupplierImpl mPromoShownOneshotSupplier = new OneshotSupplierImpl<>(); protected Supplier mStartSurfaceParentTabSupplier; - @Nullable private VoiceRecognitionHandler.Observer mMicStateObserver; private MediaCaptureOverlayController mCaptureController; private @Nullable ScrollCaptureManager mScrollCaptureManager; protected final ActivityLifecycleDispatcher mActivityLifecycleDispatcher; @@ -670,9 +667,6 @@ public class RootUiCoordinator } if (mToolbarManager != null) { - if (mMicStateObserver != null && mToolbarManager.getVoiceRecognitionHandler() != null) { - mToolbarManager.getVoiceRecognitionHandler().removeObserver(mMicStateObserver); - } mToolbarManager.destroy(); mToolbarManager = null; } @@ -1323,19 +1317,11 @@ public class RootUiCoordinator new VoiceToolbarButtonController.VoiceSearchDelegate() { @Override public boolean isVoiceSearchEnabled() { - VoiceRecognitionHandler voiceRecognitionHandler = - mToolbarManager.getVoiceRecognitionHandler(); - if (voiceRecognitionHandler == null) return false; - return voiceRecognitionHandler.isVoiceSearchEnabled(); + return false; } @Override public void startVoiceRecognition() { - VoiceRecognitionHandler voiceRecognitionHandler = - mToolbarManager.getVoiceRecognitionHandler(); - if (voiceRecognitionHandler == null) return; - voiceRecognitionHandler.startVoiceRecognition( - VoiceInteractionSource.TOOLBAR); } }; TranslateToolbarButtonController translateToolbarButtonController = @@ -1499,13 +1485,6 @@ public class RootUiCoordinator if (!mSupportsAppMenuSupplier.getAsBoolean()) { mToolbarManager.getToolbar().disableMenuButton(); } - - VoiceRecognitionHandler voiceRecognitionHandler = - mToolbarManager.getVoiceRecognitionHandler(); - if (voiceRecognitionHandler != null) { - mMicStateObserver = voiceToolbarButtonController::updateMicButtonState; - voiceRecognitionHandler.addObserver(mMicStateObserver); - } mToolbarManagerOneshotSupplier.set(mToolbarManager); } } diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/android/omnibox/BUILD.gn --- a/chrome/browser/ui/android/omnibox/BUILD.gn +++ b/chrome/browser/ui/android/omnibox/BUILD.gn @@ -142,7 +142,6 @@ android_library("java") { "java/src/org/chromium/chrome/browser/omnibox/suggestions/tail/TailSuggestionView.java", "java/src/org/chromium/chrome/browser/omnibox/suggestions/tail/TailSuggestionViewBinder.java", "java/src/org/chromium/chrome/browser/omnibox/suggestions/tail/TailSuggestionViewProperties.java", - "java/src/org/chromium/chrome/browser/omnibox/voice/VoiceRecognitionHandler.java", ] public_deps = [ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBar.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBar.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBar.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBar.java @@ -10,7 +10,6 @@ import android.view.ViewGroup; import androidx.annotation.Nullable; import org.chromium.chrome.browser.omnibox.suggestions.OmniboxSuggestionsDropdownScrollListener; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; import org.chromium.chrome.browser.tab.Tab; /** Container that holds the {@link UrlBar} and SSL state related with the current {@link Tab}. */ @@ -82,11 +81,6 @@ public interface LocationBar { */ View getSecurityIconView(); - /** Returns the {@link VoiceRecognitionHandler} associated with this LocationBar. */ - default @Nullable VoiceRecognitionHandler getVoiceRecognitionHandler() { - return null; - } - /** * Returns a (@link OmniboxStub}. * diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java @@ -39,7 +39,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteDelegate; import org.chromium.chrome.browser.omnibox.suggestions.OmniboxLoadUrlParams; import org.chromium.chrome.browser.omnibox.suggestions.OmniboxSuggestionsDropdownScrollListener; import org.chromium.chrome.browser.omnibox.suggestions.basic.BasicSuggestionProcessor.BookmarkState; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManager; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory; @@ -457,13 +456,6 @@ public class LocationBarCoordinator return mLocationBarLayout.getSecurityIconView(); } - /** Returns the {@link VoiceRecognitionHandler} associated with this LocationBar. */ - @Nullable - @Override - public VoiceRecognitionHandler getVoiceRecognitionHandler() { - return mLocationBarMediator.getVoiceRecognitionHandler(); - } - @Nullable @Override public OmniboxStub getOmniboxStub() { @@ -759,11 +751,6 @@ public class LocationBarCoordinator // End tablet-specific methods. - public void setVoiceRecognitionHandlerForTesting( - VoiceRecognitionHandler voiceRecognitionHandler) { - mLocationBarMediator.setVoiceRecognitionHandlerForTesting(voiceRecognitionHandler); - } - public void onUrlChangedForTesting() { mLocationBarMediator.onUrlChanged(); } diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java @@ -52,7 +52,6 @@ import org.chromium.chrome.browser.omnibox.status.StatusCoordinator; import org.chromium.chrome.browser.omnibox.styles.OmniboxResourceProvider; import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteCoordinator; import org.chromium.chrome.browser.omnibox.suggestions.OmniboxLoadUrlParams; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; import org.chromium.chrome.browser.prefetch.settings.PreloadPagesSettingsBridge; import org.chromium.chrome.browser.prefetch.settings.PreloadPagesState; import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManager; @@ -91,8 +90,6 @@ import java.util.function.BooleanSupplier; class LocationBarMediator implements LocationBarDataProvider.Observer, OmniboxStub, - VoiceRecognitionHandler.Delegate, - VoiceRecognitionHandler.Observer, UrlBarDelegate, OnKeyListener, ComponentCallbacks, @@ -156,7 +153,6 @@ class LocationBarMediator }; private final LocationBarLayout mLocationBarLayout; - private VoiceRecognitionHandler mVoiceRecognitionHandler; private final LocationBarDataProvider mLocationBarDataProvider; private final LocationBarEmbedderUiOverrides mEmbedderUiOverrides; private StatusCoordinator mStatusCoordinator; @@ -233,8 +229,6 @@ class LocationBarMediator mEmbedderUiOverrides = embedderUiOverrides; mOverrideUrlLoadingDelegate = overrideUrlLoadingDelegate; mLocaleManager = localeManager; - mVoiceRecognitionHandler = new VoiceRecognitionHandler(this, profileSupplier); - mVoiceRecognitionHandler.addObserver(this); mProfileSupplier = profileSupplier; mProfileSupplier.addObserver(mCallbackController.makeCancelable(this::setProfile)); mPrivacyPreferencesManager = privacyPreferencesManager; @@ -279,8 +273,6 @@ class LocationBarMediator mAutocompleteCoordinator = null; mUrlCoordinator = null; mPrivacyPreferencesManager = null; - mVoiceRecognitionHandler.removeObserver(this); - mVoiceRecognitionHandler = null; mLocationBarDataProvider.removeObserver(this); mDeferredNativeRunnables.clear(); mUrlFocusChangeListeners.clear(); @@ -409,11 +401,6 @@ class LocationBarMediator mLocationBarLayout.setUnfocusedWidth(unfocusedWidth); } - /* package */ void setVoiceRecognitionHandlerForTesting( - VoiceRecognitionHandler voiceRecognitionHandler) { - mVoiceRecognitionHandler = voiceRecognitionHandler; - } - /* package */ void setLensControllerForTesting(LensController lensController) { mLensController = lensController; } @@ -661,8 +648,6 @@ class LocationBarMediator mUrlCoordinator.setKeyboardVisibility(false, false); RecordUserAction.record("MobileOmniboxVoiceSearch"); - mVoiceRecognitionHandler.startVoiceRecognition( - VoiceRecognitionHandler.VoiceInteractionSource.OMNIBOX); } /** package */ @@ -1131,10 +1116,7 @@ class LocationBarMediator private boolean shouldShowMicButton() { if (shouldShowDeleteButton()) return false; - if (!mNativeInitialized - || mVoiceRecognitionHandler == null - || !mVoiceRecognitionHandler.isVoiceSearchEnabled() - || !mEmbedderUiOverrides.isVoiceEntrypointAllowed()) { + if ((true)) { return false; } boolean isToolbarMicEnabled = mIsToolbarMicEnabledSupplier.getAsBoolean(); @@ -1151,6 +1133,7 @@ class LocationBarMediator } private boolean shouldShowLensButton() { + if ((true)) return false; if (shouldShowDeleteButton()) return false; // When this method is called on UI inflation, return false as the native is not ready. @@ -1161,7 +1144,6 @@ class LocationBarMediator // Never show Lens in the old search widget page context. // This widget must guarantee consistent feature set regardless of search engine choice or // other aspects that may not be met by Lens. - LocationBarDataProvider dataProvider = getLocationBarDataProvider(); if (!mEmbedderUiOverrides.isLensEntrypointAllowed()) { return false; } @@ -1370,16 +1352,6 @@ class LocationBarMediator } } - @Override - public @Nullable VoiceRecognitionHandler getVoiceRecognitionHandler() { - // TODO(crbug.com/40153763): StartSurfaceMediator can call this method after destroy(). - if (mLocationBarLayout == null) { - return null; - } - - return mVoiceRecognitionHandler; - } - @Override public void addUrlFocusChangeListener(UrlFocusChangeListener listener) { mUrlFocusChangeListeners.addObserver(listener); @@ -1395,33 +1367,13 @@ class LocationBarMediator return mUrlHasFocus; } - @Override + // @Override public void clearOmniboxFocus() { setUrlBarFocus( /* shouldBeFocused= */ false, /* pastedText= */ null, OmniboxFocusReason.UNFOCUS); } - @Override - public void notifyVoiceRecognitionCanceled() { - mLocationBarLayout.notifyVoiceRecognitionCanceled(); - } - - // VoiceRecognitionHandler.Delegate implementation. - - @Override - public void loadUrlFromVoice(String url) { - loadUrl( - new OmniboxLoadUrlParams.Builder(url, PageTransition.TYPED) - .setOpenInNewTab(false) - .build()); - } - - @Override - public void onVoiceAvailabilityImpacted() { - updateButtonVisibility(); - } - - @Override + // @Override public void setSearchQuery(String query) { if (TextUtils.isEmpty(query)) return; @@ -1444,20 +1396,6 @@ class LocationBarMediator mUrlCoordinator.setKeyboardVisibility(true, false); } - @Override - public LocationBarDataProvider getLocationBarDataProvider() { - return mLocationBarDataProvider; - } - - @Override - public AutocompleteCoordinator getAutocompleteCoordinator() { - return mAutocompleteCoordinator; - } - - @Override - public WindowAndroid getWindowAndroid() { - return mWindowAndroid; - } // UrlBarDelegate implementation. diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/OmniboxStub.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/OmniboxStub.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/OmniboxStub.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/OmniboxStub.java @@ -7,7 +7,6 @@ package org.chromium.chrome.browser.omnibox; import androidx.annotation.Nullable; import org.chromium.chrome.browser.lens.LensEntryPoint; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; import java.util.List; @@ -42,14 +41,6 @@ public interface OmniboxStub { */ boolean isUrlBarFocused(); - /** - * Get the {@link VoiceRecognitionHandler}. - * - * @return the {@link VoiceRecognitionHandler} - */ - @Nullable - VoiceRecognitionHandler getVoiceRecognitionHandler(); - /** * Adds a URL focus change listener that will be notified when the URL gains or loses focus. * diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteController.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteController.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteController.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteController.java @@ -14,7 +14,6 @@ import org.jni_zero.JniType; import org.jni_zero.NativeMethods; import org.chromium.chrome.browser.omnibox.OmniboxMetrics; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler.VoiceResult; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.tab.Tab; import org.chromium.components.omnibox.AutocompleteMatch; @@ -337,25 +336,6 @@ public class AutocompleteController { mNativeController, match.getNativeObjectRef(), matchIndex, webContents); } - /** - * Pass the voice provider a list representing the results of a voice recognition. - * - * @param results A list containing the results of a voice recognition. - */ - void onVoiceResults(@Nullable List results) { - if (mNativeController == 0) return; - if (results == null || results.size() == 0) return; - final int count = Math.min(results.size(), MAX_VOICE_SUGGESTION_COUNT); - String[] voiceMatches = new String[count]; - float[] confidenceScores = new float[count]; - for (int i = 0; i < count; i++) { - voiceMatches[i] = results.get(i).getMatch(); - confidenceScores[i] = results.get(i).getConfidence(); - } - AutocompleteControllerJni.get() - .setVoiceMatches(mNativeController, voiceMatches, confidenceScores); - } - /** * Updates searchbox stats parameters on the selected match that we will navigate to and * returns the updated URL. @@ -477,11 +457,6 @@ public class AutocompleteController { Tab getMatchingTabForSuggestion( long nativeAutocompleteControllerAndroid, long nativeAutocompleteMatch); - void setVoiceMatches( - long nativeAutocompleteControllerAndroid, - String[] matches, - float[] confidenceScores); - // Sends a zero suggest request to the server in order to pre-populate the result cache. void startPrefetch( long nativeAutocompleteControllerAndroid, diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java @@ -44,7 +44,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.header.HeaderView; import org.chromium.chrome.browser.omnibox.suggestions.header.HeaderViewBinder; import org.chromium.chrome.browser.omnibox.suggestions.tail.TailSuggestionView; import org.chromium.chrome.browser.omnibox.suggestions.tail.TailSuggestionViewBinder; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.share.ShareDelegate; import org.chromium.chrome.browser.tab.Tab; @@ -344,13 +343,6 @@ public class AutocompleteCoordinator implements UrlFocusChangeListener, UrlTextC mRecycledViewPool.onNativeInitialized(); } - /** - * @see AutocompleteController#onVoiceResults(List) - */ - public void onVoiceResults(@Nullable List results) { - mMediator.onVoiceResults(results); - } - /** * @return The current native pointer to the autocomplete results. TODO(ender): Figure out how * to remove this. diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java @@ -39,7 +39,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteController.On import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteDelegate.AutocompleteLoadCallback; import org.chromium.chrome.browser.omnibox.suggestions.action.OmniboxActionFactoryImpl; import org.chromium.chrome.browser.omnibox.suggestions.basic.BasicSuggestionProcessor.BookmarkState; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory; import org.chromium.chrome.browser.share.ShareDelegate; @@ -462,14 +461,6 @@ class AutocompleteMediator mShouldPreventOmniboxAutocomplete = prevent; } - /** - * @see AutocompleteController#onVoiceResults(List) - */ - void onVoiceResults(@Nullable List results) { - if (!mNativeInitialized || mAutocomplete == null) return; - mAutocomplete.onVoiceResults(results); - } - /** * TODO(crbug.com/40725530): Figure out how to remove this. * --