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 --- .../BaseCustomTabRootUiCoordinator.java | 2 +- .../chrome/browser/ntp/NewTabPage.java | 38 +---------- .../browser/ntp/search/SearchBoxMediator.java | 1 - .../browser/searchwidget/SearchActivity.java | 3 +- .../SearchActivityLocationBarLayout.java | 8 --- .../tabbed_mode/TabbedRootUiCoordinator.java | 2 +- .../browser/toolbar/ToolbarManager.java | 5 -- .../ui/AdaptiveToolbarUiCoordinator.java | 48 -------------- .../chrome/browser/ui/RootUiCoordinator.java | 18 ----- chrome/browser/ui/android/omnibox/BUILD.gn | 1 - .../chrome/browser/omnibox/LocationBar.java | 6 -- .../omnibox/LocationBarCoordinator.java | 12 ---- .../browser/omnibox/LocationBarLayout.java | 6 -- .../browser/omnibox/LocationBarMediator.java | 65 ++----------------- .../chrome/browser/omnibox/OmniboxStub.java | 8 --- .../suggestions/AutocompleteController.java | 25 ------- .../suggestions/AutocompleteCoordinator.java | 8 --- .../suggestions/AutocompleteMediator.java | 8 --- .../omnibox/voice/VoiceRecognitionUtil.java | 1 + chrome/browser/ui/android/toolbar/BUILD.gn | 1 - 20 files changed, 9 insertions(+), 257 deletions(-) diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabRootUiCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabRootUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabRootUiCoordinator.java @@ -488,7 +488,7 @@ public class BaseCustomTabRootUiCoordinator extends RootUiCoordinator { mIntentDataProvider.get(), AppCompatResources.getDrawable(mActivity, R.drawable.ic_open_in_new_white_24dp), mOpenInBrowserRunnable, - () -> addVoiceSearchAdaptiveButton(trackerSupplier)); + () -> {}); } @Override 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 @@ -71,7 +71,6 @@ import org.chromium.chrome.browser.native_page.ContextMenuManager; import org.chromium.chrome.browser.ntp_customization.NtpCustomizationCoordinator; 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; @@ -127,7 +126,6 @@ public class NewTabPage TemplateUrlServiceObserver, BrowserControlsStateProvider.Observer, FeedSurfaceDelegate, - VoiceRecognitionHandler.Observer, ModuleDelegateHost { private static final String TAG = "NewTabPage"; @@ -158,7 +156,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; @@ -364,8 +361,7 @@ public class NewTabPage @Override public boolean isVoiceSearchEnabled() { - return mVoiceRecognitionHandler != null - && mVoiceRecognitionHandler.isVoiceSearchEnabled(); + return false; } @Override @@ -373,24 +369,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 @@ -947,12 +925,6 @@ public class NewTabPage mOmniboxStub.addUrlFocusChangeListener(feedReliabilityLogger); } } - - mVoiceRecognitionHandler = mOmniboxStub.getVoiceRecognitionHandler(); - if (mVoiceRecognitionHandler != null) { - mVoiceRecognitionHandler.addObserver(this); - mNewTabPageLayout.updateActionButtonVisibility(); - } } /** @@ -971,11 +943,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); @@ -1062,9 +1029,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 @@ -76,7 +76,6 @@ class SearchBoxMediator implements DestroyObserver, NativeInitObserver { ColorStateList colorStateList = 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 @@ -68,7 +68,6 @@ import org.chromium.chrome.browser.rlz.RevenueStats; import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory; import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tabmodel.TabModelSelector; -import org.chromium.chrome.browser.toolbar.VoiceToolbarButtonController; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarManageable; import org.chromium.chrome.browser.ui.native_page.NativePage; @@ -326,7 +325,7 @@ public class SearchActivity extends AsyncInitializationActivity /*omniboxUma*/ (url, transition, isNtp) -> {}, TabWindowManagerSingleton::getInstance, /* bookmarkState= */ (url) -> false, - VoiceToolbarButtonController::isToolbarMicEnabled, + /* isToolbarMicEnabled */ () -> false, /* merchantTrustSignalsCoordinatorSupplier= */ null, new OmniboxActionDelegateImpl( this, 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 @@ -29,7 +29,6 @@ import org.chromium.chrome.browser.omnibox.UrlBarData; 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.voice.VoiceRecognitionHandler; import org.chromium.chrome.browser.toolbar.top.ToolbarPhone; import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityExtras.IntentOrigin; import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityExtras.SearchType; @@ -214,13 +213,6 @@ public class SearchActivityLocationBarLayout extends LocationBarLayout { return false; } - @Override - public int getVoiceRecogintionSource() { - return mInteractionFromWidget - ? VoiceRecognitionHandler.VoiceInteractionSource.SEARCH_WIDGET - : super.getVoiceRecogintionSource(); - } - @Override public int getLensEntryPoint() { return mInteractionFromWidget diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java @@ -940,7 +940,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { mTabBookmarkerSupplier, mBookmarkModelSupplier, mActivityTabProvider, - () -> addVoiceSearchAdaptiveButton(trackerSupplier)); + () -> {}); } @Override 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 @@ -106,7 +106,6 @@ import org.chromium.chrome.browser.omnibox.OmniboxStub; import org.chromium.chrome.browser.omnibox.OverrideUrlLoadingDelegateImpl; 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; @@ -2954,10 +2953,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/AdaptiveToolbarUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/AdaptiveToolbarUiCoordinator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/ui/AdaptiveToolbarUiCoordinator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/AdaptiveToolbarUiCoordinator.java @@ -27,8 +27,6 @@ import org.chromium.chrome.browser.dom_distiller.ReaderModeToolbarButtonControll import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.identity_disc.IdentityDiscController; import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler.VoiceInteractionSource; import org.chromium.chrome.browser.price_history.PriceHistoryBottomSheetContentCoordinator; import org.chromium.chrome.browser.price_insights.PriceInsightsButtonController; import org.chromium.chrome.browser.price_tracking.CurrentTabPriceTrackingStateSupplier; @@ -41,7 +39,6 @@ import org.chromium.chrome.browser.segmentation_platform.ContextualPageActionCon import org.chromium.chrome.browser.share.ShareButtonController; import org.chromium.chrome.browser.share.ShareDelegate; import org.chromium.chrome.browser.tabmodel.TabModelSelector; -import org.chromium.chrome.browser.toolbar.VoiceToolbarButtonController; import org.chromium.chrome.browser.toolbar.adaptive.AdaptiveButtonActionMenuCoordinator; import org.chromium.chrome.browser.toolbar.adaptive.AdaptiveToolbarBehavior; import org.chromium.chrome.browser.toolbar.adaptive.AdaptiveToolbarButtonController; @@ -71,7 +68,6 @@ public class AdaptiveToolbarUiCoordinator { private CurrentTabPriceTrackingStateSupplier mCurrentTabPriceTrackingStateSupplier; private ContextualPageActionController mContextualPageActionController; private AdaptiveToolbarButtonController mAdaptiveToolbarButtonController; - private VoiceToolbarButtonController mVoiceToolbarButtonController; private BottomSheetController mBottomSheetController; private ObservableSupplier mProfileSupplier; private Supplier mScrimSupplier; @@ -228,45 +224,6 @@ public class AdaptiveToolbarUiCoordinator { mButtonDataProviders = List.of(identityDiscController, adaptiveToolbarButtonController); } - /** - * Add voice search action button. - * - * @param Supplies {@link VoiceRecognitionHandler} object. - * @param Supplies {@link Tracker} object. - */ - public void addVoiceSearchAdaptiveButton( - Supplier voiceRecognitionHandler, - Supplier trackerSupplier) { - var voiceSearchDelegate = - new VoiceToolbarButtonController.VoiceSearchDelegate() { - @Override - public boolean isVoiceSearchEnabled() { - if (voiceRecognitionHandler.get() == null) return false; - return voiceRecognitionHandler.get().isVoiceSearchEnabled(); - } - - @Override - public void startVoiceRecognition() { - if (voiceRecognitionHandler.get() == null) return; - voiceRecognitionHandler - .get() - .startVoiceRecognition(VoiceInteractionSource.TOOLBAR); - } - }; - mVoiceToolbarButtonController = - new VoiceToolbarButtonController( - mContext, - AppCompatResources.getDrawable(mContext, R.drawable.ic_mic_white_24dp), - mActivityTabProvider, - trackerSupplier, - mModalDialogManagerSupplier.get(), - voiceSearchDelegate); - - assert mAdaptiveToolbarButtonController != null; - mAdaptiveToolbarButtonController.addButtonVariant( - AdaptiveToolbarButtonVariant.VOICE, mVoiceToolbarButtonController); - } - /** * Returns the list of {@link ButtonDataProvider}. The order in which the providers determines * which one will be shown first. @@ -280,11 +237,6 @@ public class AdaptiveToolbarUiCoordinator { return mContextualPageActionController; } - /** Returns {@link VoiceToolbarButtonController} used for voice search button. */ - public VoiceToolbarButtonController getVoiceToolbarButtonController() { - return mVoiceToolbarButtonController; - } - /** Invokes Price Insights UI. */ public void runPriceInsightsAction() { mAdaptiveToolbarButtonController.runPriceInsightsAction(); 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 @@ -101,7 +101,6 @@ import org.chromium.chrome.browser.multiwindow.MultiWindowUtils; 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.paint_preview.DemoPaintPreview; import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer; import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher; @@ -294,7 +293,6 @@ public class RootUiCoordinator private LayoutManagerImpl mLayoutManager; protected OneshotSupplier mIntentMetadataOneshotSupplier; protected OneshotSupplierImpl mPromoShownOneshotSupplier = new OneshotSupplierImpl<>(); - @Nullable private VoiceRecognitionHandler.Observer mMicStateObserver; private MediaCaptureOverlayController mCaptureController; private @Nullable ScrollCaptureManager mScrollCaptureManager; protected final ActivityLifecycleDispatcher mActivityLifecycleDispatcher; @@ -624,9 +622,6 @@ public class RootUiCoordinator } if (mToolbarManager != null) { - if (mMicStateObserver != null && mToolbarManager.getVoiceRecognitionHandler() != null) { - mToolbarManager.getVoiceRecognitionHandler().removeObserver(mMicStateObserver); - } mToolbarManager.destroy(); mToolbarManager = null; } @@ -1517,23 +1512,10 @@ public class RootUiCoordinator if (!mSupportsAppMenuSupplier.getAsBoolean()) { mToolbarManager.getToolbar().disableMenuButton(); } - - var voiceButtonController = - mAdaptiveToolbarUiCoordinator.getVoiceToolbarButtonController(); - var voiceRecognitionHandler = mToolbarManager.getVoiceRecognitionHandler(); - if (voiceButtonController != null && voiceRecognitionHandler != null) { - mMicStateObserver = voiceButtonController::updateMicButtonState; - voiceRecognitionHandler.addObserver(mMicStateObserver); - } mToolbarManagerOneshotSupplier.set(mToolbarManager); } } - protected void addVoiceSearchAdaptiveButton(Supplier trackerSupplier) { - mAdaptiveToolbarUiCoordinator.addVoiceSearchAdaptiveButton( - () -> mToolbarManager.getVoiceRecognitionHandler(), trackerSupplier); - } - /** * Constructs a {@link ScrimManager} and sets up observers. Lifetime of all these objects should * match. 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 @@ -144,7 +144,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 @@ -11,7 +11,6 @@ import org.chromium.build.annotations.NullMarked; import org.chromium.build.annotations.Nullable; import org.chromium.chrome.browser.omnibox.suggestions.OmniboxSuggestionsDropdownScrollListener; import org.chromium.chrome.browser.omnibox.suggestions.OmniboxSuggestionsVisualState; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; import org.chromium.chrome.browser.tab.Tab; import java.util.Optional; @@ -78,11 +77,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 @@ -47,7 +47,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.OmniboxLoadUrlParams; import org.chromium.chrome.browser.omnibox.suggestions.OmniboxSuggestionsDropdownScrollListener; import org.chromium.chrome.browser.omnibox.suggestions.OmniboxSuggestionsVisualState; 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; @@ -508,12 +507,6 @@ public class LocationBarCoordinator return mLocationBarLayout.getSecurityIconView(); } - /** Returns the {@link VoiceRecognitionHandler} associated with this LocationBar. */ - @Override - public @Nullable VoiceRecognitionHandler getVoiceRecognitionHandler() { - return mLocationBarMediator.getVoiceRecognitionHandler(); - } - @Override public @Nullable OmniboxStub getOmniboxStub() { return mLocationBarMediator; @@ -849,11 +842,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/LocationBarLayout.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarLayout.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarLayout.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarLayout.java @@ -32,7 +32,6 @@ import org.chromium.chrome.browser.omnibox.status.StatusCoordinator; import org.chromium.chrome.browser.omnibox.status.StatusView; import org.chromium.chrome.browser.omnibox.styles.OmniboxResourceProvider; import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteCoordinator; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; import org.chromium.components.browser_ui.widget.CompositeTouchDelegate; import org.chromium.components.embedder_support.util.UrlUtilities; import org.chromium.ui.base.DeviceFormFactor; @@ -554,11 +553,6 @@ public class LocationBarLayout extends FrameLayout { mSearchEngineUtils = searchEngineUtils; } - /** Returns the source of Voice Recognition interactions. */ - public int getVoiceRecogintionSource() { - return VoiceRecognitionHandler.VoiceInteractionSource.OMNIBOX; - } - /** Returns the entrypoint used to launch Lens. */ public int getLensEntryPoint() { return LensEntryPoint.OMNIBOX; 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 @@ -61,7 +61,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.profiles.Profile; @@ -103,8 +102,6 @@ import java.util.function.BooleanSupplier; class LocationBarMediator implements LocationBarDataProvider.Observer, OmniboxStub, - VoiceRecognitionHandler.Delegate, - VoiceRecognitionHandler.Observer, UrlBarDelegate, OnKeyListener, ComponentCallbacks, @@ -171,7 +168,6 @@ class LocationBarMediator }; private final LocationBarLayout mLocationBarLayout; - private VoiceRecognitionHandler mVoiceRecognitionHandler; private final LocationBarDataProvider mLocationBarDataProvider; private final @Nullable BrowserControlsStateProvider mBrowserControlsStateProvider; private final LocationBarEmbedderUiOverrides mEmbedderUiOverrides; @@ -248,8 +244,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)); mTemplateUrlServiceSupplier = templateUrlServiceSupplier; @@ -300,9 +294,6 @@ class LocationBarMediator mStatusCoordinator = null; mAutocompleteCoordinator = null; mUrlCoordinator = null; - mVoiceRecognitionHandler.removeObserver(this); - mVoiceRecognitionHandler.destroy(); - mVoiceRecognitionHandler = null; mLocationBarDataProvider.removeObserver(this); mDeferredNativeRunnables.clear(); mUrlFocusChangeListeners.clear(); @@ -428,11 +419,6 @@ class LocationBarMediator mLocationBarLayout.setUnfocusedWidth(unfocusedWidth); } - /* package */ void setVoiceRecognitionHandlerForTesting( - VoiceRecognitionHandler voiceRecognitionHandler) { - mVoiceRecognitionHandler = voiceRecognitionHandler; - } - /* package */ void setLensControllerForTesting(LensController lensController) { mLensController = lensController; } @@ -706,10 +692,6 @@ class LocationBarMediator // Hide keyboard before launch voice search to avoid keyboard action announcement in // TalkBack to be picked up by voice search. mUrlCoordinator.setKeyboardVisibility(false, false); - - RecordUserAction.record("MobileOmniboxVoiceSearch"); - mVoiceRecognitionHandler.startVoiceRecognition( - mLocationBarLayout.getVoiceRecogintionSource()); } /** package */ @@ -1209,10 +1191,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(); @@ -1229,6 +1208,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. @@ -1457,11 +1437,6 @@ class LocationBarMediator } } - @Override - public @Nullable VoiceRecognitionHandler getVoiceRecognitionHandler() { - return mVoiceRecognitionHandler; - } - @Override public void addUrlFocusChangeListener(UrlFocusChangeListener listener) { mUrlFocusChangeListeners.addObserver(listener); @@ -1477,31 +1452,13 @@ class LocationBarMediator return mUrlHasFocus; } - @Override + // @Override public void clearOmniboxFocus() { setUrlBarFocus( /* shouldBeFocused= */ false, /* pastedText= */ null, OmniboxFocusReason.UNFOCUS); } - @Override - public void 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; @@ -1524,20 +1481,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 org.chromium.build.annotations.NullMarked; import org.chromium.build.annotations.Nullable; import org.chromium.chrome.browser.lens.LensEntryPoint; -import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler; import java.util.List; @@ -43,13 +42,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 @@ -15,7 +15,6 @@ import org.chromium.build.annotations.NullMarked; import org.chromium.build.annotations.Nullable; import org.chromium.chrome.browser.omnibox.OmniboxMetrics; import org.chromium.chrome.browser.omnibox.suggestions.action.OmniboxAnswerAction; -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; @@ -331,25 +330,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. @@ -497,11 +477,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 @@ -33,7 +33,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteController.On import org.chromium.chrome.browser.omnibox.suggestions.SuggestionListViewBinder.SuggestionListViewHolder; import org.chromium.chrome.browser.omnibox.suggestions.base.BaseSuggestionViewBinder; 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.share.ShareDelegate; import org.chromium.chrome.browser.tab.Tab; @@ -296,13 +295,6 @@ public class AutocompleteCoordinator mRecycledViewPool.ifPresent(p -> p.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 @@ -40,7 +40,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteDelegate.Auto import org.chromium.chrome.browser.omnibox.suggestions.action.OmniboxActionFactoryImpl; import org.chromium.chrome.browser.omnibox.suggestions.action.OmniboxAnswerAction; 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.share.ShareDelegate; import org.chromium.chrome.browser.tab.Tab; @@ -479,13 +478,6 @@ class AutocompleteMediator mShouldPreventOmniboxAutocomplete = prevent; } - /** - * @see AutocompleteController#onVoiceResults(List) - */ - void onVoiceResults(@Nullable List results) { - mAutocomplete.ifPresent(a -> a.onVoiceResults(results)); - } - /** * TODO(crbug.com/40725530): Figure out how to remove this. * diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/voice/VoiceRecognitionUtil.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/voice/VoiceRecognitionUtil.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/voice/VoiceRecognitionUtil.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/voice/VoiceRecognitionUtil.java @@ -118,6 +118,7 @@ public class VoiceRecognitionUtil { * @return {@code true} if recognition is supported. {@code false} otherwise. */ public static boolean isRecognitionIntentPresent(boolean useCachedValue) { + if ((true)) return false; ThreadUtils.assertOnUiThread(); if (sHasRecognitionIntentHandler == null || !useCachedValue) { sHasRecognitionIntentHandler = diff --git a/chrome/browser/ui/android/toolbar/BUILD.gn b/chrome/browser/ui/android/toolbar/BUILD.gn --- a/chrome/browser/ui/android/toolbar/BUILD.gn +++ b/chrome/browser/ui/android/toolbar/BUILD.gn @@ -37,7 +37,6 @@ android_library("java") { "java/src/org/chromium/chrome/browser/toolbar/ToolbarResourceUtils.java", "java/src/org/chromium/chrome/browser/toolbar/ToolbarTabController.java", "java/src/org/chromium/chrome/browser/toolbar/ToolbarTabControllerImpl.java", - "java/src/org/chromium/chrome/browser/toolbar/VoiceToolbarButtonController.java", "java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveButtonActionMenuCoordinator.java", "java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarBehavior.java", "java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarBridge.java", --