Files
cromite/build/patches/Remove-voice-recognition-integration.patch
2024-03-15 16:24:42 +01:00

872 lines
45 KiB
Diff

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 +-----
.../features/tasks/TasksSurfaceMediator.java | 7 --
.../browser/metrics/UmaSessionStats.java | 19 -----
.../chrome/browser/ntp/NewTabPage.java | 43 +----------
.../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 | 77 +------------------
.../chrome/browser/omnibox/OmniboxStub.java | 9 ---
.../suggestions/AutocompleteController.java | 25 ------
.../suggestions/AutocompleteCoordinator.java | 8 --
.../suggestions/AutocompleteMediator.java | 9 ---
17 files changed, 10 insertions(+), 308 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
@@ -77,7 +77,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.preferences.Pref;
@@ -604,8 +603,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
@@ -647,17 +645,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(
@@ -1562,13 +1549,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/features/start_surface/java/src/org/chromium/chrome/features/tasks/TasksSurfaceMediator.java b/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/tasks/TasksSurfaceMediator.java
--- a/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/tasks/TasksSurfaceMediator.java
+++ b/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/tasks/TasksSurfaceMediator.java
@@ -32,7 +32,6 @@ import org.chromium.chrome.browser.lens.LensMetrics;
import org.chromium.chrome.browser.ntp.IncognitoCookieControlsManager;
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.tasks.tab_management.TabSwitcher.TabSwitcherViewObserver;
import org.chromium.components.content_settings.CookieControlsEnforcement;
import org.chromium.ui.modelutil.PropertyModel;
@@ -111,12 +110,6 @@ class TasksSurfaceMediator implements TabSwitcherViewObserver {
if (feedReliabilityLogger != null) {
feedReliabilityLogger.onVoiceSearch();
}
- mOmniboxStub
- .getVoiceRecognitionHandler()
- .startVoiceRecognition(
- VoiceRecognitionHandler.VoiceInteractionSource
- .TASKS_SURFACE);
- RecordUserAction.record("TasksSurface.FakeBox.VoiceSearch");
}
});
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
@@ -69,7 +69,6 @@ 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.suggestions.AutocompleteControllerProvider;
-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;
@@ -128,7 +127,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;
@@ -260,8 +257,7 @@ public class NewTabPage
@Override
public boolean isVoiceSearchEnabled() {
- return mVoiceRecognitionHandler != null
- && mVoiceRecognitionHandler.isVoiceSearchEnabled();
+ return false;
}
@Override
@@ -269,24 +265,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
@@ -869,12 +847,6 @@ public class NewTabPage
mOmniboxStub.addUrlFocusChangeListener(feedReliabilityLogger);
}
}
-
- mVoiceRecognitionHandler = mOmniboxStub.getVoiceRecognitionHandler();
- if (mVoiceRecognitionHandler != null) {
- mVoiceRecognitionHandler.addObserver(this);
- mNewTabPageLayout.updateActionButtonVisibility();
- }
}
@Override
@@ -885,11 +857,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);
@@ -909,10 +876,6 @@ public class NewTabPage
RecordUserAction.record("MobileNTPShown");
mJankTracker.startTrackingScenario(JankScenario.NEW_TAB_PAGE);
SuggestionsMetrics.recordSurfaceVisible();
-
- FeatureNotificationUtils.registerIPHCallback(
- FeatureType.VOICE_SEARCH,
- mNewTabPageLayout::maybeShowFeatureNotificationVoiceSearchIPH);
}
/** Records UMA for the NTP being hidden and the time spent on it. */
@@ -922,7 +885,6 @@ public class NewTabPage
"NewTabPage.TimeSpent",
(System.nanoTime() - mLastShownTimeNs) / TimeUtils.NANOSECONDS_PER_MILLISECOND);
SuggestionsMetrics.recordSurfaceHidden();
- FeatureNotificationUtils.unregisterIPHCallback(FeatureType.VOICE_SEARCH);
}
/**
@@ -1006,9 +968,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_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
@@ -57,7 +57,6 @@ import org.chromium.chrome.browser.omnibox.styles.OmniboxResourceProvider;
import org.chromium.chrome.browser.omnibox.suggestions.OmniboxSuggestionsDropdownScrollListener;
import org.chromium.chrome.browser.omnibox.suggestions.action.OmniboxActionDelegateImpl;
import org.chromium.chrome.browser.omnibox.suggestions.history_clusters.HistoryClustersProcessor.OpenHistoryClustersDelegate;
-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;
@@ -489,13 +488,11 @@ 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();
@SearchType int searchType = getSearchType(getIntent().getAction());
if (isFromQuickActionSearchWidget()) {
recordQuickActionSearchType(searchType);
}
- mSearchBox.onDeferredStartup(searchType, voiceRecognitionHandler, getWindowAndroid());
+ mSearchBox.onDeferredStartup(searchType, getWindowAndroid());
RecordUserAction.record("SearchWidget.WidgetSelected");
getActivityDelegate().onFinishDeferredInitialization();
@@ -598,7 +595,6 @@ public class SearchActivity extends AsyncInitializationActivity
mSearchBox.beginQuery(
searchType,
getOptionalIntentQuery(),
- 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
@@ -28,7 +28,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.SearchActivityPreferencesManager;
import org.chromium.components.browser_ui.styles.ChromeColors;
@@ -100,7 +99,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();
@@ -111,7 +109,7 @@ public class SearchActivityLocationBarLayout extends LocationBarLayout {
mAutocompleteCoordinator.onTextChanged(mUrlCoordinator.getTextWithoutAutocomplete());
if (mPendingBeginQuery) {
- beginQueryInternal(searchType, voiceRecognitionHandler, windowAndroid);
+ beginQueryInternal(searchType, windowAndroid);
mPendingBeginQuery = false;
}
}
@@ -121,14 +119,12 @@ public class SearchActivityLocationBarLayout extends LocationBarLayout {
*
* @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
public void beginQuery(
@SearchType int searchType,
@Nullable String optionalText,
- @NonNull VoiceRecognitionHandler voiceRecognitionHandler,
@NonNull WindowAndroid windowAndroid) {
// Clear the text regardless of the promo decision. This allows the user to enter text
// before native has been initialized and have it not be cleared one the delayed beginQuery
@@ -143,12 +139,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;
@@ -158,7 +153,6 @@ public class SearchActivityLocationBarLayout extends LocationBarLayout {
}
if (searchType == SearchType.VOICE) {
- runVoiceSearch(voiceRecognitionHandler);
} else if (searchType == SearchType.LENS) {
runGoogleLens(windowAndroid);
} else {
@@ -166,35 +160,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.
*
@@ -250,9 +215,4 @@ public class SearchActivityLocationBarLayout extends LocationBarLayout {
mAutocompleteCoordinator.startCachedZeroSuggest();
});
}
-
- @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
@@ -92,7 +92,6 @@ 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.suggestions.history_clusters.HistoryClustersProcessor.OpenHistoryClustersDelegate;
-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;
@@ -2533,10 +2532,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
@@ -94,8 +94,6 @@ 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.suggestions.history_clusters.HistoryClustersProcessor.OpenHistoryClustersDelegate;
-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;
@@ -292,7 +290,6 @@ public class RootUiCoordinator
protected OneshotSupplier<ToolbarIntentMetadata> mIntentMetadataOneshotSupplier;
protected OneshotSupplierImpl<Boolean> mPromoShownOneshotSupplier = new OneshotSupplierImpl<>();
protected Supplier<Tab> mStartSurfaceParentTabSupplier;
- @Nullable private VoiceRecognitionHandler.Observer mMicStateObserver;
private MediaCaptureOverlayController mCaptureController;
private @Nullable ScrollCaptureManager mScrollCaptureManager;
protected final ActivityLifecycleDispatcher mActivityLifecycleDispatcher;
@@ -643,9 +640,6 @@ public class RootUiCoordinator
}
if (mToolbarManager != null) {
- if (mMicStateObserver != null && mToolbarManager.getVoiceRecognitionHandler() != null) {
- mToolbarManager.getVoiceRecognitionHandler().removeObserver(mMicStateObserver);
- }
mToolbarManager.destroy();
mToolbarManager = null;
}
@@ -1286,19 +1280,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 =
@@ -1464,13 +1450,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
@@ -143,7 +143,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
@@ -41,7 +41,6 @@ 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.suggestions.history_clusters.HistoryClustersProcessor.OpenHistoryClustersDelegate;
-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;
@@ -460,13 +459,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() {
@@ -762,11 +754,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;
@@ -92,8 +91,6 @@ import java.util.function.BooleanSupplier;
class LocationBarMediator
implements LocationBarDataProvider.Observer,
OmniboxStub,
- VoiceRecognitionHandler.Delegate,
- VoiceRecognitionHandler.Observer,
UrlBarDelegate,
OnKeyListener,
ComponentCallbacks,
@@ -157,7 +154,6 @@ class LocationBarMediator
};
private final LocationBarLayout mLocationBarLayout;
- private VoiceRecognitionHandler mVoiceRecognitionHandler;
private final LocationBarDataProvider mLocationBarDataProvider;
private StatusCoordinator mStatusCoordinator;
private AutocompleteCoordinator mAutocompleteCoordinator;
@@ -231,8 +227,6 @@ class LocationBarMediator
mLocationBarDataProvider.addObserver(this);
mOverrideUrlLoadingDelegate = overrideUrlLoadingDelegate;
mLocaleManager = localeManager;
- mVoiceRecognitionHandler = new VoiceRecognitionHandler(this, profileSupplier);
- mVoiceRecognitionHandler.addObserver(this);
mProfileSupplier = profileSupplier;
mProfileSupplier.addObserver(mCallbackController.makeCancelable(this::setProfile));
mPrivacyPreferencesManager = privacyPreferencesManager;
@@ -277,8 +271,6 @@ class LocationBarMediator
mAutocompleteCoordinator = null;
mUrlCoordinator = null;
mPrivacyPreferencesManager = null;
- mVoiceRecognitionHandler.removeObserver(this);
- mVoiceRecognitionHandler = null;
mLocationBarDataProvider.removeObserver(this);
mDeferredNativeRunnables.clear();
mUrlFocusChangeListeners.clear();
@@ -407,11 +399,6 @@ class LocationBarMediator
mLocationBarLayout.setUnfocusedWidth(unfocusedWidth);
}
- /* package */ void setVoiceRecognitionHandlerForTesting(
- VoiceRecognitionHandler voiceRecognitionHandler) {
- mVoiceRecognitionHandler = voiceRecognitionHandler;
- }
-
/* package */ void setLensControllerForTesting(LensController lensController) {
mLensController = lensController;
}
@@ -662,8 +649,6 @@ class LocationBarMediator
mUrlCoordinator.setKeyboardVisibility(false, false);
RecordUserAction.record("MobileOmniboxVoiceSearch");
- mVoiceRecognitionHandler.startVoiceRecognition(
- VoiceRecognitionHandler.VoiceInteractionSource.OMNIBOX);
}
/** package */
@@ -1132,9 +1117,7 @@ class LocationBarMediator
private boolean shouldShowMicButton() {
if (shouldShowDeleteButton()) return false;
- if (!mNativeInitialized
- || mVoiceRecognitionHandler == null
- || !mVoiceRecognitionHandler.isVoiceSearchEnabled()) {
+ if ((true)) {
return false;
}
boolean isToolbarMicEnabled = mIsToolbarMicEnabledSupplier.getAsBoolean();
@@ -1151,6 +1134,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.
@@ -1158,15 +1142,6 @@ class LocationBarMediator
return false;
}
- // 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 (dataProvider.getPageClassification(dataProvider.isIncognito(), /* isPrefetch= */ false)
- == PageClassification.ANDROID_SEARCH_WIDGET_VALUE) {
- return false;
- }
-
// When this method is called after native initialized, check omnibox conditions and Lens
// eligibility.
if (mIsTablet && mShouldShowButtonsWhenUnfocused) {
@@ -1371,16 +1346,6 @@ class LocationBarMediator
}
}
- @Override
- public @Nullable VoiceRecognitionHandler getVoiceRecognitionHandler() {
- // TODO(crbug.com/1140333): StartSurfaceMediator can call this method after destroy().
- if (mLocationBarLayout == null) {
- return null;
- }
-
- return mVoiceRecognitionHandler;
- }
-
@Override
public void addUrlFocusChangeListener(UrlFocusChangeListener listener) {
mUrlFocusChangeListeners.addObserver(listener);
@@ -1396,33 +1361,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;
@@ -1445,20 +1390,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.NativeMethods;
import org.chromium.base.lifetime.Destroyable;
import org.chromium.chrome.browser.omnibox.OmniboxFeatures;
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;
@@ -345,25 +344,6 @@ public class AutocompleteController implements Destroyable {
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<VoiceResult> 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.
@@ -457,11 +437,6 @@ public class AutocompleteController implements Destroyable {
Tab getMatchingTabForSuggestion(
long nativeAutocompleteControllerAndroid, long nativeAutocompleteMatch);
- void setVoiceMatches(
- long nativeAutocompleteControllerAndroid,
- String[] matches,
- float[] confidenceScores);
-
// Destroy supplied instance of the AutocompleteControllerAndroid.
// The instance cannot be used after this call completes.
void destroy(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
@@ -45,7 +45,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.header.HeaderViewBinder;
import org.chromium.chrome.browser.omnibox.suggestions.history_clusters.HistoryClustersProcessor.OpenHistoryClustersDelegate;
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<VoiceRecognitionHandler.VoiceResult> 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
@@ -38,7 +38,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.basic.BasicSuggestionProcessor.BookmarkState;
import org.chromium.chrome.browser.omnibox.suggestions.history_clusters.HistoryClustersProcessor.OpenHistoryClustersDelegate;
-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;
@@ -430,14 +429,6 @@ class AutocompleteMediator
mShouldPreventOmniboxAutocomplete = prevent;
}
- /**
- * @see AutocompleteController#onVoiceResults(List)
- */
- void onVoiceResults(@Nullable List<VoiceRecognitionHandler.VoiceResult> results) {
- if (!mNativeInitialized || mAutocomplete == null) return;
- mAutocomplete.onVoiceResults(results);
- }
-
/**
* @return The current native pointer to the autocomplete results. TODO(crbug.com/1138587):
* Figure out how to remove this.
--