From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Mon, 5 Apr 2021 21:37:12 +0200
Subject: Remove binary blob integrations
Remove dependency on com.google.android.gms.auth
kill GCM
Remove dependency on com.google.android.gcm
Remove dependency on com.google.android.gms.gcm
It also disables Snippets, auto-update of offline pages and launching browser from background service.
The snippets are already disabled in native codes, this will disable it on Java level.
Remove dependency on com.google.android.play
Remove dependency on vision, clearcut and phenotype
Remove dependency on flags, places and stats
Remove dependency on fido, iid, instantapps, location
Remove dependency on com.google.android.gms.cast
Remove dependency on auth, signin, dynamic and tasks
Remove google_services_gcm
ungoogled-chromium: Disable GCM
Disable Google Cloud Messaging (GCM) client
Disable web authentication phone support
Parts of this patch were developed by csagan5, uazo and others.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
...em_webview_bundle.AndroidManifest.expected | 5 -
build/android/gyp/proguard.py | 2 +
build/config/android/config.gni | 4 +-
chrome/android/BUILD.gn | 32 +-
chrome/android/chrome_java_sources.gni | 5 -
chrome/android/java/AndroidManifest.xml | 50 --
.../browser/ChromeBackgroundService.java | 11 +-
.../browser/PlayServicesVersionInfo.java | 12 +-
.../ChromeBackgroundTaskFactory.java | 3 -
.../settings/PasswordSettings.java | 9 -
chrome/android/javatests/BUILD.gn | 7 -
chrome/android/junit/BUILD.gn | 6 -
chrome/browser/language/android/BUILD.gn | 3 -
.../language/AppLanguagePromoDialog.java | 31 -
.../language/settings/LanguageSettings.java | 6 -
chrome/browser/omaha/android/BUILD.gn | 1 -
.../browser/password_manager/android/BUILD.gn | 5 -
.../password_manager/GmsUpdateLauncher.java | 28 -
.../PasswordManagerAndroidBackendUtil.java | 38 +-
.../PasswordManagerHelper.java | 9 -
...swordSyncControllerDelegateBridgeImpl.java | 7 -
.../android/one_time_passwords/BUILD.gn | 2 -
.../AndroidSmsOtpFetchReceiverBridge.java | 6 +-
.../AndroidSmsOtpFetcher.java | 4 +-
.../push_messaging_service_factory.cc | 8 +-
.../notification_telemetry_service.cc | 1 +
chrome/browser/ui/BUILD.gn | 3 -
chrome/browser/ui/android/omnibox/BUILD.gn | 4 -
.../FullscreenSigninMediator.java | 4 +-
chrome/browser/ui/webauthn/sheet_models.cc | 9 +-
.../browser/ui/webui/chrome_web_ui_configs.cc | 1 -
chrome/browser/webauthn/android/BUILD.gn | 1 -
.../CableAuthenticatorModuleProvider.java | 35 +-
chrome/browser/webauthn/cablev2_devices.cc | 3 +
chrome/browser/webid/BUILD.gn | 3 -
.../DigitalCredentialsCreationDelegate.java | 112 ----
...igitalCredentialsPresentationDelegate.java | 88 +--
chrome/test/android/BUILD.gn | 2 -
.../ExternalNavigationHandler.java | 8 -
components/externalauth/android/BUILD.gn | 3 -
.../externalauth/ExternalAuthUtils.java | 34 +-
.../UserRecoverableErrorHandler.java | 8 -
.../gcm_driver/GoogleCloudMessagingV2.java | 2 +
components/gcm_driver/gcm_client_impl.cc | 4 +
.../gcm_driver/instance_id/android/BUILD.gn | 3 -
.../instance_id/InstanceIDBridge.java | 56 +-
.../InstalledAppProviderImpl.java | 2 +-
.../media_router/browser/android/BUILD.gn | 11 -
.../media_router/BrowserMediaRouter.java | 21 +-
.../components/media_router/MediaSink.java | 44 +-
.../media_router/MediaStatusBridge.java | 40 +-
.../caf/BaseNotificationController.java | 59 --
.../caf/BaseSessionController.java | 112 +---
.../caf/CafBaseMediaRouteProvider.java | 113 +---
.../caf/CafMediaRouteProvider.java | 21 -
.../media_router/caf/CafMessageHandler.java | 106 +---
.../media_router/caf/CastMediaSource.java | 10 +-
.../media_router/caf/CastOptionsProvider.java | 21 +-
.../caf/CastSessionController.java | 87 ---
.../media_router/caf/CastUtils.java | 8 -
.../CafExpandedControllerActivity.java | 46 +-
.../CafRemotingMediaRouteProvider.java | 4 +-
.../remoting/FlingingControllerAdapter.java | 96 ---
.../caf/remoting/RemotingMediaSource.java | 8 +-
.../remoting/RemotingSessionController.java | 31 -
.../test/android/cast_emulator/BUILD.gn | 1 -
components/module_installer/android/BUILD.gn | 4 -
components/omnibox/common/BUILD.gn | 1 -
.../components/omnibox/OmniboxFeatures.java | 8 -
components/signin/public/android/BUILD.gn | 3 -
components/webauthn/android/BUILD.gn | 15 +-
.../webauthn/AuthenticatorImpl.java | 81 +--
.../webauthn/ConditionalUiState.java | 15 +
.../components/webauthn/GmsCoreUtils.java | 28 +-
.../webauthn/WebauthnModeProvider.java | 15 -
.../webauthn/cred_man/CredManHelper.java | 16 +-
.../cred_man/CredManMetricsHelper.java | 2 +-
.../push_messaging/push_messaging_manager.cc | 2 +-
content/public/android/BUILD.gn | 4 -
content/test/BUILD.gn | 4 -
device/BUILD.gn | 3 -
device/fido/features.cc | 1 +
services/BUILD.gn | 10 -
services/device/geolocation/BUILD.gn | 4 -
services/shape_detection/BUILD.gn | 2 -
third_party/android_deps/BUILD.gn | 273 +--------
third_party/android_deps/autorolled/BUILD.gn | 550 ------------------
.../preconditions/javatests/BUILD.gn | 1 -
.../gms/ChromiumPlayServicesAvailability.java | 10 +-
third_party/androidx/customizations.gni | 14 +-
third_party/cardboard/BUILD.gn | 4 -
91 files changed, 124 insertions(+), 2465 deletions(-)
create mode 100644 components/webauthn/android/java/src/org/chromium/components/webauthn/ConditionalUiState.java
diff --git a/android_webview/expectations/system_webview_bundle.AndroidManifest.expected b/android_webview/expectations/system_webview_bundle.AndroidManifest.expected
--- a/android_webview/expectations/system_webview_bundle.AndroidManifest.expected
+++ b/android_webview/expectations/system_webview_bundle.AndroidManifest.expected
@@ -23,10 +23,6 @@
android:label="Android System WebView"
android:multiArch="true"
android:use32bitAbi="true">
-
# DIFF-ANCHOR: ea1a94af
# DIFF-ANCHOR: b7cc06e9
-
-
-
-
-
@@ -800,16 +795,6 @@ by a child template that "extends" this file.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1027,15 +992,6 @@ by a child template that "extends" this file.
android:exported="false"
android:permission="android.permission.BIND_JOB_SERVICE"/>
-
-
-
-
-
-
-
@@ -1313,12 +1269,6 @@ by a child template that "extends" this file.
{% endif %}
-
-
-
mPageTitle = new ObservableSupplierImpl<>();
@@ -214,7 +213,6 @@ public class PasswordSettings extends ChromeBaseSettingsFragment
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- mPasswordCheck = PasswordCheckFactory.getOrCreate();
computeTrustedVaultBannerState();
}
@@ -319,9 +317,6 @@ public class PasswordSettings extends ChromeBaseSettingsFragment
if (shouldShowAutoSigninOption()) {
createAutoSignInCheckbox();
}
- if (mPasswordCheck != null) {
- createCheckPasswords();
- }
if (mTrustedVaultBannerState == TrustedVaultBannerState.OPTED_IN) {
createTrustedVaultBanner(
@@ -523,10 +518,6 @@ public class PasswordSettings extends ChromeBaseSettingsFragment
// by the system.
if (getActivity().isFinishing()) {
PasswordManagerHandlerProvider.getForProfile(getProfile()).removeObserver(this);
- if (mPasswordCheck != null
- && mManagePasswordsReferrer != ManagePasswordsReferrer.CHROME_SETTINGS) {
- PasswordCheckFactory.destroy();
- }
}
}
diff --git a/chrome/android/javatests/BUILD.gn b/chrome/android/javatests/BUILD.gn
--- a/chrome/android/javatests/BUILD.gn
+++ b/chrome/android/javatests/BUILD.gn
@@ -55,13 +55,6 @@ android_library("chrome_test_java_helper") {
]
public_deps = [
- "$google_play_services_package:google_play_services_base_java",
- "$google_play_services_package:google_play_services_basement_java",
- "$google_play_services_package:google_play_services_cast_framework_java",
- "$google_play_services_package:google_play_services_cast_java",
- "$google_play_services_package:google_play_services_gcm_java",
- "$google_play_services_package:google_play_services_iid_java",
- "$google_play_services_package:google_play_services_tasks_java",
"//base:base_java",
"//base:base_java_test_support",
"//base:base_java_test_support_uncommon",
diff --git a/chrome/android/junit/BUILD.gn b/chrome/android/junit/BUILD.gn
--- a/chrome/android/junit/BUILD.gn
+++ b/chrome/android/junit/BUILD.gn
@@ -43,12 +43,6 @@ if (is_android) {
]
public_deps = [
- "$google_play_services_package:google_play_services_base_java",
- "$google_play_services_package:google_play_services_basement_java",
- "$google_play_services_package:google_play_services_cast_framework_java",
- "$google_play_services_package:google_play_services_cast_java",
- "$google_play_services_package:google_play_services_gcm_java",
- "$google_play_services_package:google_play_services_tasks_java",
"//base:base_java",
"//base:base_java_test_support",
"//base:base_java_test_support_uncommon",
diff --git a/chrome/browser/language/android/BUILD.gn b/chrome/browser/language/android/BUILD.gn
--- a/chrome/browser/language/android/BUILD.gn
+++ b/chrome/browser/language/android/BUILD.gn
@@ -10,15 +10,12 @@ android_library("base_module_java") {
sources = [
"java/src/org/chromium/chrome/browser/language/AppLocaleUtils.java",
"java/src/org/chromium/chrome/browser/language/GlobalAppLocaleController.java",
- "java/src/org/chromium/chrome/browser/language/LanguageSplitInstaller.java",
]
deps = [
- "$google_play_services_package:google_play_services_tasks_java",
"//base:base_java",
"//build/android:build_java",
"//chrome/browser/preferences:java",
"//components/language/android:java",
- "//third_party/android_deps:playcore_java",
"//third_party/androidx:androidx_annotation_annotation_java",
"//ui/android:ui_no_recycler_view_java",
]
diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/AppLanguagePromoDialog.java b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/AppLanguagePromoDialog.java
--- a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/AppLanguagePromoDialog.java
+++ b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/AppLanguagePromoDialog.java
@@ -593,12 +593,6 @@ public class AppLanguagePromoDialog {
mLoadingModal.set(ModalDialogProperties.CUSTOM_VIEW, customView);
- // Only show the modal if the selected language is not installed.
- if (!LanguageSplitInstaller.getInstance()
- .isLanguageSplitInstalled(selectedLanguage.getCode())) {
- mModalDialogManager.showDialog(mLoadingModal, ModalDialogManager.ModalDialogType.APP);
- }
-
boolean isSelectedCurrentUi = AppLocaleUtils.isAppLanguagePref(selectedLanguage.getCode());
if (!isSelectedCurrentUi) {
// Only record isTopLanguage if the app language has changed.
@@ -606,31 +600,6 @@ public class AppLanguagePromoDialog {
}
AndroidLanguageMetricsBridge.reportAppLanguagePromptLanguage(
selectedLanguage.isSystemDefault() ? "" : selectedLanguage.getCode());
-
- // Create call back for after language split install completes.
- AppLocaleUtils.setAppLanguagePref(
- selectedLanguage.getCode(),
- (success) -> {
- if (success) {
- if (!isSelectedCurrentUi) {
- // Only restart if the new language is different than the current UI.
- mRestartAction.restart();
- }
- } else {
- // The loading language modal will always already be shown if a download
- // fails.
- CharSequence failedText =
- mActivity
- .getResources()
- .getString(
- R.string.languages_split_failed,
- selectedLanguage.getDisplayName());
- messageView.setText(failedText);
- mLoadingModal.set(
- ModalDialogProperties.POSITIVE_BUTTON_TEXT,
- mActivity.getText(R.string.ok).toString());
- }
- });
}
/**
diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java
--- a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java
+++ b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java
@@ -24,7 +24,6 @@ import org.chromium.build.annotations.Nullable;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.language.AppLocaleUtils;
import org.chromium.chrome.browser.language.GlobalAppLocaleController;
-import org.chromium.chrome.browser.language.LanguageSplitInstaller;
import org.chromium.chrome.browser.language.R;
import org.chromium.chrome.browser.preferences.Pref;
import org.chromium.chrome.browser.preferences.PrefServiceUtil;
@@ -144,11 +143,6 @@ public class LanguageSettings extends ChromeBaseSettingsFragment
* translate target language, and detailed translate preferences.
*/
private void createDetailedPreferences() {
- // Log currently installed language splits.
- String installedLanguages =
- TextUtils.join(",", LanguageSplitInstaller.getInstance().getInstalledLanguages());
- Log.i(TAG, TextUtils.concat("Installed Languages: ", installedLanguages).toString());
-
SettingsUtils.addPreferencesFromResource(this, R.xml.languages_detailed_preferences);
setupAppLanguageSection();
diff --git a/chrome/browser/omaha/android/BUILD.gn b/chrome/browser/omaha/android/BUILD.gn
--- a/chrome/browser/omaha/android/BUILD.gn
+++ b/chrome/browser/omaha/android/BUILD.gn
@@ -21,7 +21,6 @@ android_library("java") {
]
deps = [
":update_proto_java",
- "$google_play_services_package:google_play_services_base_java",
"//base:base_java",
"//base:base_shared_preferences_java",
"//base/version_info/android:version_constants_java",
diff --git a/chrome/browser/password_manager/android/BUILD.gn b/chrome/browser/password_manager/android/BUILD.gn
--- a/chrome/browser/password_manager/android/BUILD.gn
+++ b/chrome/browser/password_manager/android/BUILD.gn
@@ -126,8 +126,6 @@ android_library("java") {
":java_resources",
":settings_interface_java",
":utils_java",
- "$google_play_services_package:google_play_services_base_java",
- "$google_play_services_package:google_play_services_basement_java",
"account_storage_notice:java",
"//base:base_java",
"//build/android:build_java",
@@ -266,7 +264,6 @@ android_library("utils_java") {
deps = [
":java_resources",
- "$google_play_services_package:google_play_services_base_java",
"//base:base_java",
"//base:resetters_java",
"//base:tasks_java",
@@ -354,8 +351,6 @@ robolectric_binary("password_manager_junit_tests") {
":test_support_java",
":unified_password_manager_proto_java",
":utils_java",
- "$google_play_services_package:google_play_services_base_java",
- "$google_play_services_package:google_play_services_basement_java",
"access_loss:junit",
"account_storage_notice:junit",
"add_username_dialog:junit",
diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/GmsUpdateLauncher.java b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/GmsUpdateLauncher.java
--- a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/GmsUpdateLauncher.java
+++ b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/GmsUpdateLauncher.java
@@ -9,8 +9,6 @@ import android.content.Context;
import android.content.Intent;
import android.net.Uri;
-import com.google.android.gms.common.GoogleApiAvailability;
-
import org.chromium.build.annotations.NullMarked;
/** Launches the UI through which the user can update Google Play Services/ */
@@ -25,31 +23,5 @@ public class GmsUpdateLauncher {
* @param context to start the new store Activity from.
*/
public static void launch(Context context) {
- Intent intent = new Intent(Intent.ACTION_VIEW);
- String deepLinkUrl =
- "market://details?id="
- + GoogleApiAvailability.GOOGLE_PLAY_SERVICES_PACKAGE
- + "&referrer="
- + STORE_REFERER;
-
- intent.setPackage("com.android.vending");
- intent.setData(Uri.parse(deepLinkUrl));
- intent.putExtra("callerId", context.getPackageName());
- intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-
- // Request for overlay flow, Play Store will fallback to the default
- // behaviour if overlay is not available.
- // TODO(crbug.com/40855336): Use AlleyOop v3 overlay UI after fixing Chrome restart
- // during the GMS Core installation.
- // intent.putExtra("overlay", true);
- try {
- context.startActivity(intent);
- } catch (ActivityNotFoundException e) {
- // In case that Google Play Store isn't present on the device, its activity could not
- // have been started.
- // TODO: b/334051261 - Instead of silently failing to open Google Play Store to offer
- // updating GMS Core, either don't offer the option at all or indicate why the update
- // button didn't work.
- }
}
}
diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerAndroidBackendUtil.java b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerAndroidBackendUtil.java
--- a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerAndroidBackendUtil.java
+++ b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerAndroidBackendUtil.java
@@ -5,10 +5,6 @@ package org.chromium.chrome.browser.password_manager;
import android.app.PendingIntent;
-import com.google.android.gms.common.ConnectionResult;
-import com.google.android.gms.common.api.ApiException;
-import com.google.android.gms.common.api.ResolvableApiException;
-
import org.chromium.base.Log;
import org.chromium.build.annotations.NullMarked;
import org.chromium.build.annotations.Nullable;
@@ -28,9 +24,6 @@ class PasswordManagerAndroidBackendUtil {
if (exception instanceof PasswordStoreAndroidBackend.BackendException) {
return ((PasswordStoreAndroidBackend.BackendException) exception).errorCode;
}
- if (exception instanceof ApiException) {
- return AndroidBackendErrorType.EXTERNAL_ERROR;
- }
return AndroidBackendErrorType.UNCATEGORIZED;
}
@@ -39,41 +32,14 @@ class PasswordManagerAndroidBackendUtil {
return ((PasswordCheckupClientHelper.PasswordCheckBackendException) exception)
.errorCode;
}
- if (exception instanceof ApiException) {
- return CredentialManagerError.API_EXCEPTION;
- }
return CredentialManagerError.OTHER_API_ERROR;
}
static int getApiErrorCode(Exception exception) {
- if (exception instanceof ApiException) {
- return ((ApiException) exception).getStatusCode();
- }
- return 0; // '0' means SUCCESS.
+ return 13; // '13' means ERROR
}
static @Nullable Integer getConnectionResultCode(Exception exception) {
- if (!(exception instanceof ApiException)) return null;
-
- ConnectionResult connectionResult =
- ((ApiException) exception).getStatus().getConnectionResult();
- if (connectionResult == null) return null;
-
- return connectionResult.getErrorCode();
- }
-
- static void handleResolvableApiException(ResolvableApiException exception) {
- // No special resolution for the authentication errors is needed since the user has already
- // been prompted to reauthenticate by Google services and Sync in Chrome.
- if (exception.getStatusCode() == ChromeSyncStatusCode.AUTH_ERROR_RESOLVABLE) return;
-
- // For all other resolvable errors, an intent is launched allowing the user to fix the
- // broken state.
- PendingIntent pendingIntent = exception.getResolution();
- try {
- pendingIntent.send();
- } catch (PendingIntent.CanceledException e) {
- Log.e(TAG, "Can not launch error resolution intent", e);
- }
+ return null;
}
}
diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerHelper.java b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerHelper.java
--- a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerHelper.java
+++ b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerHelper.java
@@ -22,8 +22,6 @@ import androidx.annotation.IntDef;
import androidx.annotation.VisibleForTesting;
import androidx.fragment.app.FragmentActivity;
-import com.google.android.gms.common.api.ApiException;
-
import org.jni_zero.JniType;
import org.jni_zero.NativeMethods;
@@ -739,13 +737,6 @@ public class PasswordManagerHelper {
// If the exception is not a Chrome-defined one, it means that the call failed at the
// API call level. It could have either failed with a known ApiException or because of a
// different error (e.g. a different exception thrown by the implementation of the API).
- if (!(exception instanceof ApiException)) {
- RecordHistogram.recordEnumeratedHistogram(
- kGetIntentErrorHistogram,
- CredentialManagerError.OTHER_API_ERROR,
- CredentialManagerError.COUNT);
- return;
- }
RecordHistogram.recordEnumeratedHistogram(
kGetIntentErrorHistogram,
diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordSyncControllerDelegateBridgeImpl.java b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordSyncControllerDelegateBridgeImpl.java
--- a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordSyncControllerDelegateBridgeImpl.java
+++ b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordSyncControllerDelegateBridgeImpl.java
@@ -4,8 +4,6 @@
package org.chromium.chrome.browser.password_manager;
-import com.google.android.gms.common.api.ApiException;
-
import org.jni_zero.CalledByNative;
import org.jni_zero.NativeMethods;
@@ -78,11 +76,6 @@ class PasswordSyncControllerDelegateBridgeImpl {
error = ((PasswordStoreAndroidBackend.BackendException) exception).errorCode;
}
- if (exception instanceof ApiException) {
- error = AndroidBackendErrorType.EXTERNAL_ERROR;
- apiErrorCode = ((ApiException) exception).getStatusCode();
- }
-
PasswordSyncControllerDelegateBridgeImplJni.get()
.onCredentialManagerError(mNativeDelegateBridgeImpl, error, apiErrorCode);
}
diff --git a/chrome/browser/password_manager/android/one_time_passwords/BUILD.gn b/chrome/browser/password_manager/android/one_time_passwords/BUILD.gn
--- a/chrome/browser/password_manager/android/one_time_passwords/BUILD.gn
+++ b/chrome/browser/password_manager/android/one_time_passwords/BUILD.gn
@@ -47,7 +47,6 @@ android_library("java") {
]
deps = [
- "$google_play_services_package:google_play_services_basement_java",
"//base:base_java",
"//build/android:build_java",
"//chrome/browser/password_manager/android/one_time_passwords:sms_otp_fetching_interface_java",
@@ -61,7 +60,6 @@ android_library("java") {
android_library("sms_otp_fetching_interface_java") {
deps = [
- "$google_play_services_package:google_play_services_basement_java",
"//base:base_java",
"//base:service_loader_java",
]
diff --git a/chrome/browser/password_manager/android/one_time_passwords/java/src/org/chromium/chrome/browser/password_manager/one_time_passwords/AndroidSmsOtpFetchReceiverBridge.java b/chrome/browser/password_manager/android/one_time_passwords/java/src/org/chromium/chrome/browser/password_manager/one_time_passwords/AndroidSmsOtpFetchReceiverBridge.java
--- a/chrome/browser/password_manager/android/one_time_passwords/java/src/org/chromium/chrome/browser/password_manager/one_time_passwords/AndroidSmsOtpFetchReceiverBridge.java
+++ b/chrome/browser/password_manager/android/one_time_passwords/java/src/org/chromium/chrome/browser/password_manager/one_time_passwords/AndroidSmsOtpFetchReceiverBridge.java
@@ -4,8 +4,6 @@
package org.chromium.chrome.browser.password_manager.one_time_passwords;
-import com.google.android.gms.common.api.ApiException;
-
import org.jni_zero.CalledByNative;
import org.jni_zero.NativeMethods;
@@ -34,11 +32,11 @@ class AndroidSmsOtpFetchReceiverBridge {
.onOtpValueRetrieved(mNativeReceiverBridge, otpValue);
}
- void onOtpValueRetrievalError(ApiException exception) {
+ void onOtpValueRetrievalError(Object exception) {
if (mNativeReceiverBridge == 0) return;
AndroidSmsOtpFetchReceiverBridgeJni.get()
- .onOtpValueRetrievalError(mNativeReceiverBridge, exception.getStatusCode());
+ .onOtpValueRetrievalError(mNativeReceiverBridge, 500);
}
@CalledByNative
diff --git a/chrome/browser/password_manager/android/one_time_passwords/java/src/org/chromium/chrome/browser/password_manager/one_time_passwords/AndroidSmsOtpFetcher.java b/chrome/browser/password_manager/android/one_time_passwords/java/src/org/chromium/chrome/browser/password_manager/one_time_passwords/AndroidSmsOtpFetcher.java
--- a/chrome/browser/password_manager/android/one_time_passwords/java/src/org/chromium/chrome/browser/password_manager/one_time_passwords/AndroidSmsOtpFetcher.java
+++ b/chrome/browser/password_manager/android/one_time_passwords/java/src/org/chromium/chrome/browser/password_manager/one_time_passwords/AndroidSmsOtpFetcher.java
@@ -3,8 +3,6 @@
// found in the LICENSE file.
package org.chromium.chrome.browser.password_manager.one_time_passwords;
-import com.google.android.gms.common.api.ApiException;
-
import org.chromium.base.Callback;
import org.chromium.build.annotations.NullMarked;
@@ -17,5 +15,5 @@ public interface AndroidSmsOtpFetcher {
* @param otpValueCallback Callback that is called on success with the fetched OTP value string.
* @param failureCallback A callback that is called on failure for any reason.
*/
- void retrieveSmsOtp(Callback otpValueCallback, Callback failureCallback);
+ void retrieveSmsOtp(Callback otpValueCallback, Callback