bromite/build/patches/Remove-binary-blob-integrations.patch
2022-12-22 09:45:14 +08:00

4385 lines
203 KiB
Diff

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 -
chrome/android/BUILD.gn | 45 +-
chrome/android/chrome_java_sources.gni | 5 -
.../features/cablev2_authenticator/BUILD.gn | 2 -
chrome/android/java/AndroidManifest.xml | 68 ---
.../java/res/xml/privacy_preferences.xml | 5 -
.../org/chromium/chrome/browser/AppHooks.java | 14 +-
.../browser/PlayServicesVersionInfo.java | 12 +-
.../ChromeBackgroundTaskFactory.java | 3 -
.../ExternalNavigationDelegateImpl.java | 8 +-
.../gcore/ChromeGoogleApiClientImpl.java | 25 +-
.../browser/gcore/GoogleApiClientHelper.java | 82 +--
.../instantapps/InstantAppsHandler.java | 48 +-
.../browser/omaha/UpdateStatusProvider.java | 10 +-
.../settings/PasswordSettings.java | 9 -
.../modules/chrome_feature_modules.gni | 3 -
chrome/browser/BUILD.gn | 2 -
chrome/browser/language/android/BUILD.gn | 2 -
.../language/AppLanguagePromoDialog.java | 23 -
.../AppLanguagePreferenceDelegate.java | 8 -
.../language/settings/LanguageSettings.java | 6 -
.../prefetch/prefetch_service_factory.cc | 16 -
.../browser/password_manager/android/BUILD.gn | 4 -
.../PasswordManagerAndroidBackendUtil.java | 43 +-
.../PasswordSettingsUpdaterBridge.java | 11 -
...PasswordStoreAndroidBackendBridgeImpl.java | 3 +-
...swordSyncControllerDelegateBridgeImpl.java | 7 -
.../push_messaging_service_factory.cc | 8 +-
chrome/browser/resources/settings/route.ts | 2 -
chrome/browser/ui/BUILD.gn | 3 -
chrome/browser/ui/webauthn/sheet_models.cc | 7 +-
.../webui/chrome_web_ui_controller_factory.cc | 3 -
.../authenticator_request_dialog_model.cc | 4 -
chrome/browser/webauthn/cablev2_devices.cc | 3 +
chrome/test/android/BUILD.gn | 2 -
components/background_task_scheduler/BUILD.gn | 5 -
.../internal/BUILD.gn | 6 -
...ackgroundTaskSchedulerFactoryInternal.java | 6 +-
.../component_updater/UpdateScheduler.java | 1 -
.../ExternalNavigationHandler.java | 8 -
components/externalauth/android/BUILD.gn | 3 -
.../externalauth/ExternalAuthUtils.java | 19 +-
.../UserRecoverableErrorHandler.java | 7 -
.../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 | 47 +-
.../media_router/browser/android/BUILD.gn | 9 -
.../media_router/BrowserMediaRouter.java | 18 +-
.../media_router/CastSessionUtil.java | 35 --
.../components/media_router/MediaSink.java | 44 +-
.../media_router/MediaStatusBridge.java | 40 +-
.../caf/BaseNotificationController.java | 52 --
.../caf/BaseSessionController.java | 100 +---
.../caf/CafBaseMediaRouteProvider.java | 114 +---
.../caf/CafMediaRouteProvider.java | 16 -
.../media_router/caf/CafMessageHandler.java | 97 +---
.../media_router/caf/CastMediaSource.java | 10 +-
.../media_router/caf/CastOptionsProvider.java | 22 +-
.../caf/CastSessionController.java | 84 ---
.../media_router/caf/CastUtils.java | 8 -
.../CafExpandedControllerActivity.java | 41 +-
.../CafRemotingMediaRouteProvider.java | 5 +-
.../remoting/FlingingControllerAdapter.java | 74 ---
.../caf/remoting/RemotingMediaSource.java | 8 +-
.../remoting/RemotingSessionController.java | 26 -
.../test/android/cast_emulator/BUILD.gn | 1 -
components/module_installer/android/BUILD.gn | 2 -
components/signin/public/android/BUILD.gn | 3 -
.../signin/AccountRenameChecker.java | 16 -
components/webauthn/android/BUILD.gn | 9 -
.../webauthn/AuthenticatorImpl.java | 85 +--
.../webauthn/Fido2ApiCallHelper.java | 23 +-
.../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 | 10 +-
remoting/android/client_java_tmpl.gni | 3 -
services/BUILD.gn | 9 -
services/device/geolocation/BUILD.gn | 4 -
services/shape_detection/BUILD.gn | 4 -
third_party/android_deps/BUILD.gn | 539 +-----------------
.../preconditions/javatests/BUILD.gn | 1 -
.../gms/ChromiumPlayServicesAvailability.java | 10 +-
85 files changed, 98 insertions(+), 2049 deletions(-)
diff --git a/android_webview/expectations/system_webview_bundle.AndroidManifest.expected b/android_webview/expectations/system_webview_bundle.AndroidManifest.expected
index 94da9a283b55e..f9c57c5cc153a 100644
--- a/android_webview/expectations/system_webview_bundle.AndroidManifest.expected
+++ b/android_webview/expectations/system_webview_bundle.AndroidManifest.expected
@@ -19,10 +19,6 @@
android:label="Android System WebView"
android:multiArch="true"
android:use32bitAbi="true">
- <activity # DIFF-ANCHOR: ea1a94af
- android:name="com.google.android.gms.common.api.GoogleApiActivity"
- android:exported="false"
- android:theme="@android:style/Theme.Translucent.NoTitleBar">
</activity> # DIFF-ANCHOR: ea1a94af
<activity # DIFF-ANCHOR: a4438884
android:name="org.chromium.android_webview.devui.MainActivity"
@@ -66,7 +62,6 @@
android:visibleToInstantApps="true">
</activity-alias> # DIFF-ANCHOR: b7cc06e9
<meta-data android:name="$PACKAGE.WebViewLibrary" android:value="libwebviewchromium.so"/>
- <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
<meta-data android:name="org.chromium.content.browser.NUM_PRIVILEGED_SERVICES" android:value="0"/>
<meta-data android:name="org.chromium.content.browser.NUM_SANDBOXED_SERVICES" android:value="40"/>
<provider # DIFF-ANCHOR: a5e78e63
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
index 440277b82f7d8..ef72700a4f65b 100644
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -365,14 +365,6 @@ if (current_toolchain == default_toolchain) {
":chrome_public_apk_template_resources",
":update_proto_java",
":usage_stats_proto_java",
- "$google_play_services_package:google_play_services_auth_base_java",
- "$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:jni_java",
"//cc:cc_java",
"//chrome/android/features/keyboard_accessory:public_java",
@@ -658,8 +650,19 @@ if (current_toolchain == default_toolchain) {
"//services/shape_detection:shape_detection_java",
"//services/shape_detection/public/mojom:mojom_java",
"//skia/public/mojom:mojom_java",
+ # added for Bromite in place of binary blobs
+ "//third_party/androidx:androidx_annotation_annotation_java",
+ "//third_party/androidx:androidx_lifecycle_lifecycle_common_java",
+ "//third_party/androidx:androidx_appcompat_appcompat_java",
+ "//third_party/androidx:androidx_fragment_fragment_java",
+ "//third_party/androidx:androidx_core_core_java",
+ "//third_party/androidx:androidx_media_media_java",
+ "//third_party/androidx:androidx_recyclerview_recyclerview_java",
+ "//third_party/androidx:androidx_vectordrawable_vectordrawable_java",
+ "//base:base_java",
+ "//base:jni_java",
+
"//third_party/android_deps:chromium_play_services_availability_java",
- "//third_party/android_deps:com_google_android_play_core_java",
"//third_party/android_deps:com_google_code_findbugs_jsr305_java",
"//third_party/android_deps:com_google_guava_listenablefuture_java",
"//third_party/android_deps:dagger_java",
@@ -956,11 +959,6 @@ if (current_toolchain == default_toolchain) {
":chrome_jni_headers",
":chrome_public_android_manifest",
":delegate_public_impl_java",
- "$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",
"//base:base_java_test_support",
"//base:base_junit_test_support",
"//base/test:test_support_java",
@@ -1492,13 +1490,6 @@ if (current_toolchain == default_toolchain) {
":chrome_test_util_java",
":chrome_test_util_jni",
":delegate_public_impl_java",
- "$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_test_support",
"//base/test:test_support_java",
"//cc:cc_java",
@@ -2423,7 +2414,6 @@ if (current_toolchain == default_toolchain) {
]
deps = [
":chrome_java",
- "$google_play_services_package:google_play_services_gcm_java",
"//base:base_java",
"//base:base_java_test_support",
"//base:jni_java",
@@ -2576,7 +2566,6 @@ if (current_toolchain == default_toolchain) {
# is in a DFM.
android_library("base_module_java") {
sources = [
- "java/src/com/google/ipc/invalidation/ticl/android2/channel/GcmRegistrationTaskService.java",
"java/src/org/chromium/chrome/app/TrichromeZygotePreload.java",
"java/src/org/chromium/chrome/browser/ChromeBackgroundService.java",
"java/src/org/chromium/chrome/browser/ChromeBackupAgent.java",
@@ -2592,8 +2581,6 @@ if (current_toolchain == default_toolchain) {
"java/src/org/chromium/chrome/browser/base/SplitCompatBackupAgent.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatContentProvider.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatCustomTabsService.java",
- "java/src/org/chromium/chrome/browser/base/SplitCompatGcmListenerService.java",
- "java/src/org/chromium/chrome/browser/base/SplitCompatGcmTaskService.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatIntentService.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatJobService.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatMinidumpUploadJobService.java",
@@ -2618,17 +2605,11 @@ if (current_toolchain == default_toolchain) {
"java/src/org/chromium/chrome/browser/photo_picker/DecoderService.java",
"java/src/org/chromium/chrome/browser/prerender/ChromePrerenderService.java",
"java/src/org/chromium/chrome/browser/provider/ChromeBrowserProvider.java",
- "java/src/org/chromium/chrome/browser/services/gcm/ChromeGcmListenerService.java",
- "java/src/org/chromium/chrome/browser/services/gcm/GCMBackgroundService.java",
- "java/src/org/chromium/chrome/browser/services/gcm/InvalidationGcmUpstreamSender.java",
"java/src/org/chromium/chrome/browser/tracing/TracingNotificationService.java",
"java/src/org/chromium/chrome/browser/webapps/WebApkInstallCoordinatorService.java",
]
deps = [
":chrome_base_module_resources",
- "$google_play_services_package:google_firebase_firebase_iid_java",
- "$google_play_services_package:google_firebase_firebase_messaging_java",
- "$google_play_services_package:google_play_services_gcm_java",
"//base:base_java",
"//base:jni_java",
"//chrome/browser/download/android:file_provider_java",
@@ -2642,7 +2623,6 @@ if (current_toolchain == default_toolchain) {
"//components/media_router/browser/android:cast_options_provider_java",
"//components/minidump_uploader:minidump_uploader_java",
"//components/module_installer/android:module_installer_java",
- "//third_party/android_deps:com_google_android_play_core_java",
"//third_party/androidx:androidx_annotation_annotation_java",
"//third_party/androidx:androidx_collection_collection_java",
"//ui/android:ui_no_recycler_view_java",
@@ -2662,7 +2642,6 @@ if (current_toolchain == default_toolchain) {
# Deps to pull services into base module.
# TODO(crbug.com/1126301): Consider moving these to the chrome module to
# reduce base dex size.
- "$google_play_services_package:google_play_services_cast_framework_java",
"//components/background_task_scheduler:background_task_scheduler_java",
"//components/payments/content/android:service_java",
"//third_party/androidx:androidx_browser_browser_java",
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
index 64dcc64e65d27..a11dd6e2b4e81 100644
--- a/chrome/android/chrome_java_sources.gni
+++ b/chrome/android/chrome_java_sources.gni
@@ -16,7 +16,6 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java",
"java/src/org/chromium/chrome/browser/ChromeActivitySessionTracker.java",
"java/src/org/chromium/chrome/browser/ChromeApplicationImpl.java",
- "java/src/org/chromium/chrome/browser/ChromeBackgroundServiceImpl.java",
"java/src/org/chromium/chrome/browser/ChromeBackupAgentImpl.java",
"java/src/org/chromium/chrome/browser/ChromeBackupWatcher.java",
"java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java",
@@ -953,10 +952,6 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/segmentation_platform/PriceTrackingActionProvider.java",
"java/src/org/chromium/chrome/browser/segmentation_platform/ReaderModeActionProvider.java",
"java/src/org/chromium/chrome/browser/segmentation_platform/SignalAccumulator.java",
- "java/src/org/chromium/chrome/browser/services/gcm/ChromeGcmListenerServiceImpl.java",
- "java/src/org/chromium/chrome/browser/services/gcm/GCMBackgroundServiceImpl.java",
- "java/src/org/chromium/chrome/browser/services/gcm/GCMBackgroundTask.java",
- "java/src/org/chromium/chrome/browser/services/gcm/GcmUma.java",
"java/src/org/chromium/chrome/browser/settings/MainSettings.java",
"java/src/org/chromium/chrome/browser/settings/SettingsActivity.java",
"java/src/org/chromium/chrome/browser/settings/SettingsLauncherImpl.java",
diff --git a/chrome/android/features/cablev2_authenticator/BUILD.gn b/chrome/android/features/cablev2_authenticator/BUILD.gn
index ccd0782dbc2db..c1555e17a7a97 100644
--- a/chrome/android/features/cablev2_authenticator/BUILD.gn
+++ b/chrome/android/features/cablev2_authenticator/BUILD.gn
@@ -16,8 +16,6 @@ android_library("java") {
deps = [
":java_resources",
":logging_java",
- "$google_play_services_package:google_play_services_base_java",
- "$google_play_services_package:google_play_services_tasks_java",
"//base:base_java",
"//base:jni_java",
"//build/android:build_java",
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
index 78f86e48ed582..8f1a3925dbb07 100644
--- a/chrome/android/java/AndroidManifest.xml
+++ b/chrome/android/java/AndroidManifest.xml
@@ -106,21 +106,16 @@ by a child template that "extends" this file.
<permission android:name="{{ manifest_package }}.permission.CHILD_SERVICE" android:protectionLevel="signature" />
<permission android:name="{{ manifest_package }}.permission.READ_WRITE_BOOKMARK_FOLDERS" android:protectionLevel="signatureOrSystem" />
<permission android:name="{{ manifest_package }}.TOS_ACKED" android:protectionLevel="signatureOrSystem" />
- <!-- Only chrome can receive the messages and registration result -->
- <permission android:name="{{ manifest_package }}.permission.C2D_MESSAGE"
- android:protectionLevel="signature" />
<permission android:name="{{ manifest_package }}.permission.DEBUG"
android:label="Debug web pages"
android:protectionLevel="signature" />
<permission android:name="{{ manifest_package }}.permission.TRANSLATE"
android:protectionLevel="signature" />
- <uses-permission android:name="{{ manifest_package }}.permission.C2D_MESSAGE" />
<uses-permission android:name="{{ manifest_package }}.permission.READ_WRITE_BOOKMARK_FOLDERS" />
<uses-permission android:name="{{ manifest_package }}.TOS_ACKED" />
<uses-permission android:name="com.chrome.permission.DEVICE_EXTRAS" />
- <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
{% block extra_uses_permissions %}
@@ -750,16 +745,6 @@ by a child template that "extends" this file.
</intent-filter>
</activity>
- <activity android:name="org.chromium.components.media_router.caf.remoting.CafExpandedControllerActivity"
- android:theme="@style/Theme.Chromium.Activity"
- android:label="Chrome.CafExpandedControllerActivity"
- android:hardwareAccelerated="true"
- android:launchMode="singleTask"
- android:noHistory="true"
- android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
- android:excludeFromRecents="true">
- </activity>
-
<!-- This activity is used to restart the main Chrome process. Should never be exported. -->
<activity android:name="org.chromium.chrome.browser.BrowserRestartActivity"
android:launchMode="singleInstance"
@@ -769,15 +754,6 @@ by a child template that "extends" this file.
android:process=":browser_restart_process">
</activity>
- <!-- Activity for dispatching intents to Instant Apps. -->
- <activity
- android:name="org.chromium.chrome.browser.instantapps.AuthenticatedProxyActivity"
- android:exported="false"
- android:theme="@style/Theme.BrowserUI.NoDisplay"
- android:noHistory="true"
- android:excludeFromRecents="true">
- </activity>
-
<activity
android:name="org.chromium.chrome.browser.vr.VrCancelAnimationActivity"
android:exported="false"
@@ -956,26 +932,6 @@ by a child template that "extends" this file.
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
android:hardwareAccelerated="false" />
- <!-- GcmTaskService for registration for Invalidations. Not actually implemented anymore. -->
- <service android:name="com.google.ipc.invalidation.ticl.android2.channel.GcmRegistrationTaskService"
- android:exported="true"
- android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE" >
- <intent-filter>
- <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY"/>
- </intent-filter>
- </service>
- <!-- GcmListenerService for messages from GCM. -->
- <service android:name="org.chromium.chrome.browser.services.gcm.ChromeGcmListenerService"
- android:exported="false" >
- <intent-filter>
- <action android:name="com.google.firebase.MESSAGING_EVENT" />
- </intent-filter>
- </service>
- <service android:name="org.chromium.chrome.browser.services.gcm.GCMBackgroundService"
- android:exported="false"/>
- <service android:name="org.chromium.chrome.browser.services.gcm.InvalidationGcmUpstreamSender"
- android:exported="false"/>
-
<!-- Android Notification service listener -->
<service android:name="org.chromium.chrome.browser.notifications.NotificationService"
android:exported="false"/>
@@ -1007,28 +963,10 @@ by a child template that "extends" this file.
android:exported="false"
android:permission="android.permission.BIND_JOB_SERVICE"/>
- <!-- Background Task Scheduler GCM task service -->
- <service android:name="org.chromium.components.background_task_scheduler.internal.BackgroundTaskGcmTaskService"
- android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE"
- android:exported="true">
- <intent-filter>
- <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY" />
- </intent-filter>
- </service>
-
<!-- Background Task Scheduler alarm receiver -->
<receiver android:name="org.chromium.components.background_task_scheduler.internal.BackgroundTaskBroadcastReceiver"
android:exported="false" />
- <!-- GcmTaskService implementation to wake Chrome on scheduled events -->
- <service android:name="org.chromium.chrome.browser.ChromeBackgroundService"
- android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE"
- android:exported="true">
- <intent-filter>
- <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY" />
- </intent-filter>
- </service>
-
<service android:name="org.chromium.chrome.browser.prerender.ChromePrerenderService"
android:exported="true"
tools:ignore="ExportedService" />
@@ -1263,12 +1201,6 @@ by a child template that "extends" this file.
<meta-data android:name="com.google.ar.core" android:value="optional" />
{% endif %}
- <!-- Cast support -->
- <meta-data
- android:name=
- "com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
- android:value="org.chromium.components.media_router.caf.CastOptionsProvider"/>
-
<!-- These providers are declared in the base module to give the chrome
split preloader more time to work. -->
<provider android:name="org.chromium.chrome.browser.util.ChromeFileProvider"
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
index 1c682a61eec88..a832aa96c8641 100644
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -57,9 +57,4 @@ found in the LICENSE file.
android:summary="@string/autocomplete_searches_and_urls_summary"
android:persistent="false"/>
</PreferenceCategory>
- <Preference
- android:key="phone_as_a_security_key"
- android:title="@string/cablev2_paask_title"
- android:summary="@string/cablev2_paask_body"
- android:fragment="org.chromium.chrome.browser.webauthn.PrivacySettingsFragment"/>
</PreferenceScreen>
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java b/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
index c32175b68fc55..cefb8dd631113 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
@@ -10,9 +10,6 @@ import android.content.pm.PackageManager;
import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
-import com.google.android.gms.common.ConnectionResult;
-import com.google.android.gms.common.GoogleApiAvailability;
-
import org.chromium.base.ContextUtils;
import org.chromium.base.annotations.CalledByNative;
import org.chromium.chrome.browser.customtabs.CustomTabsConnection;
@@ -220,16 +217,7 @@ public abstract class AppHooks {
* same as {@link GoogleApiAvailability#isGooglePlayServicesAvailable()}.
*/
public int isGoogleApiAvailableWithMinApkVersion(int minApkVersion) {
- try {
- PackageInfo gmsPackageInfo =
- ContextUtils.getApplicationContext().getPackageManager().getPackageInfo(
- GoogleApiAvailability.GOOGLE_PLAY_SERVICES_PACKAGE, /* flags= */ 0);
- int apkVersion = gmsPackageInfo.versionCode;
- if (apkVersion >= minApkVersion) return ConnectionResult.SUCCESS;
- } catch (PackageManager.NameNotFoundException e) {
- return ConnectionResult.SERVICE_MISSING;
- }
- return ConnectionResult.SERVICE_VERSION_UPDATE_REQUIRED;
+ return 1; /* SERVICE_MISSING*/
}
/**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/PlayServicesVersionInfo.java b/chrome/android/java/src/org/chromium/chrome/browser/PlayServicesVersionInfo.java
index d622ca1ec488f..2ed528721a35f 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/PlayServicesVersionInfo.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/PlayServicesVersionInfo.java
@@ -7,8 +7,6 @@ package org.chromium.chrome.browser;
import android.content.Context;
import android.content.pm.PackageManager;
-import com.google.android.gms.common.GoogleApiAvailability;
-
import org.chromium.base.ContextUtils;
import org.chromium.base.annotations.CalledByNative;
import org.chromium.components.externalauth.ExternalAuthUtils;
@@ -29,7 +27,7 @@ public class PlayServicesVersionInfo {
public static String getGmsInfo() {
Context context = ContextUtils.getApplicationContext();
- final long sdkVersion = GoogleApiAvailability.GOOGLE_PLAY_SERVICES_VERSION_CODE;
+ final long sdkVersion = 12600000;
final long installedGmsVersion = getApkVersionNumber(context);
final String accessType;
@@ -53,12 +51,6 @@ public class PlayServicesVersionInfo {
* package is not found.
*/
public static int getApkVersionNumber(Context context) {
- try {
- return context.getPackageManager()
- .getPackageInfo(GoogleApiAvailability.GOOGLE_PLAY_SERVICES_PACKAGE, 0)
- .versionCode;
- } catch (PackageManager.NameNotFoundException e) {
- return 0;
- }
+ return 0;
}
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/background_task_scheduler/ChromeBackgroundTaskFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/background_task_scheduler/ChromeBackgroundTaskFactory.java
index e48ec92e0074e..269132d1cf671 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/background_task_scheduler/ChromeBackgroundTaskFactory.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/background_task_scheduler/ChromeBackgroundTaskFactory.java
@@ -15,7 +15,6 @@ import org.chromium.chrome.browser.notifications.scheduler.NotificationScheduler
import org.chromium.chrome.browser.offlinepages.OfflineBackgroundTask;
import org.chromium.chrome.browser.offlinepages.prefetch.PrefetchBackgroundTask;
import org.chromium.chrome.browser.omaha.OmahaService;
-import org.chromium.chrome.browser.services.gcm.GCMBackgroundTask;
import org.chromium.chrome.browser.webapps.WebApkUpdateTask;
import org.chromium.components.background_task_scheduler.BackgroundTask;
import org.chromium.components.background_task_scheduler.BackgroundTaskFactory;
@@ -56,8 +55,6 @@ public class ChromeBackgroundTaskFactory implements BackgroundTaskFactory {
switch (taskId) {
case TaskIds.OMAHA_JOB_ID:
return new OmahaService();
- case TaskIds.GCM_BACKGROUND_TASK_JOB_ID:
- return new GCMBackgroundTask();
case TaskIds.OFFLINE_PAGES_BACKGROUND_JOB_ID:
return new OfflineBackgroundTask();
case TaskIds.OFFLINE_PAGES_PREFETCH_JOB_ID:
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
index 8ddc6b362a68a..757a5a73cb2e2 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
@@ -176,12 +176,8 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat
@Override
public void maybeAdjustInstantAppExtras(Intent intent, boolean isIntentToInstantApp) {
- if (isIntentToInstantApp) {
- intent.putExtra(InstantAppsHandler.IS_GOOGLE_SEARCH_REFERRER, true);
- } else {
- // Make sure this extra is not sent unless we've done the verification.
- intent.removeExtra(InstantAppsHandler.IS_GOOGLE_SEARCH_REFERRER);
- }
+ // Always remove this extra
+ intent.removeExtra(InstantAppsHandler.IS_GOOGLE_SEARCH_REFERRER);
}
@Override
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gcore/ChromeGoogleApiClientImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/gcore/ChromeGoogleApiClientImpl.java
index 89b0e66cf6ade..87e8acbce607f 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/gcore/ChromeGoogleApiClientImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/gcore/ChromeGoogleApiClientImpl.java
@@ -6,9 +6,6 @@ package org.chromium.chrome.browser.gcore;
import android.content.Context;
-import com.google.android.gms.common.ConnectionResult;
-import com.google.android.gms.common.api.GoogleApiClient;
-
import org.chromium.base.Log;
import org.chromium.base.TraceEvent;
import org.chromium.components.externalauth.ExternalAuthUtils;
@@ -22,7 +19,6 @@ public class ChromeGoogleApiClientImpl implements ChromeGoogleApiClient {
private static final String TAG = "Icing";
private final Context mApplicationContext;
- private final GoogleApiClient mClient;
private final ExternalAuthUtils mExternalAuthUtils;
/**
@@ -32,10 +28,9 @@ public class ChromeGoogleApiClientImpl implements ChromeGoogleApiClient {
* @param requireFirstPartyBuild true if the given client can only be used in a first-party
* build.
*/
- public ChromeGoogleApiClientImpl(Context context, GoogleApiClient client,
+ public ChromeGoogleApiClientImpl(Context context,
boolean requireFirstPartyBuild) {
mApplicationContext = context.getApplicationContext();
- mClient = client;
mExternalAuthUtils = ExternalAuthUtils.getInstance();
if (requireFirstPartyBuild && !mExternalAuthUtils.isChromeGoogleSigned()) {
throw new IllegalStateException("GoogleApiClient requires first-party build");
@@ -44,7 +39,6 @@ public class ChromeGoogleApiClientImpl implements ChromeGoogleApiClient {
@Override
public void disconnect() {
- mClient.disconnect();
}
@Override
@@ -60,24 +54,11 @@ public class ChromeGoogleApiClientImpl implements ChromeGoogleApiClient {
@Override
public boolean connectWithTimeout(long timeout) {
TraceEvent.begin("ChromeGoogleApiClientImpl:connectWithTimeout");
- try {
- ConnectionResult result = mClient.blockingConnect(timeout, TimeUnit.MILLISECONDS);
- if (!result.isSuccess()) {
- Log.e(TAG, "Connection to GmsCore unsuccessful. Error %d", result.getErrorCode());
- } else {
- Log.d(TAG, "Connection to GmsCore successful.");
- }
- return result.isSuccess();
- } finally {
- TraceEvent.end("ChromeGoogleApiClientImpl:connectWithTimeout");
- }
+ TraceEvent.end("ChromeGoogleApiClientImpl:connectWithTimeout");
+ return false;
}
public Context getApplicationContext() {
return mApplicationContext;
}
-
- public GoogleApiClient getApiClient() {
- return mClient;
- }
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gcore/GoogleApiClientHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/gcore/GoogleApiClientHelper.java
index ebe93a130a681..3a51fac495a72 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/gcore/GoogleApiClientHelper.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/gcore/GoogleApiClientHelper.java
@@ -7,11 +7,6 @@ package org.chromium.chrome.browser.gcore;
import android.os.Bundle;
import android.os.Handler;
-import com.google.android.gms.common.ConnectionResult;
-import com.google.android.gms.common.api.GoogleApiClient;
-import com.google.android.gms.common.api.GoogleApiClient.ConnectionCallbacks;
-import com.google.android.gms.common.api.GoogleApiClient.OnConnectionFailedListener;
-
import org.chromium.base.ApplicationStatus;
import org.chromium.base.ApplicationStatus.ApplicationStateListener;
import org.chromium.base.Log;
@@ -67,29 +62,15 @@ import org.chromium.base.ThreadUtils;
* }
* </pre>
*/
-public class GoogleApiClientHelper
- implements OnConnectionFailedListener, ConnectionCallbacks {
+public class GoogleApiClientHelper {
private static final String TAG = "GCore";
private int mResolutionAttempts;
private boolean mWasConnectedBefore;
private final Handler mHandler = new Handler(ThreadUtils.getUiThreadLooper());
- private final GoogleApiClient mClient;
private long mDisconnectionDelayMs;
private Runnable mPendingDisconnect;
- /**
- * Creates a helper and enrolls it in the various connection management features.
- * See the class documentation for {@link GoogleApiClientHelper} for more information.
- *
- * @param client The client to wrap.
- */
- public GoogleApiClientHelper(GoogleApiClient client) {
- mClient = client;
- enableConnectionRetrying(true);
- enableLifecycleManagement(true);
- }
-
/**
* Opts in or out of lifecycle management. The client's connection will be closed and reopened
* when Chrome goes in and out of background.
@@ -116,13 +97,6 @@ public class GoogleApiClientHelper
* Enabling or disabling it while it is already enabled or disabled has no effect.
*/
public void enableConnectionRetrying(boolean enabled) {
- if (enabled) {
- mClient.registerConnectionCallbacks(this);
- mClient.registerConnectionFailedListener(this);
- } else {
- mClient.unregisterConnectionCallbacks(this);
- mClient.unregisterConnectionFailedListener(this);
- }
}
/**
@@ -155,21 +129,11 @@ public class GoogleApiClientHelper
// Cancel and reschedule the disconnection if we are in the background. We do it early to
// avoid race conditions between a disconnect on the UI thread and the connect below.
if (!ApplicationStatus.hasVisibleActivities()) scheduleDisconnection();
-
- // The client might be disconnected if we were idle in the background for too long.
- if (!mClient.isConnected() && !mClient.isConnecting()) {
- Log.d(TAG, "Reconnecting the client.");
- mClient.connect();
- }
}
void restoreConnectedState() {
// If we go back to the foreground before a delayed disconnect happens, cancel it.
cancelPendingDisconnection();
-
- if (mWasConnectedBefore) {
- mClient.connect();
- }
}
/**
@@ -192,12 +156,6 @@ public class GoogleApiClientHelper
}
private void disconnect() {
- if (mClient.isConnected() || mClient.isConnecting()) {
- mWasConnectedBefore = true;
- }
-
- // We always call disconnect to abort possibly pending connection requests.
- mClient.disconnect();
}
private void cancelPendingDisconnection() {
@@ -207,43 +165,7 @@ public class GoogleApiClientHelper
mPendingDisconnect = null;
}
- @Override
- public void onConnectionFailed(ConnectionResult result) {
- if (!isErrorRecoverableByRetrying(result.getErrorCode())) {
- Log.d(TAG, "Not retrying managed client connection. Unrecoverable error: %d",
- result.getErrorCode());
- return;
- }
-
- if (mResolutionAttempts < ConnectedTask.RETRY_NUMBER_LIMIT) {
- Log.d(TAG, "Retrying managed client connection. attempt %d/%d - errorCode: %d",
- mResolutionAttempts, ConnectedTask.RETRY_NUMBER_LIMIT, result.getErrorCode());
- mResolutionAttempts += 1;
-
- mHandler.postDelayed(new Runnable() {
- @Override
- public void run() {
- mClient.connect();
- }
- }, ConnectedTask.CONNECTION_RETRY_TIME_MS);
- }
- }
-
- @Override
- public void onConnected(Bundle connectionHint) {
- mResolutionAttempts = 0;
- }
-
- @Override
- public void onConnectionSuspended(int cause) {
- // GoogleApiClient handles retrying on suspension itself. Logging in case it didn't succeed
- // for some reason.
- Log.w(TAG, "Managed client connection suspended. Cause: %d", cause);
- }
-
private static boolean isErrorRecoverableByRetrying(int errorCode) {
- return errorCode == ConnectionResult.INTERNAL_ERROR
- || errorCode == ConnectionResult.NETWORK_ERROR
- || errorCode == ConnectionResult.SERVICE_UPDATING;
+ return false;
}
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java
index b00d1f2cba84f..10a2935dd225d 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java
@@ -45,24 +45,10 @@ public class InstantAppsHandler {
// TODO(mariakhomenko): Use system once we roll to O SDK.
private static final int FLAG_DO_NOT_LAUNCH = 0x00000200;
- // TODO(mariakhomenko): Depend directly on the constants once we roll to v8 libraries.
- private static final String DO_NOT_LAUNCH_EXTRA =
- "com.google.android.gms.instantapps.DO_NOT_LAUNCH_INSTANT_APP";
-
- protected static final String IS_REFERRER_TRUSTED_EXTRA =
- "com.google.android.gms.instantapps.IS_REFERRER_TRUSTED";
-
- protected static final String IS_USER_CONFIRMED_LAUNCH_EXTRA =
- "com.google.android.gms.instantapps.IS_USER_CONFIRMED_LAUNCH";
-
- protected static final String TRUSTED_REFERRER_PKG_EXTRA =
- "com.google.android.gms.instantapps.TRUSTED_REFERRER_PKG";
-
- public static final String IS_GOOGLE_SEARCH_REFERRER =
- "com.google.android.gms.instantapps.IS_GOOGLE_SEARCH_REFERRER";
-
- private static final String BROWSER_LAUNCH_REASON =
- "com.google.android.gms.instantapps.BROWSER_LAUNCH_REASON";
+ // this is kept to always remove it from intents
+ // TODO: remove also others?
+ public static final String IS_GOOGLE_SEARCH_REFERRER =
+ "com.google.android.gms.instantapps.IS_GOOGLE_SEARCH_REFERRER";
// Only two possible call sources for fallback intents, set boundary at n+1.
private static final int SOURCE_BOUNDARY = 3;
@@ -108,20 +94,6 @@ public class InstantAppsHandler {
* @param intent The current intent.
*/
private void maybeRecordFallbackStats(Intent intent) {
- Long startTime = IntentUtils.safeGetLongExtra(intent, INSTANT_APP_START_TIME_EXTRA, 0);
- if (startTime > 0) {
- RecordHistogram.recordTimesHistogram("Android.InstantApps.FallbackDuration",
- SystemClock.elapsedRealtime() - startTime);
- intent.removeExtra(INSTANT_APP_START_TIME_EXTRA);
- }
- int callSource = IntentUtils.safeGetIntExtra(intent, BROWSER_LAUNCH_REASON, 0);
- if (callSource > 0 && callSource < SOURCE_BOUNDARY) {
- RecordHistogram.recordEnumeratedHistogram(
- "Android.InstantApps.CallSource", callSource, SOURCE_BOUNDARY);
- intent.removeExtra(BROWSER_LAUNCH_REASON);
- } else if (callSource >= SOURCE_BOUNDARY) {
- Log.e(TAG, "Unexpected call source constant for Instant Apps: " + callSource);
- }
}
/**
@@ -156,14 +128,6 @@ public class InstantAppsHandler {
return false;
}
- if (IntentUtils.safeGetBooleanExtra(intent, DO_NOT_LAUNCH_EXTRA, false)
- || (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O
- && (intent.getFlags() & FLAG_DO_NOT_LAUNCH) != 0)) {
- maybeRecordFallbackStats(intent);
- Log.i(TAG, "Not handling with Instant Apps (DO_NOT_LAUNCH_EXTRA)");
- return false;
- }
-
if (IntentUtils.safeGetBooleanExtra(
intent, IntentHandler.EXTRA_OPEN_NEW_INCOGNITO_TAB, false)
|| IntentUtils.safeHasExtra(intent, WebappConstants.EXTRA_SOURCE)
@@ -189,7 +153,6 @@ public class InstantAppsHandler {
}
Intent callbackIntent = new Intent(intent);
- callbackIntent.putExtra(DO_NOT_LAUNCH_EXTRA, true);
callbackIntent.putExtra(INSTANT_APP_START_TIME_EXTRA, startTime);
return tryLaunchingInstantApp(context, intent, isCustomTabsIntent, callbackIntent);
@@ -291,12 +254,9 @@ public class InstantAppsHandler {
Intent iaIntent = data.getIntent();
if (data.getReferrer() != null) {
iaIntent.putExtra(Intent.EXTRA_REFERRER, data.getReferrer());
- iaIntent.putExtra(IS_REFERRER_TRUSTED_EXTRA, true);
}
Context appContext = ContextUtils.getApplicationContext();
- iaIntent.putExtra(TRUSTED_REFERRER_PKG_EXTRA, appContext.getPackageName());
- iaIntent.putExtra(IS_USER_CONFIRMED_LAUNCH_EXTRA, true);
try {
appContext.startActivity(iaIntent);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java
index 2f770dc4f83b5..0d5546613e285 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java
@@ -17,8 +17,6 @@ import androidx.annotation.IntDef;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
-import com.google.android.gms.common.GooglePlayServicesUtil;
-
import org.chromium.base.BuildInfo;
import org.chromium.base.Callback;
import org.chromium.base.ContextUtils;
@@ -328,13 +326,7 @@ public class UpdateStatusProvider {
}
private boolean isGooglePlayStoreAvailable(Context context) {
- try {
- context.getPackageManager().getPackageInfo(
- GooglePlayServicesUtil.GOOGLE_PLAY_STORE_PACKAGE, 0);
- } catch (PackageManager.NameNotFoundException e) {
- return false;
- }
- return true;
+ return false;
}
private long getSize(StatFs statFs) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java
index 22f27616abd9a..6d7adf9b68e9f 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java
@@ -120,7 +120,6 @@ public class PasswordSettings extends PreferenceFragmentCompat
private Preference mLinkPref;
private Menu mMenu;
- private @Nullable PasswordCheck mPasswordCheck;
private @ManagePasswordsReferrer int mManagePasswordsReferrer;
/**
@@ -182,7 +181,6 @@ public class PasswordSettings extends PreferenceFragmentCompat
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- mPasswordCheck = PasswordCheckFactory.getOrCreate(new SettingsLauncherImpl());
computeTrustedVaultBannerState();
}
@@ -287,9 +285,6 @@ public class PasswordSettings extends PreferenceFragmentCompat
createSavePasswordsSwitch();
createAutoSignInCheckbox();
- if (mPasswordCheck != null) {
- createCheckPasswords();
- }
if (mTrustedVaultBannerState == TrustedVaultBannerState.OPTED_IN) {
createTrustedVaultBanner(R.string.android_trusted_vault_banner_sub_label_opted_in,
@@ -464,10 +459,6 @@ public class PasswordSettings extends PreferenceFragmentCompat
// by the system.
if (getActivity().isFinishing()) {
PasswordManagerHandlerProvider.getInstance().removeObserver(this);
- if (mPasswordCheck != null
- && mManagePasswordsReferrer != ManagePasswordsReferrer.CHROME_SETTINGS) {
- PasswordCheckFactory.destroy();
- }
}
}
diff --git a/chrome/android/modules/chrome_feature_modules.gni b/chrome/android/modules/chrome_feature_modules.gni
index d5c7f779d11b1..ece7307e984e4 100644
--- a/chrome/android/modules/chrome_feature_modules.gni
+++ b/chrome/android/modules/chrome_feature_modules.gni
@@ -8,8 +8,6 @@ import(
import("//chrome/android/features/dev_ui/dev_ui_module.gni")
import("//chrome/android/features/tab_ui/tab_ui_module.gni")
import("//chrome/android/modules/buildflags.gni")
-import(
- "//chrome/android/modules/cablev2_authenticator/cablev2_authenticator_module.gni")
import("//chrome/android/modules/stack_unwinder/stack_unwinder_module.gni")
import("//chrome/android/modules/test_dummy/test_dummy_module.gni")
import("//device/vr/buildflags/buildflags.gni")
@@ -64,7 +62,6 @@ if (!disable_autofill_assistant_dfm) {
if (!disable_tab_ui_dfm) {
monochrome_module_descs += [ tab_ui_module_desc ]
}
-monochrome_module_descs += [ cablev2_authenticator_module_desc ]
# Modules shipped in Trichrome (Android Q+).
trichrome_module_descs = monochrome_module_descs
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 1b5e3ef259f9f..9b8f1fe5abc54 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -7324,8 +7324,6 @@ static_library("browser") {
"offline_pages/offliner_helper.h",
"offline_pages/offliner_user_data.cc",
"offline_pages/offliner_user_data.h",
- "offline_pages/prefetch/gcm_token.cc",
- "offline_pages/prefetch/gcm_token.h",
"offline_pages/prefetch/offline_metrics_collector_impl.cc",
"offline_pages/prefetch/offline_metrics_collector_impl.h",
"offline_pages/prefetch/offline_prefetch_download_client.cc",
diff --git a/chrome/browser/language/android/BUILD.gn b/chrome/browser/language/android/BUILD.gn
index e609cfb950f89..be5677e48452a 100644
--- a/chrome/browser/language/android/BUILD.gn
+++ b/chrome/browser/language/android/BUILD.gn
@@ -9,14 +9,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 = [
"//base:base_java",
"//chrome/browser/preferences:java",
"//components/language/android:java",
"//components/language/android:ulp_delegate_java",
- "//third_party/android_deps:com_google_android_play_core_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
index 717d1edfcba85..49a0c25543cd5 100644
--- 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
@@ -531,12 +531,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.
@@ -544,23 +538,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/AppLanguagePreferenceDelegate.java b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/AppLanguagePreferenceDelegate.java
index c07922e9ff921..c526096bde3d7 100644
--- a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/AppLanguagePreferenceDelegate.java
+++ b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/AppLanguagePreferenceDelegate.java
@@ -87,14 +87,6 @@ public class AppLanguagePreferenceDelegate {
// Disable preference so a second downloaded cannot be started while one is in progress.
mPreference.setEnabled(false);
-
- AppLocaleUtils.setAppLanguagePref(code, (success) -> {
- if (success) {
- languageSplitDownloadComplete();
- } else {
- languageSplitDownloadFailed();
- }
- });
}
/**
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
index 2c8af6ded3ed0..31912e7a6c993 100644
--- 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
@@ -19,7 +19,6 @@ import org.chromium.base.Log;
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.PrefChangeRegistrar;
@@ -128,11 +127,6 @@ public class LanguageSettings extends PreferenceFragmentCompat
* translate target language, and detailed translate preferences.
*/
private void createDetailedPreferences(Bundle savedInstanceState, String rootKey) {
- // 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/offline_pages/prefetch/prefetch_service_factory.cc b/chrome/browser/offline_pages/prefetch/prefetch_service_factory.cc
index d1c2d7ac72344..12d98ea251d9d 100644
--- a/chrome/browser/offline_pages/prefetch/prefetch_service_factory.cc
+++ b/chrome/browser/offline_pages/prefetch/prefetch_service_factory.cc
@@ -18,7 +18,6 @@
#include "chrome/browser/image_fetcher/image_fetcher_service_factory.h"
#include "chrome/browser/net/system_network_context_manager.h"
#include "chrome/browser/offline_pages/offline_page_model_factory.h"
-#include "chrome/browser/offline_pages/prefetch/gcm_token.h"
#include "chrome/browser/offline_pages/prefetch/offline_metrics_collector_impl.h"
#include "chrome/browser/offline_pages/prefetch/prefetch_background_task_handler_impl.h"
#include "chrome/browser/profiles/profile.h"
@@ -68,21 +67,6 @@ void SwitchToFullBrowserImageFetcher(PrefetchServiceImpl* prefetch_service,
}
void OnProfileCreated(PrefetchServiceImpl* prefetch_service, Profile* profile) {
- if (IsPrefetchingOfflinePagesEnabled()) {
- // Trigger an update of the cached GCM token. This needs to be post tasked
- // because otherwise leads to circular dependency between
- // PrefetchServiceFactory and GCMProfileServiceFactory. See
- // https://crbug.com/944952
- // Update is not a priority so make sure it happens after the critical
- // startup path.
- content::GetUIThreadTaskRunner({base::TaskPriority::BEST_EFFORT})
- ->PostTask(FROM_HERE,
- base::BindOnce(
- &GetGCMToken, profile, kPrefetchingOfflinePagesAppId,
- base::BindOnce(&PrefetchServiceImpl::GCMTokenReceived,
- prefetch_service->GetWeakPtr())));
- }
-
SwitchToFullBrowserImageFetcher(prefetch_service, profile->GetProfileKey());
}
diff --git a/chrome/browser/password_manager/android/BUILD.gn b/chrome/browser/password_manager/android/BUILD.gn
index a7508a301d0e0..8ba6e6b1ee26d 100644
--- a/chrome/browser/password_manager/android/BUILD.gn
+++ b/chrome/browser/password_manager/android/BUILD.gn
@@ -85,8 +85,6 @@ android_library("java") {
":android_backend_java_enums",
":java_resources",
":settings_interface_java",
- "$google_play_services_package:google_play_services_base_java",
- "$google_play_services_package:google_play_services_basement_java",
"//base:base_java",
"//base:jni_java",
"//build/android:build_java",
@@ -197,8 +195,6 @@ robolectric_binary("password_manager_junit_tests") {
":public_impl_java",
":settings_interface_java",
":test_support_java",
- "$google_play_services_package:google_play_services_base_java",
- "$google_play_services_package:google_play_services_basement_java",
"//base:base_java",
"//base:base_java_test_support",
"//base:base_junit_test_support",
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
index c704593a6f02c..b0e0f067f1d79 100644
--- 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
@@ -9,10 +9,6 @@ import android.app.PendingIntent;
import androidx.annotation.Nullable;
-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.chrome.browser.password_manager.CredentialManagerLauncher.CredentialManagerError;
@@ -29,9 +25,6 @@ class PasswordManagerAndroidBackendUtil {
if (exception instanceof PasswordStoreAndroidBackend.BackendException) {
return ((PasswordStoreAndroidBackend.BackendException) exception).errorCode;
}
- if (exception instanceof ApiException) {
- return AndroidBackendErrorType.EXTERNAL_ERROR;
- }
return AndroidBackendErrorType.UNCATEGORIZED;
}
@@ -40,44 +33,10 @@ class PasswordManagerAndroidBackendUtil {
return ((PasswordCheckupClientHelper.PasswordCheckBackendException) exception)
.errorCode;
}
- if (exception instanceof ApiException) {
- return CredentialManagerError.API_ERROR;
- }
return CredentialManagerError.UNCATEGORIZED;
}
static int getApiErrorCode(Exception exception) {
- if (exception instanceof ApiException) {
- return ((ApiException) exception).getStatusCode();
- }
- return 0; // '0' means SUCCESS.
- }
-
- @Nullable
- static 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) {
- if (!usesUnifiedPasswordManagerUI()) return;
-
- // 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 13; // '13' means ERROR
}
}
diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordSettingsUpdaterBridge.java b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordSettingsUpdaterBridge.java
index d20a77fb5ae4f..77ec52aa60856 100644
--- a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordSettingsUpdaterBridge.java
+++ b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordSettingsUpdaterBridge.java
@@ -9,7 +9,6 @@ import static org.chromium.chrome.browser.password_manager.PasswordManagerSettin
import android.accounts.Account;
-import com.google.android.gms.common.api.ResolvableApiException;
import com.google.common.base.Optional;
import org.chromium.base.annotations.CalledByNative;
@@ -118,11 +117,6 @@ public class PasswordSettingsUpdaterBridge {
int error = PasswordManagerAndroidBackendUtil.getBackendError(exception);
int apiErrorCode = PasswordManagerAndroidBackendUtil.getApiErrorCode(exception);
- if (exception instanceof ResolvableApiException) {
- PasswordManagerAndroidBackendUtil.handleResolvableApiException(
- (ResolvableApiException) exception);
- }
-
PasswordSettingsUpdaterBridgeJni.get().onSettingFetchingError(
mNativeSettingsUpdaterBridge, setting, error, apiErrorCode);
}
@@ -144,11 +138,6 @@ public class PasswordSettingsUpdaterBridge {
int error = PasswordManagerAndroidBackendUtil.getBackendError(exception);
int apiErrorCode = PasswordManagerAndroidBackendUtil.getApiErrorCode(exception);
- if (exception instanceof ResolvableApiException) {
- PasswordManagerAndroidBackendUtil.handleResolvableApiException(
- (ResolvableApiException) exception);
- }
-
PasswordSettingsUpdaterBridgeJni.get().onFailedSettingChange(
mNativeSettingsUpdaterBridge, setting, error, apiErrorCode);
}
diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordStoreAndroidBackendBridgeImpl.java b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordStoreAndroidBackendBridgeImpl.java
index 4cfea11e064ef..86629b08937f8 100644
--- a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordStoreAndroidBackendBridgeImpl.java
+++ b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordStoreAndroidBackendBridgeImpl.java
@@ -122,8 +122,7 @@ class PasswordStoreAndroidBackendBridgeImpl {
@AndroidBackendErrorType
int error = PasswordManagerAndroidBackendUtil.getBackendError(exception);
int apiErrorCode = PasswordManagerAndroidBackendUtil.getApiErrorCode(exception);
- Integer connectionResultCode =
- PasswordManagerAndroidBackendUtil.getConnectionResultCode(exception);
+ Integer connectionResultCode = null;
PasswordStoreAndroidBackendBridgeImplJni.get().onError(mNativeBackendBridge, jobId, error,
apiErrorCode, connectionResultCode != null,
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
index 4466f6829ba1b..aa701eeccbbaf 100644
--- 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.chromium.base.annotations.CalledByNative;
import org.chromium.base.annotations.NativeMethods;
import org.chromium.components.signin.base.CoreAccountInfo;
@@ -69,11 +67,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/push_messaging/push_messaging_service_factory.cc b/chrome/browser/push_messaging/push_messaging_service_factory.cc
index 670cd430e8ce6..9028eeae9d772 100644
--- a/chrome/browser/push_messaging/push_messaging_service_factory.cc
+++ b/chrome/browser/push_messaging/push_messaging_service_factory.cc
@@ -26,13 +26,7 @@
// static
PushMessagingServiceImpl* PushMessagingServiceFactory::GetForProfile(
content::BrowserContext* context) {
- // The Push API is not currently supported in incognito mode.
- // See https://crbug.com/401439.
- if (context->IsOffTheRecord())
- return nullptr;
-
- return static_cast<PushMessagingServiceImpl*>(
- GetInstance()->GetServiceForBrowserContext(context, true));
+ return nullptr;
}
// static
diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resources/settings/route.ts
index ad75a39061a03..c56781be98e57 100644
--- a/chrome/browser/resources/settings/route.ts
+++ b/chrome/browser/resources/settings/route.ts
@@ -33,8 +33,6 @@ function addPrivacyChildRoutes(r: Partial<SettingsRoutes>) {
if (loadTimeData.getBoolean('enableSecurityKeysSubpage')) {
r.SECURITY_KEYS = r.SECURITY.createChild('/securityKeys');
- r.SECURITY_KEYS_PHONES =
- r.SECURITY_KEYS.createChild('/securityKeys/phones');
// <if expr="is_win">
} else {
r.SECURITY_KEYS_PHONES = r.SECURITY.createChild('/securityKeys/phones');
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
index 26f1ba6ca8e04..cb68049d99a2b 100644
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -257,8 +257,6 @@ static_library("ui") {
"webui/flags/flags_ui.h",
"webui/flags/flags_ui_handler.cc",
"webui/flags/flags_ui_handler.h",
- "webui/gcm_internals_ui.cc",
- "webui/gcm_internals_ui.h",
"webui/internals/internals_ui.cc",
"webui/internals/internals_ui.h",
"webui/interstitials/interstitial_ui.cc",
@@ -490,7 +488,6 @@ static_library("ui") {
"//components/feedback/content",
"//components/find_in_page",
"//components/flags_ui",
- "//components/gcm_driver",
"//components/google/core/common",
"//components/heap_profiling/multi_process",
"//components/history/content/browser",
diff --git a/chrome/browser/ui/webauthn/sheet_models.cc b/chrome/browser/ui/webauthn/sheet_models.cc
index a78d3bff370bd..cd60b808d5ab0 100644
--- a/chrome/browser/ui/webauthn/sheet_models.cc
+++ b/chrome/browser/ui/webauthn/sheet_models.cc
@@ -205,12 +205,7 @@ bool AuthenticatorMechanismSelectorSheetModel::IsManageDevicesButtonVisible()
const {
// If any phones are shown then also show a button that goes to the settings
// page to manage them.
- return base::ranges::any_of(
- dialog_model()->mechanisms(),
- [](const AuthenticatorRequestDialogModel::Mechanism& mechanism) {
- return absl::holds_alternative<
- AuthenticatorRequestDialogModel::Mechanism::Phone>(mechanism.type);
- });
+ return false;
}
void AuthenticatorMechanismSelectorSheetModel::OnManageDevices() {
diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
index 54a6556e68bfa..28cff503d087b 100644
--- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
+++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
@@ -44,7 +44,6 @@
#include "chrome/browser/ui/webui/download_internals/download_internals_ui.h"
#include "chrome/browser/ui/webui/engagement/site_engagement_ui.h"
#include "chrome/browser/ui/webui/flags/flags_ui.h"
-#include "chrome/browser/ui/webui/gcm_internals_ui.h"
#include "chrome/browser/ui/webui/internals/internals_ui.h"
#include "chrome/browser/ui/webui/interstitials/interstitial_ui.h"
#include "chrome/browser/ui/webui/intro/intro_ui.h"
@@ -778,8 +777,6 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
return &NewWebUI<FlagsDeprecatedUI>;
if (url.host_piece() == chrome::kChromeUIFlagsHost)
return &NewWebUI<FlagsUI>;
- if (url.host_piece() == chrome::kChromeUIGCMInternalsHost)
- return &NewWebUI<GCMInternalsUI>;
if (url.host_piece() == chrome::kChromeUIInternalsHost)
return &NewWebUI<InternalsUI>;
if (url.host_piece() == chrome::kChromeUIInterstitialHost)
diff --git a/chrome/browser/webauthn/authenticator_request_dialog_model.cc b/chrome/browser/webauthn/authenticator_request_dialog_model.cc
index 5d98b273c0d01..116109cc2459d 100644
--- a/chrome/browser/webauthn/authenticator_request_dialog_model.cc
+++ b/chrome/browser/webauthn/authenticator_request_dialog_model.cc
@@ -1130,10 +1130,6 @@ void AuthenticatorRequestDialogModel::PopulateMechanisms(
if (cable_ui_type_) {
switch (*cable_ui_type_) {
case AuthenticatorRequestDialogModel::CableUIType::CABLE_V2_2ND_FACTOR:
- if (base::Contains(transport_availability_.available_transports,
- kCable)) {
- include_add_phone_option = true;
- }
break;
case AuthenticatorRequestDialogModel::CableUIType::CABLE_V2_SERVER_LINK:
diff --git a/chrome/browser/webauthn/cablev2_devices.cc b/chrome/browser/webauthn/cablev2_devices.cc
index 2931993c41094..bc58af056b9e2 100644
--- a/chrome/browser/webauthn/cablev2_devices.cc
+++ b/chrome/browser/webauthn/cablev2_devices.cc
@@ -351,6 +351,9 @@ void AddPairing(Profile* profile, std::unique_ptr<Pairing> pairing) {
// This is called when doing a QR-code pairing with a phone and the phone
// sends long-term pairing information during the handshake. The pairing
// information is saved in preferences for future operations.
+ if ((true)) {
+ return;
+ }
ScopedListPrefUpdate update(profile->GetPrefs(),
kWebAuthnCablePairingsPrefName);
diff --git a/chrome/test/android/BUILD.gn b/chrome/test/android/BUILD.gn
index 72aded5a5121e..8bf9963a5a9ba 100644
--- a/chrome/test/android/BUILD.gn
+++ b/chrome/test/android/BUILD.gn
@@ -283,8 +283,6 @@ android_library("chrome_java_integration_test_support") {
deps = [
":chrome_java_test_support_common",
- "$google_play_services_package:google_play_services_base_java",
- "$google_play_services_package:google_play_services_basement_java",
"//base:base_java",
"//base:base_java_test_support",
"//build/android:build_java",
diff --git a/components/background_task_scheduler/BUILD.gn b/components/background_task_scheduler/BUILD.gn
index 208d5e1426570..c9b3287c2ac48 100644
--- a/components/background_task_scheduler/BUILD.gn
+++ b/components/background_task_scheduler/BUILD.gn
@@ -123,11 +123,6 @@ if (is_android) {
deps = [
":background_task_scheduler_task_ids_java",
- "$google_play_services_package:google_play_services_auth_base_java",
- "$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_gcm_java",
- "$google_play_services_package:google_play_services_tasks_java",
"internal:internal_java",
"internal:proto_java",
"//base:base_java",
diff --git a/components/background_task_scheduler/internal/BUILD.gn b/components/background_task_scheduler/internal/BUILD.gn
index 7fe456bacc6c4..c087781bc3a8d 100644
--- a/components/background_task_scheduler/internal/BUILD.gn
+++ b/components/background_task_scheduler/internal/BUILD.gn
@@ -11,12 +11,10 @@ if (is_android) {
android_library("internal_java") {
sources = [
"android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskBroadcastReceiver.java",
- "android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskGcmTaskService.java",
"android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskJobService.java",
"android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerAlarmManager.java",
"android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerDelegate.java",
"android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerFactoryInternal.java",
- "android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java",
"android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerImpl.java",
"android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerJobService.java",
"android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerPrefs.java",
@@ -27,10 +25,6 @@ if (is_android) {
deps = [
":proto_java",
- "$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_gcm_java",
- "$google_play_services_package:google_play_services_tasks_java",
"//base:base_java",
"//build/android:build_java",
"//components/background_task_scheduler:background_task_scheduler_task_ids_java",
diff --git a/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerFactoryInternal.java b/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerFactoryInternal.java
index 0cb46387e1acd..a964b880be8aa 100644
--- a/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerFactoryInternal.java
+++ b/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerFactoryInternal.java
@@ -21,11 +21,7 @@ public final class BackgroundTaskSchedulerFactoryInternal {
private static BackgroundTaskFactory sBackgroundTaskFactory;
static BackgroundTaskSchedulerDelegate getSchedulerDelegateForSdk(int sdkInt) {
- if (sdkInt >= Build.VERSION_CODES.M) {
- return new BackgroundTaskSchedulerJobService();
- } else {
- return new BackgroundTaskSchedulerGcmNetworkManager();
- }
+ return new BackgroundTaskSchedulerJobService();
}
/**
diff --git a/components/component_updater/android/java/src/org/chromium/components/component_updater/UpdateScheduler.java b/components/component_updater/android/java/src/org/chromium/components/component_updater/UpdateScheduler.java
index e1f7d95791a5d..41226f6fbb77e 100644
--- a/components/component_updater/android/java/src/org/chromium/components/component_updater/UpdateScheduler.java
+++ b/components/component_updater/android/java/src/org/chromium/components/component_updater/UpdateScheduler.java
@@ -14,7 +14,6 @@ import org.chromium.components.background_task_scheduler.BackgroundTask.TaskFini
import org.chromium.components.background_task_scheduler.BackgroundTaskSchedulerFactory;
import org.chromium.components.background_task_scheduler.TaskIds;
import org.chromium.components.background_task_scheduler.TaskInfo;
-import org.chromium.gms.ChromiumPlayServicesAvailability;
/** Java-side implementation of the component update scheduler using the BackgroundTaskScheduler. */
@JNINamespace("component_updater")
diff --git a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java
index 630d1696c5322..b6a139621230b 100644
--- a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java
+++ b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java
@@ -2533,14 +2533,6 @@ public class ExternalNavigationHandler {
* @return Whether the given intent is going to open an Instant App.
*/
private static boolean isIntentToInstantApp(Intent intent) {
- if (INSTANT_APP_SUPERVISOR_PKG.equals(intent.getPackage())) return true;
-
- String intentAction = intent.getAction();
- for (String action : INSTANT_APP_START_ACTIONS) {
- if (action.equals(intentAction)) {
- return true;
- }
- }
return false;
}
}
diff --git a/components/externalauth/android/BUILD.gn b/components/externalauth/android/BUILD.gn
index b4d920e60fb7f..27226b5b71653 100644
--- a/components/externalauth/android/BUILD.gn
+++ b/components/externalauth/android/BUILD.gn
@@ -27,8 +27,6 @@ android_library("google_delegate_public_impl_java") {
android_library("java") {
deps = [
":google_delegate_java",
- "$google_play_services_package:google_play_services_base_java",
- "$google_play_services_package:google_play_services_basement_java",
"//base:base_java",
"//components/embedder_support/android:util_java",
"//content/public/android:content_java",
@@ -45,7 +43,6 @@ android_library("java") {
robolectric_library("junit") {
deps = [
":java",
- "$google_play_services_package:google_play_services_basement_java",
"//base:base_java",
"//base:base_java_test_support",
"//base:base_junit_test_support",
diff --git a/components/externalauth/android/java/src/org/chromium/components/externalauth/ExternalAuthUtils.java b/components/externalauth/android/java/src/org/chromium/components/externalauth/ExternalAuthUtils.java
index 474e016aaac4c..5ec98585d6f9b 100644
--- a/components/externalauth/android/java/src/org/chromium/components/externalauth/ExternalAuthUtils.java
+++ b/components/externalauth/android/java/src/org/chromium/components/externalauth/ExternalAuthUtils.java
@@ -15,9 +15,6 @@ import android.text.TextUtils;
import androidx.annotation.VisibleForTesting;
import androidx.annotation.WorkerThread;
-import com.google.android.gms.common.ConnectionResult;
-import com.google.android.gms.common.GoogleApiAvailability;
-
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.base.StrictModeContext;
@@ -25,7 +22,6 @@ import org.chromium.base.TraceEvent;
import org.chromium.base.task.PostTask;
import org.chromium.components.embedder_support.util.Origin;
import org.chromium.content_public.browser.UiThreadTaskTraits;
-import org.chromium.gms.ChromiumPlayServicesAvailability;
/**
* Utility class for external authentication tools.
@@ -171,9 +167,7 @@ public class ExternalAuthUtils {
* when it is updating.
*/
public boolean isGooglePlayServicesMissing(final Context context) {
- final int resultCode = checkGooglePlayServicesAvailable(context);
- return (resultCode == ConnectionResult.SERVICE_MISSING
- || resultCode == ConnectionResult.SERVICE_INVALID);
+ return true;
}
/**
@@ -190,7 +184,6 @@ public class ExternalAuthUtils {
public boolean canUseGooglePlayServices(final UserRecoverableErrorHandler errorHandler) {
Context context = ContextUtils.getApplicationContext();
final int resultCode = checkGooglePlayServicesAvailable(context);
- if (resultCode == ConnectionResult.SUCCESS) return true;
// resultCode is some kind of error.
Log.v(TAG, "Unable to use Google Play Services: %s", describeError(resultCode));
if (isUserRecoverableError(resultCode)) {
@@ -261,11 +254,7 @@ public class ExternalAuthUtils {
* @return The code produced by calling the external code
*/
protected int checkGooglePlayServicesAvailable(final Context context) {
- // TODO(crbug.com/577190): Temporarily allowing disk access until more permanent fix is in.
- try (StrictModeContext ignored = StrictModeContext.allowDiskWrites();
- TraceEvent e = TraceEvent.scoped("checkGooglePlayServicesAvailable")) {
- return ChromiumPlayServicesAvailability.getGooglePlayServicesConnectionResult(context);
- }
+ return 1; /*SERVICE_MISSING*/
}
/**
@@ -276,7 +265,7 @@ public class ExternalAuthUtils {
* @return true If the code represents a user-recoverable error
*/
protected boolean isUserRecoverableError(final int errorCode) {
- return GoogleApiAvailability.getInstance().isUserResolvableError(errorCode);
+ return false;
}
/**
@@ -286,7 +275,7 @@ public class ExternalAuthUtils {
* @return a textual description of the error code
*/
protected String describeError(final int errorCode) {
- return GoogleApiAvailability.getInstance().getErrorString(errorCode);
+ return "";
}
/**
diff --git a/components/externalauth/android/java/src/org/chromium/components/externalauth/UserRecoverableErrorHandler.java b/components/externalauth/android/java/src/org/chromium/components/externalauth/UserRecoverableErrorHandler.java
index 452eb3e59f0c8..2dc9a355c5af2 100644
--- a/components/externalauth/android/java/src/org/chromium/components/externalauth/UserRecoverableErrorHandler.java
+++ b/components/externalauth/android/java/src/org/chromium/components/externalauth/UserRecoverableErrorHandler.java
@@ -9,8 +9,6 @@ import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
-import com.google.android.gms.common.GoogleApiAvailability;
-
import org.chromium.base.ThreadUtils;
import org.chromium.base.metrics.RecordUserAction;
@@ -89,7 +87,6 @@ public abstract class UserRecoverableErrorHandler {
if (!sNotificationShown.getAndSet(true)) {
return;
}
- GoogleApiAvailability.getInstance().showErrorNotification(context, errorCode);
}
}
@@ -182,11 +179,7 @@ public abstract class UserRecoverableErrorHandler {
cancelDialog();
}
if (mDialog == null) {
- mDialog = GoogleApiAvailability.getInstance().getErrorDialog(
- mActivity, errorCode, NO_RESPONSE_REQUIRED);
mErrorCode = errorCode;
-
- DialogUserActionRecorder.createAndAttachToDialog(mDialog);
}
// This can happen if |errorCode| is ConnectionResult.SERVICE_INVALID.
if (mDialog != null && !mDialog.isShowing()) {
diff --git a/components/gcm_driver/android/java/src/org/chromium/components/gcm_driver/GoogleCloudMessagingV2.java b/components/gcm_driver/android/java/src/org/chromium/components/gcm_driver/GoogleCloudMessagingV2.java
index ee18dab64fc6a..5b4327d2b38d0 100644
--- a/components/gcm_driver/android/java/src/org/chromium/components/gcm_driver/GoogleCloudMessagingV2.java
+++ b/components/gcm_driver/android/java/src/org/chromium/components/gcm_driver/GoogleCloudMessagingV2.java
@@ -129,6 +129,8 @@ public class GoogleCloudMessagingV2 implements GoogleCloudMessagingSubscriber {
}
private Intent registerRpc(Bundle data) throws IOException {
+ if ((true))
+ throw new IOException("Google Play Services missing");
if (Looper.getMainLooper() == Looper.myLooper()) {
throw new IOException(ERROR_MAIN_THREAD);
}
diff --git a/components/gcm_driver/gcm_client_impl.cc b/components/gcm_driver/gcm_client_impl.cc
index 4c8b1e7d0324b..d70c7975c2be0 100644
--- a/components/gcm_driver/gcm_client_impl.cc
+++ b/components/gcm_driver/gcm_client_impl.cc
@@ -463,6 +463,7 @@ void GCMClientImpl::StartGCM() {
void GCMClientImpl::InitializeMCSClient() {
DCHECK(network_connection_tracker_);
+ return;
std::vector<GURL> endpoints;
endpoints.push_back(gservices_settings_.GetMCSMainEndpoint());
GURL fallback_endpoint = gservices_settings_.GetMCSFallbackEndpoint();
@@ -657,6 +658,7 @@ void GCMClientImpl::AddHeartbeatInterval(const std::string& scope,
int interval_ms) {
DCHECK(io_task_runner_->RunsTasksInCurrentSequence());
DCHECK(mcs_client_);
+ return;
mcs_client_->AddHeartbeatInterval(scope, interval_ms);
}
@@ -668,6 +670,7 @@ void GCMClientImpl::RemoveHeartbeatInterval(const std::string& scope) {
void GCMClientImpl::StartCheckin() {
DCHECK(io_task_runner_->RunsTasksInCurrentSequence());
+ return;
// Make sure no checkin is in progress.
if (checkin_request_)
@@ -750,6 +753,7 @@ void GCMClientImpl::SetGServicesSettingsCallback(bool success) {
void GCMClientImpl::SchedulePeriodicCheckin() {
DCHECK(io_task_runner_->RunsTasksInCurrentSequence());
+ return;
// Make sure no checkin is in progress.
if (checkin_request_.get() || !device_checkin_info_.accounts_set)
diff --git a/components/gcm_driver/instance_id/android/BUILD.gn b/components/gcm_driver/instance_id/android/BUILD.gn
index ccfaa3be97925..12fa85ad7517e 100644
--- a/components/gcm_driver/instance_id/android/BUILD.gn
+++ b/components/gcm_driver/instance_id/android/BUILD.gn
@@ -15,7 +15,6 @@ generate_jni("test_support_jni_headers") {
android_library("instance_id_driver_java") {
deps = [
- "$google_play_services_package:google_play_services_iid_java",
"//base:base_java",
"//base:jni_java",
"//build/android:build_java",
@@ -29,14 +28,12 @@ android_library("instance_id_driver_java") {
sources = [
"java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDBridge.java",
- "java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDWithSubtype.java",
]
}
android_library("instance_id_driver_test_support_java") {
deps = [
":instance_id_driver_java",
- "$google_play_services_package:google_play_services_iid_java",
"//base:jni_java",
]
diff --git a/components/gcm_driver/instance_id/android/java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDBridge.java b/components/gcm_driver/instance_id/android/java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDBridge.java
index 11a61c85c51fc..dc4d5706cd5b4 100644
--- a/components/gcm_driver/instance_id/android/java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDBridge.java
+++ b/components/gcm_driver/instance_id/android/java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDBridge.java
@@ -27,7 +27,6 @@ public class InstanceIDBridge {
* Underlying InstanceIDWithSubtype. May be shared by multiple InstanceIDBridges. Must be
* initialized on a background thread.
*/
- private InstanceIDWithSubtype mInstanceID;
private static boolean sBlockOnAsyncTasksForTesting;
@@ -72,7 +71,7 @@ public class InstanceIDBridge {
new BridgeAsyncTask<String>() {
@Override
protected String doBackgroundWork() {
- return mInstanceID.getId();
+ return "";
}
@Override
protected void sendResultToNative(String id) {
@@ -88,7 +87,7 @@ public class InstanceIDBridge {
new BridgeAsyncTask<Long>() {
@Override
protected Long doBackgroundWork() {
- return mInstanceID.getCreationTime();
+ return 0L;
}
@Override
protected void sendResultToNative(Long creationTime) {
@@ -110,21 +109,7 @@ public class InstanceIDBridge {
new BridgeAsyncTask<String>() {
@Override
protected String doBackgroundWork() {
- try {
- // TODO(crbug.com/1247170): Migrate stored LazySubscriptionsManager data to
- // SubscriptionFlagManager.
- LazySubscriptionsManager.storeLazinessInformation(
- LazySubscriptionsManager.buildSubscriptionUniqueId(
- mSubtype, authorizedEntity),
- (flags & InstanceIDFlags.IS_LAZY) == InstanceIDFlags.IS_LAZY);
- SubscriptionFlagManager.setFlags(
- SubscriptionFlagManager.buildSubscriptionUniqueId(
- mSubtype, authorizedEntity),
- flags);
- return mInstanceID.getToken(authorizedEntity, scope);
- } catch (IOException ex) {
return "";
- }
}
@Override
protected void sendResultToNative(String token) {
@@ -141,21 +126,7 @@ public class InstanceIDBridge {
new BridgeAsyncTask<Boolean>() {
@Override
protected Boolean doBackgroundWork() {
- try {
- mInstanceID.deleteToken(authorizedEntity, scope);
- String subscriptionId = LazySubscriptionsManager.buildSubscriptionUniqueId(
- mSubtype, authorizedEntity);
- if (LazySubscriptionsManager.isSubscriptionLazy(subscriptionId)) {
- LazySubscriptionsManager.deletePersistedMessagesForSubscriptionId(
- subscriptionId);
- }
- SubscriptionFlagManager.clearFlags(
- SubscriptionFlagManager.buildSubscriptionUniqueId(
- mSubtype, authorizedEntity));
- return true;
- } catch (IOException ex) {
- return false;
- }
+ return false;
}
@Override
protected void sendResultToNative(Boolean success) {
@@ -171,12 +142,7 @@ public class InstanceIDBridge {
new BridgeAsyncTask<Boolean>() {
@Override
protected Boolean doBackgroundWork() {
- try {
- mInstanceID.deleteInstanceID();
- return true;
- } catch (IOException ex) {
- return false;
- }
+ return true;
}
@Override
protected void sendResultToNative(Boolean success) {
@@ -206,11 +172,6 @@ public class InstanceIDBridge {
@Override
@SuppressWarnings("NoSynchronizedThisCheck") // Only used/accessible by native.
protected Result doInBackground() {
- synchronized (InstanceIDBridge.this) {
- if (mInstanceID == null) {
- mInstanceID = InstanceIDWithSubtype.getInstance(mSubtype);
- }
- }
return doBackgroundWork();
}
@Override
diff --git a/components/media_router/browser/android/BUILD.gn b/components/media_router/browser/android/BUILD.gn
index 70f2eaf6c6b57..45aa9814908bf 100644
--- a/components/media_router/browser/android/BUILD.gn
+++ b/components/media_router/browser/android/BUILD.gn
@@ -11,10 +11,6 @@ android_library("java") {
resources_package = "org.chromium.components.media_router"
deps = [
":java_resources",
- "$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",
"//base:base_java",
"//base:jni_java",
"//build/android:build_java",
@@ -76,8 +72,6 @@ android_library("java") {
android_library("cast_options_provider_java") {
sources = [ "java/src/org/chromium/components/media_router/caf/CastOptionsProvider.java" ]
deps = [
- "$google_play_services_package:google_play_services_cast_framework_java",
- "$google_play_services_package:google_play_services_cast_java",
]
}
@@ -141,9 +135,6 @@ robolectric_library("junit") {
deps = [
":java",
":test_support_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",
"//base:base_java",
"//base:base_java_test_support",
"//base:base_junit_test_support",
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/BrowserMediaRouter.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/BrowserMediaRouter.java
index ea82c2a2662ee..77337838d4fd4 100644
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/BrowserMediaRouter.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/BrowserMediaRouter.java
@@ -10,9 +10,6 @@ import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
import androidx.mediarouter.media.MediaRouter;
-import com.google.android.gms.common.ConnectionResult;
-import com.google.android.gms.common.GoogleApiAvailability;
-
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.base.StrictModeContext;
@@ -42,20 +39,7 @@ public class BrowserMediaRouter implements MediaRouteManager {
new MediaRouteProvider.Factory() {
@Override
public void addProviders(MediaRouteManager manager) {
- int googleApiAvailabilityResult =
- GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(
- ContextUtils.getApplicationContext(),
- MIN_GOOGLE_PLAY_SERVICES_APK_VERSION);
- if (googleApiAvailabilityResult != ConnectionResult.SUCCESS) {
- GoogleApiAvailability.getInstance().showErrorNotification(
- ContextUtils.getApplicationContext(), googleApiAvailabilityResult);
- return;
- }
- MediaRouteProvider cafProvider = CafMediaRouteProvider.create(manager);
- manager.addMediaRouteProvider(cafProvider);
- MediaRouteProvider remotingProvider =
- CafRemotingMediaRouteProvider.create(manager);
- manager.addMediaRouteProvider(remotingProvider);
+ return;
}
};
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/CastSessionUtil.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/CastSessionUtil.java
index 9aae57b45c2b5..10a7f4b0b3d7c 100644
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/CastSessionUtil.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/CastSessionUtil.java
@@ -4,9 +4,6 @@
package org.chromium.components.media_router;
-import com.google.android.gms.cast.CastDevice;
-import com.google.android.gms.cast.RemoteMediaPlayer;
-
import org.chromium.components.browser_ui.media.MediaNotificationInfo;
import org.chromium.services.media_session.MediaMetadata;
@@ -18,36 +15,4 @@ public class CastSessionUtil {
// The value is borrowed from the Android Cast SDK code to match their behavior.
public static final double MIN_VOLUME_LEVEL_DELTA = 1e-7;
-
- /**
- * Builds a MediaMetadata from the given CastDevice and MediaPlayer, and sets it on the builder
- */
- public static void setNotificationMetadata(MediaNotificationInfo.Builder builder,
- CastDevice castDevice, RemoteMediaPlayer mediaPlayer) {
- MediaMetadata notificationMetadata = new MediaMetadata("", "", "");
- builder.setMetadata(notificationMetadata);
-
- if (castDevice != null) notificationMetadata.setTitle(castDevice.getFriendlyName());
-
- if (mediaPlayer == null) return;
-
- com.google.android.gms.cast.MediaInfo info = mediaPlayer.getMediaInfo();
- if (info == null) return;
-
- com.google.android.gms.cast.MediaMetadata metadata = info.getMetadata();
- if (metadata == null) return;
-
- String title = metadata.getString(com.google.android.gms.cast.MediaMetadata.KEY_TITLE);
- if (title != null) notificationMetadata.setTitle(title);
-
- String artist = metadata.getString(com.google.android.gms.cast.MediaMetadata.KEY_ARTIST);
- if (artist == null) {
- artist = metadata.getString(com.google.android.gms.cast.MediaMetadata.KEY_ALBUM_ARTIST);
- }
- if (artist != null) notificationMetadata.setArtist(artist);
-
- String album =
- metadata.getString(com.google.android.gms.cast.MediaMetadata.KEY_ALBUM_TITLE);
- if (album != null) notificationMetadata.setAlbum(album);
- }
}
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/MediaSink.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/MediaSink.java
index 83a7bacfb76cd..e1d6f11349a1c 100644
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/MediaSink.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/MediaSink.java
@@ -8,41 +8,24 @@ import androidx.annotation.Nullable;
import androidx.mediarouter.media.MediaRouter;
import androidx.mediarouter.media.MediaRouter.RouteInfo;
-import com.google.android.gms.cast.CastDevice;
-
/**
* A common descriptor of a device that can present some URI.
*/
public class MediaSink {
private static final String CAST_SINK_URN_PREFIX = "urn:x-org.chromium:media:sink:cast-";
- private final String mId;
- private final String mName;
- private final CastDevice mDevice;
-
- /**
- * Constructor.
- * @param id A unique identifier of the sink.
- * @param name A user friendly name of the sink.
- * @param device {@link CastDevice} corresponding to this sink.
- */
- public MediaSink(String id, String name, CastDevice device) {
- mId = id;
- mName = name;
- mDevice = device;
- }
/**
* @return The unique identifier of the sink.
*/
public String getId() {
- return mId;
+ return "";
}
/**
* @return The user friendly name of the sink.
*/
public String getName() {
- return mName;
+ return "";
}
/**
@@ -52,17 +35,8 @@ public class MediaSink {
return CAST_SINK_URN_PREFIX + getId();
}
- public CastDevice getDevice() {
- return mDevice;
- }
-
@Override
public boolean equals(Object o) {
- if (o == this) return true;
- if (o instanceof MediaSink) {
- MediaSink other = (MediaSink) o;
- return mId.equals(other.getId()) && mName.equals(other.getName());
- }
return false;
}
@@ -70,23 +44,15 @@ public class MediaSink {
public int hashCode() {
final int prime = 31;
int result = 1;
- result = prime * result + ((mId == null) ? 0 : mId.hashCode());
- result = prime * result + ((mName == null) ? 0 : mName.hashCode());
return result;
}
- @Override
- public String toString() {
- return String.format("MediaSink: %s, %s", getId(), getName());
- }
-
/**
* @param route The route information provided by Android.
* @return A new MediaSink instance corresponding to the specified {@link RouteInfo}.
*/
public static MediaSink fromRoute(MediaRouter.RouteInfo route) {
- return new MediaSink(
- route.getId(), route.getName(), CastDevice.getFromBundle(route.getExtras()));
+ return null;
}
/**
@@ -97,10 +63,6 @@ public class MediaSink {
*/
@Nullable
public static MediaSink fromSinkId(String sinkId, MediaRouter router) {
- for (MediaRouter.RouteInfo route : router.getRoutes()) {
- MediaSink sink = MediaSink.fromRoute(route);
- if (sink.getId().equals(sinkId)) return sink;
- }
return null;
}
}
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/MediaStatusBridge.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/MediaStatusBridge.java
index 21a1470936fad..15f5fed54580f 100644
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/MediaStatusBridge.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/MediaStatusBridge.java
@@ -4,10 +4,6 @@
package org.chromium.components.media_router;
-import com.google.android.gms.cast.MediaInfo;
-import com.google.android.gms.cast.MediaMetadata;
-import com.google.android.gms.cast.MediaStatus;
-
import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.annotations.JNINamespace;
@@ -17,11 +13,6 @@ import org.chromium.base.annotations.JNINamespace;
*/
@JNINamespace("media_router")
public class MediaStatusBridge {
- private MediaStatus mStatus;
-
- public MediaStatusBridge(MediaStatus status) {
- mStatus = status;
- }
/**
* Gets the play state of the stream. Return values are defined as such:
@@ -34,7 +25,7 @@ public class MediaStatusBridge {
*/
@CalledByNative
public int playerState() {
- return mStatus.getPlayerState();
+ return 0;
}
/**
@@ -48,7 +39,7 @@ public class MediaStatusBridge {
*/
@CalledByNative
public int idleReason() {
- return mStatus.getIdleReason();
+ return 0;
}
/**
@@ -57,13 +48,7 @@ public class MediaStatusBridge {
*/
@CalledByNative
public String title() {
- MediaInfo info = mStatus.getMediaInfo();
- if (info == null) return "";
-
- MediaMetadata metadata = info.getMetadata();
- if (metadata == null) return "";
-
- return metadata.getString(MediaMetadata.KEY_TITLE);
+ return "";
}
/**
@@ -71,7 +56,7 @@ public class MediaStatusBridge {
*/
@CalledByNative
public boolean canPlayPause() {
- return mStatus.isMediaCommandSupported(MediaStatus.COMMAND_PAUSE);
+ return false;
}
/**
@@ -79,7 +64,7 @@ public class MediaStatusBridge {
*/
@CalledByNative
public boolean canMute() {
- return mStatus.isMediaCommandSupported(MediaStatus.COMMAND_TOGGLE_MUTE);
+ return false;
}
/**
@@ -87,7 +72,7 @@ public class MediaStatusBridge {
*/
@CalledByNative
public boolean canSetVolume() {
- return mStatus.isMediaCommandSupported(MediaStatus.COMMAND_SET_VOLUME);
+ return false;
}
/**
@@ -95,7 +80,7 @@ public class MediaStatusBridge {
*/
@CalledByNative
public boolean canSeek() {
- return mStatus.isMediaCommandSupported(MediaStatus.COMMAND_SEEK);
+ return false;
}
/**
@@ -103,7 +88,7 @@ public class MediaStatusBridge {
*/
@CalledByNative
public boolean isMuted() {
- return mStatus.isMute();
+ return false;
}
/**
@@ -113,7 +98,7 @@ public class MediaStatusBridge {
*/
@CalledByNative
public double volume() {
- return mStatus.getStreamVolume();
+ return 0.0;
}
/**
@@ -122,10 +107,7 @@ public class MediaStatusBridge {
*/
@CalledByNative
public long duration() {
- MediaInfo info = mStatus.getMediaInfo();
- if (info == null) return 0;
-
- return info.getStreamDuration();
+ return 0;
}
/**
@@ -133,6 +115,6 @@ public class MediaStatusBridge {
*/
@CalledByNative
public long currentTime() {
- return mStatus.getStreamPosition();
+ return 0;
}
}
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseNotificationController.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseNotificationController.java
index b04cc369b2af0..268a4379fff2e 100644
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseNotificationController.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseNotificationController.java
@@ -6,10 +6,6 @@ package org.chromium.components.media_router.caf;
import android.content.Intent;
-import com.google.android.gms.cast.CastDevice;
-import com.google.android.gms.cast.MediaStatus;
-import com.google.android.gms.cast.framework.media.RemoteMediaClient;
-
import org.chromium.components.browser_ui.media.MediaNotificationInfo;
import org.chromium.components.browser_ui.media.MediaNotificationListener;
import org.chromium.components.browser_ui.media.MediaNotificationManager;
@@ -62,20 +58,6 @@ public abstract class BaseNotificationController
public void onStatusUpdated() {
if (mNotificationBuilder == null) return;
if (!mSessionController.isConnected()) return;
-
- MediaStatus mediaStatus = mSessionController.getRemoteMediaClient().getMediaStatus();
- if (mediaStatus == null) return;
-
- int playerState = mediaStatus.getPlayerState();
- if (playerState == MediaStatus.PLAYER_STATE_PAUSED
- || playerState == MediaStatus.PLAYER_STATE_PLAYING) {
- mNotificationBuilder.setPaused(playerState != MediaStatus.PLAYER_STATE_PLAYING);
- mNotificationBuilder.setActions(
- MediaNotificationInfo.ACTION_STOP | MediaNotificationInfo.ACTION_PLAY_PAUSE);
- } else {
- mNotificationBuilder.setActions(MediaNotificationInfo.ACTION_STOP);
- }
- MediaRouterClient.getInstance().showNotification(mNotificationBuilder.build());
}
/** Called when media metadata updated. */
@@ -91,30 +73,6 @@ public abstract class BaseNotificationController
mNotificationBuilder.setMetadata(notificationMetadata);
if (!mSessionController.isConnected()) return;
-
- CastDevice castDevice = mSessionController.getSession().getCastDevice();
- if (castDevice != null) notificationMetadata.setTitle(castDevice.getFriendlyName());
-
- RemoteMediaClient remoteMediaClient = mSessionController.getRemoteMediaClient();
-
- com.google.android.gms.cast.MediaInfo info = remoteMediaClient.getMediaInfo();
- if (info == null) return;
-
- com.google.android.gms.cast.MediaMetadata metadata = info.getMetadata();
- if (metadata == null) return;
-
- String title = metadata.getString(com.google.android.gms.cast.MediaMetadata.KEY_TITLE);
- if (title != null) notificationMetadata.setTitle(title);
-
- String artist = metadata.getString(com.google.android.gms.cast.MediaMetadata.KEY_ARTIST);
- if (artist == null) {
- artist = metadata.getString(com.google.android.gms.cast.MediaMetadata.KEY_ALBUM_ARTIST);
- }
- if (artist != null) notificationMetadata.setArtist(artist);
-
- String album =
- metadata.getString(com.google.android.gms.cast.MediaMetadata.KEY_ALBUM_TITLE);
- if (album != null) notificationMetadata.setAlbum(album);
}
/////////////////////////////////////////////////////////////////////////////////////////////
@@ -122,20 +80,10 @@ public abstract class BaseNotificationController
@Override
public void onPlay(int actionSource) {
- if (!mSessionController.isConnected()) return;
-
- mSessionController.getRemoteMediaClient().play();
- MediaRouteUmaRecorder.recordCastNotificationControlsAction(
- MediaRouteUmaRecorder.CastNotificationControls.RESUME);
}
@Override
public void onPause(int actionSource) {
- if (!mSessionController.isConnected()) return;
-
- mSessionController.getRemoteMediaClient().pause();
- MediaRouteUmaRecorder.recordCastNotificationControlsAction(
- MediaRouteUmaRecorder.CastNotificationControls.PAUSE);
}
@Override
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseSessionController.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseSessionController.java
index 2507c69d68645..ae513b6d72cb1 100644
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseSessionController.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseSessionController.java
@@ -6,12 +6,7 @@ package org.chromium.components.media_router.caf;
import androidx.annotation.Nullable;
-import com.google.android.gms.cast.CastDevice;
-import com.google.android.gms.cast.framework.CastSession;
-import com.google.android.gms.cast.framework.media.RemoteMediaClient;
-
import org.chromium.base.Log;
-import org.chromium.components.media_router.CastSessionUtil;
import org.chromium.components.media_router.FlingingController;
import org.chromium.components.media_router.MediaSink;
import org.chromium.components.media_router.MediaSource;
@@ -42,15 +37,12 @@ public abstract class BaseSessionController {
void onMetadataUpdated();
}
- private CastSession mCastSession;
private final CafBaseMediaRouteProvider mProvider;
private CreateRouteRequestInfo mRouteCreationInfo;
- private final RemoteMediaClient.Callback mRemoteMediaClientCallback;
private final List<Callback> mCallbacks = new ArrayList<>();
public BaseSessionController(CafBaseMediaRouteProvider provider) {
mProvider = provider;
- mRemoteMediaClientCallback = new RemoteMediaClientCallback();
}
public void addCallback(Callback callback) {
@@ -63,9 +55,6 @@ public abstract class BaseSessionController {
public void requestSessionLaunch() {
mRouteCreationInfo = mProvider.getPendingCreateRouteRequestInfo();
- CastUtils.getCastContext().setReceiverApplicationId(
- mRouteCreationInfo.source.getApplicationId());
-
// When the user clicks a route on the MediaRouteChooserDialog, we intercept the click event
// and do not select the route. Instead the route selection is postponed to here. This will
// trigger CAF to launch the session.
@@ -84,69 +73,22 @@ public abstract class BaseSessionController {
return mRouteCreationInfo;
}
- public CastSession getSession() {
- return mCastSession;
- }
-
- public RemoteMediaClient getRemoteMediaClient() {
- return isConnected() ? mCastSession.getRemoteMediaClient() : null;
- }
-
public abstract BaseNotificationController getNotificationController();
public void endSession() {
- CastUtils.getCastContext().getSessionManager().endCurrentSession(/* stopCasting= */ true);
- CastUtils.getCastContext().setReceiverApplicationId(null);
}
public List<String> getCapabilities() {
List<String> capabilities = new ArrayList<>();
- if (mCastSession == null || !mCastSession.isConnected()) return capabilities;
- CastDevice device = mCastSession.getCastDevice();
- if (device.hasCapability(CastDevice.CAPABILITY_AUDIO_IN)) {
- capabilities.add("audio_in");
- }
- if (device.hasCapability(CastDevice.CAPABILITY_AUDIO_OUT)) {
- capabilities.add("audio_out");
- }
- if (device.hasCapability(CastDevice.CAPABILITY_VIDEO_IN)) {
- capabilities.add("video_in");
- }
- if (device.hasCapability(CastDevice.CAPABILITY_VIDEO_OUT)) {
- capabilities.add("video_out");
- }
return capabilities;
}
public boolean isConnected() {
- return mCastSession != null && mCastSession.isConnected();
+ return false;
}
private void updateRemoteMediaClient(String message) {
if (!isConnected()) return;
-
- mCastSession.getRemoteMediaClient().onMessageReceived(
- mCastSession.getCastDevice(), CastSessionUtil.MEDIA_NAMESPACE, message);
- }
-
- /** Attaches the controller to the current {@link CastSession}. */
- public void attachToCastSession(CastSession session) {
- mCastSession = session;
- RemoteMediaClient uncheckedRemoteMediaClient = mCastSession.getRemoteMediaClient();
- if (uncheckedRemoteMediaClient != null) {
- uncheckedRemoteMediaClient.registerCallback(mRemoteMediaClientCallback);
- }
- }
-
- /** Detaches the controller from any {@link CastSession}. */
- public void detachFromCastSession() {
- if (mCastSession == null) return;
-
- RemoteMediaClient uncheckedRemoteMediaClient = mCastSession.getRemoteMediaClient();
- if (uncheckedRemoteMediaClient != null) {
- uncheckedRemoteMediaClient.unregisterCallback(mRemoteMediaClientCallback);
- }
- mCastSession = null;
}
/** Called when session started. */
@@ -163,50 +105,12 @@ public abstract class BaseSessionController {
return mProvider;
}
- /**
- * All sub-classes need to register this method to listen to messages of the namespaces they are
- * interested in.
- */
- protected void onMessageReceived(CastDevice castDevice, String namespace, String message) {
- Log.d(TAG,
- "Received message from Cast device: namespace=\"" + namespace + "\" message=\""
- + message + "\"");
- if (CastSessionUtil.MEDIA_NAMESPACE.equals(namespace)) {
- updateRemoteMediaClient(message);
- }
- }
-
- private class RemoteMediaClientCallback extends RemoteMediaClient.Callback {
- @Override
- public void onStatusUpdated() {
- BaseSessionController.this.onStatusUpdated();
- }
-
- @Override
- public void onMetadataUpdated() {
- BaseSessionController.this.onMetadataUpdated();
- }
- }
-
- protected void onStatusUpdated() {
- notifyCallback((Callback callback) -> callback.onStatusUpdated());
- }
-
- protected void onMetadataUpdated() {
- notifyCallback((Callback callback) -> callback.onMetadataUpdated());
- }
-
- @Nullable
- public FlingingController getFlingingController() {
- return null;
- }
-
/**
* Helper message to get the session ID of the attached session. For stubbing in tests as
* {@link CastSession#getSessionId()} is final.
*/
public String getSessionId() {
- return isConnected() ? getSession().getSessionId() : null;
+ return null;
}
private void notifyCallback(NotifyCallbackAction action) {
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafBaseMediaRouteProvider.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafBaseMediaRouteProvider.java
index c608b09602601..d2551718a7654 100644
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafBaseMediaRouteProvider.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafBaseMediaRouteProvider.java
@@ -12,10 +12,6 @@ import androidx.mediarouter.media.MediaRouteSelector;
import androidx.mediarouter.media.MediaRouter;
import androidx.mediarouter.media.MediaRouter.RouteInfo;
-import com.google.android.gms.cast.framework.CastSession;
-import com.google.android.gms.cast.framework.SessionManagerListener;
-import com.google.android.gms.cast.framework.media.RemoteMediaClient;
-
import org.chromium.base.Log;
import org.chromium.components.media_router.DiscoveryCallback;
import org.chromium.components.media_router.DiscoveryDelegate;
@@ -39,7 +35,7 @@ import java.util.Set;
* A base provider containing common implementation for CAF-based {@link MediaRouteProvider}s.
*/
public abstract class CafBaseMediaRouteProvider
- implements MediaRouteProvider, DiscoveryDelegate, SessionManagerListener<CastSession> {
+ implements MediaRouteProvider, DiscoveryDelegate {
private static final String TAG = "CafMR";
protected static final List<MediaSink> NO_SINKS = Collections.emptyList();
@@ -155,7 +151,6 @@ public abstract class CafBaseMediaRouteProvider
// current session and clean up the routes (can't wait for session ending as the signal
// might be delayed).
sessionController().endSession();
- handleSessionEnd();
}
if (mPendingCreateRouteRequestInfo != null) {
cancelPendingRequest("Request replaced");
@@ -184,9 +179,6 @@ public abstract class CafBaseMediaRouteProvider
mManager.onCreateRouteRequestError("The sink does not exist", nativeRequestId);
}
- CastUtils.getCastContext().getSessionManager().addSessionManagerListener(
- this, CastSession.class);
-
mPendingCreateRouteRequestInfo = new CreateRouteRequestInfo(source, sink, presentationId,
origin, tabId, isOffTheRecord, nativeRequestId, targetRouteInfo);
@@ -213,110 +205,6 @@ public abstract class CafBaseMediaRouteProvider
removeRoute(routeId, /* error= */ null);
}
- ///////////////////////////////////////////////////////
- // SessionManagerListener implementation begin
- ///////////////////////////////////////////////////////
-
- @Override
- public final void onSessionStarting(CastSession session) {
- // The session is not connected yet at this point so this is no-op.
- }
-
- @Override
- public void onSessionStartFailed(CastSession session, int error) {
- removeAllRoutes("Launch error");
- cancelPendingRequest("Launch error");
- }
-
- @Override
- public void onSessionStarted(CastSession session, String sessionId) {
- Log.d(TAG, "onSessionStarted");
-
- if (session != CastUtils.getCastContext().getSessionManager().getCurrentCastSession()) {
- // Sometimes the session start signal might come in for an earlier launch request, which
- // should be ignored.
- return;
- }
-
- if (session == sessionController().getSession() || mPendingCreateRouteRequestInfo == null) {
- // Early return for any possible case that the session start signal comes in twice for
- // the same session.
- return;
- }
- handleSessionStart(session, sessionId);
- }
-
- @Override
- public final void onSessionResumed(CastSession session, boolean wasSuspended) {
- sessionController().attachToCastSession(session);
- }
-
- @Override
- public final void onSessionResuming(CastSession session, String sessionId) {}
-
- @Override
- public final void onSessionResumeFailed(CastSession session, int error) {}
-
- @Override
- public final void onSessionEnding(CastSession session) {
- RemoteMediaClient client = session.getRemoteMediaClient();
- if (client != null) {
- MediaRouteUmaRecorder.castEndedTimeRemaining(
- client.getApproximateStreamPosition(), client.getStreamDuration());
- }
- handleSessionEnd();
- }
-
- @Override
- public final void onSessionEnded(CastSession session, int error) {
- Log.d(TAG, "Session ended with error code " + error);
- RemoteMediaClient client = session.getRemoteMediaClient();
- if (client != null) {
- MediaRouteUmaRecorder.castEndedTimeRemaining(
- client.getApproximateStreamPosition(), client.getStreamDuration());
- }
- handleSessionEnd();
- }
-
- @Override
- public final void onSessionSuspended(CastSession session, int reason) {
- sessionController().detachFromCastSession();
- }
-
- ///////////////////////////////////////////////////////
- // SessionManagerListener implementation end
- ///////////////////////////////////////////////////////
-
- protected void handleSessionStart(CastSession session, String sessionId) {
- sessionController().attachToCastSession(session);
- sessionController().onSessionStarted();
-
- MediaSink sink = mPendingCreateRouteRequestInfo.sink;
- MediaSource source = mPendingCreateRouteRequestInfo.source;
- MediaRoute route = new MediaRoute(
- sink.getId(), source.getSourceId(), mPendingCreateRouteRequestInfo.presentationId);
- addRoute(route, mPendingCreateRouteRequestInfo.origin, mPendingCreateRouteRequestInfo.tabId,
- mPendingCreateRouteRequestInfo.nativeRequestId, /* wasLaunched= */ true);
-
- mPendingCreateRouteRequestInfo = null;
- }
-
- private void handleSessionEnd() {
- if (mPendingCreateRouteRequestInfo != null) {
- // The Cast SDK notifies about session ending when a route is unselected, even when
- // there's no current session. Because CastSessionController unselects the route to set
- // the receiver app ID, this needs to be guarded by a pending request null check to make
- // sure the listener is not unregistered during a session relaunch.
- return;
- }
- sessionController().onSessionEnded();
- sessionController().detachFromCastSession();
- getAndroidMediaRouter().selectRoute(getAndroidMediaRouter().getDefaultRoute());
- terminateAllRoutes();
- CastUtils.getCastContext().getSessionManager().removeSessionManagerListener(
- this, CastSession.class);
- }
-
private void cancelPendingRequest(String error) {
if (mPendingCreateRouteRequestInfo == null) return;
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafMediaRouteProvider.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafMediaRouteProvider.java
index 3dbf8800fe90d..076ead61cd04b 100644
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafMediaRouteProvider.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafMediaRouteProvider.java
@@ -11,8 +11,6 @@ import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
import androidx.mediarouter.media.MediaRouter;
-import com.google.android.gms.cast.framework.CastSession;
-
import org.chromium.base.Log;
import org.chromium.components.media_router.BrowserMediaRouter;
import org.chromium.components.media_router.ClientRecord;
@@ -150,20 +148,6 @@ public class CafMediaRouteProvider extends CafBaseMediaRouteProvider {
return mMessageHandler;
}
- @Override
- protected void handleSessionStart(CastSession session, String sessionId) {
- super.handleSessionStart(session, sessionId);
-
- for (ClientRecord clientRecord : mClientIdToRecords.values()) {
- // Should be exactly one instance of MediaRoute/ClientRecord at this moment.
- mMessageHandler.sendReceiverActionToClient(clientRecord.routeId,
- sessionController().getSink(), clientRecord.clientId, "cast");
- }
-
- mMessageHandler.onSessionStarted();
- sessionController().getSession().getRemoteMediaClient().requestStatus();
- }
-
@Override
protected void addRoute(
MediaRoute route, String origin, int tabId, int nativeRequestId, boolean wasLaunched) {
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafMessageHandler.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafMessageHandler.java
index 92a28ede89603..1098c0519f400 100644
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafMessageHandler.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafMessageHandler.java
@@ -13,10 +13,6 @@ import android.util.SparseArray;
import androidx.annotation.VisibleForTesting;
import androidx.collection.ArrayMap;
-import com.google.android.gms.cast.ApplicationMetadata;
-import com.google.android.gms.common.api.PendingResult;
-import com.google.android.gms.common.api.Status;
-
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
@@ -345,49 +341,7 @@ public class CafMessageHandler {
final int sequenceNumber) throws JSONException {
if (volumeMessage == null) return false;
if (!mSessionController.isConnected()) return false;
- boolean shouldWaitForVolumeChange = false;
- try {
- if (!volumeMessage.isNull("muted")) {
- boolean newMuted = volumeMessage.getBoolean("muted");
- if (mSessionController.getSession().isMute() != newMuted) {
- mSessionController.getSession().setMute(newMuted);
- shouldWaitForVolumeChange = true;
- }
- }
- if (!volumeMessage.isNull("level")) {
- double newLevel = volumeMessage.getDouble("level");
- double currentLevel = mSessionController.getSession().getVolume();
- if (!Double.isNaN(currentLevel)
- && Math.abs(currentLevel - newLevel)
- > CastSessionUtil.MIN_VOLUME_LEVEL_DELTA) {
- mSessionController.getSession().setVolume(newLevel);
- shouldWaitForVolumeChange = true;
- }
- }
- } catch (IOException | IllegalStateException e) {
- Log.e(TAG, "Failed to send volume command: " + e);
- return false;
- }
-
- // For each successful volume message we need to respond with an empty "v2_message" so the
- // Cast Web SDK can call the success callback of the page. If we expect the volume to change
- // as the result of the command, we're relying on {@link Cast.CastListener#onVolumeChanged}
- // to get called by the Android Cast SDK when the receiver status is updated. We keep the
- // sequence number until then. If the volume doesn't change as the result of the command, we
- // won't get notified by the Android SDK
- if (shouldWaitForVolumeChange) {
- mVolumeRequests.add(new RequestRecord(clientId, sequenceNumber));
- } else {
- // It's usually bad to have request and response on the same call stack so post the
- // response to the Android message loop.
- mHandler.post(new Runnable() {
- @Override
- public void run() {
- onVolumeChanged(clientId, sequenceNumber);
- }
- });
- }
- return true;
+ return false;
}
@VisibleForTesting
@@ -675,19 +629,11 @@ public class CafMessageHandler {
try {
// "volume" is a part of "receiver" initialized below.
JSONObject jsonVolume = new JSONObject();
- jsonVolume.put("level", mSessionController.getSession().getVolume());
- jsonVolume.put("muted", mSessionController.getSession().isMute());
// "receiver" is a part of "message" initialized below.
JSONObject jsonReceiver = new JSONObject();
- jsonReceiver.put(
- "label", mSessionController.getSession().getCastDevice().getDeviceId());
- jsonReceiver.put("friendlyName",
- mSessionController.getSession().getCastDevice().getFriendlyName());
jsonReceiver.put("capabilities", toJSONArray(mSessionController.getCapabilities()));
jsonReceiver.put("volume", jsonVolume);
- jsonReceiver.put(
- "isActiveInput", mSessionController.getSession().getActiveInputState());
jsonReceiver.put("displayStatus", null);
jsonReceiver.put("receiverType", "cast");
@@ -700,23 +646,14 @@ public class CafMessageHandler {
JSONObject jsonMessage = new JSONObject();
jsonMessage.put("sessionId", mSessionController.getSessionId());
- jsonMessage.put("statusText", mSessionController.getSession().getApplicationStatus());
jsonMessage.put("receiver", jsonReceiver);
jsonMessage.put("namespaces", jsonNamespaces);
jsonMessage.put("media", toJSONArray(new ArrayList<>()));
jsonMessage.put("status", "connected");
jsonMessage.put("transportId", "web-4");
- ApplicationMetadata applicationMetadata =
- mSessionController.getSession().getApplicationMetadata();
- if (applicationMetadata != null) {
- jsonMessage.put("appId", applicationMetadata.getApplicationId());
- } else {
- jsonMessage.put("appId",
- mSessionController.getRouteCreationInfo().source.getApplicationId());
- }
- jsonMessage.put("displayName",
- mSessionController.getSession().getCastDevice().getFriendlyName());
+ jsonMessage.put("appId",
+ mSessionController.getRouteCreationInfo().source.getApplicationId());
return jsonMessage.toString();
} catch (JSONException e) {
@@ -797,32 +734,6 @@ public class CafMessageHandler {
boolean sendStringCastMessage(
String message, String namespace, String clientId, int sequenceNumber) {
if (!mSessionController.isConnected()) return false;
-
- PendingResult<Status> pendingResult =
- mSessionController.getSession().sendMessage(namespace, message);
- if (!TextUtils.equals(namespace, CastSessionUtil.MEDIA_NAMESPACE)) {
- // Media commands wait for the media status update as a result.
- pendingResult.setResultCallback(
- (Status result) -> onSendAppMessageResult(result, clientId, sequenceNumber));
- }
- return true;
- }
-
- /**
- * Notifies a client that an app message has been sent.
- * @param clientId The client id the message is sent from.
- * @param sequenceNumber The sequence number of the message.
- */
- void onSendAppMessageResult(Status result, String clientId, int sequenceNumber) {
- if (!result.isSuccess()) {
- // TODO(avayvod): should actually report back to the page.
- // See https://crbug.com/550445.
- Log.e(TAG, "Failed to send the message: " + result);
- return;
- }
-
- // App messages wait for the empty message with the sequence
- // number.
- sendEnclosedMessageToClient(clientId, "app_message", null, sequenceNumber);
+ return false;
}
}
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastMediaSource.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastMediaSource.java
index 37f882d39809f..2b73e6a8356d9 100644
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastMediaSource.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastMediaSource.java
@@ -9,8 +9,6 @@ import android.net.Uri;
import androidx.annotation.Nullable;
import androidx.mediarouter.media.MediaRouteSelector;
-import com.google.android.gms.cast.CastMediaControlIntent;
-
import org.chromium.components.media_router.MediaSource;
import java.util.Arrays;
@@ -106,13 +104,7 @@ public class CastMediaSource implements MediaSource {
*/
@Override
public MediaRouteSelector buildRouteSelector() {
- try {
- return new MediaRouteSelector.Builder()
- .addControlCategory(CastMediaControlIntent.categoryForCast(mApplicationId))
- .build();
- } catch (IllegalArgumentException e) {
- return null;
- }
+ return null;
}
/**
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastOptionsProvider.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastOptionsProvider.java
index b693e0c223f74..34b861c42bcdb 100644
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastOptionsProvider.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastOptionsProvider.java
@@ -6,28 +6,8 @@ package org.chromium.components.media_router.caf;
import android.content.Context;
-import com.google.android.gms.cast.LaunchOptions;
-import com.google.android.gms.cast.framework.CastOptions;
-import com.google.android.gms.cast.framework.OptionsProvider;
-import com.google.android.gms.cast.framework.SessionProvider;
-
import java.util.List;
/** {@link OptionsProvider} implementation for Chrome MR. */
-public class CastOptionsProvider implements OptionsProvider {
- @Override
- public CastOptions getCastOptions(Context context) {
- return new CastOptions.Builder()
- .setCastMediaOptions(null)
- .setEnableReconnectionService(false)
- .setLaunchOptions(new LaunchOptions.Builder().setRelaunchIfRunning(true).build())
- .setResumeSavedSession(false)
- .setStopReceiverApplicationWhenEndingSession(true)
- .build();
- }
-
- @Override
- public List<SessionProvider> getAdditionalSessionProviders(Context context) {
- return null;
- }
+public class CastOptionsProvider {
}
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastSessionController.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastSessionController.java
index 537d4416af363..c4581847d57ec 100644
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastSessionController.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastSessionController.java
@@ -7,11 +7,6 @@ package org.chromium.components.media_router.caf;
import androidx.annotation.NonNull;
import androidx.annotation.VisibleForTesting;
-import com.google.android.gms.cast.ApplicationMetadata;
-import com.google.android.gms.cast.Cast;
-import com.google.android.gms.cast.CastDevice;
-import com.google.android.gms.cast.framework.CastSession;
-
import org.chromium.base.Log;
import java.util.ArrayList;
@@ -24,12 +19,10 @@ public class CastSessionController extends BaseSessionController {
private static final String TAG = "CafSessionCtrl";
private List<String> mNamespaces = new ArrayList<String>();
- private CastListener mCastListener;
private CafNotificationController mNotificationController;
public CastSessionController(CafBaseMediaRouteProvider provider) {
super(provider);
- mCastListener = new CastListener();
mNotificationController = new CafNotificationController(this);
}
@@ -37,30 +30,6 @@ public class CastSessionController extends BaseSessionController {
return mNamespaces;
}
- /**
- * Init nested fields for testing. The reason is that nested classes are bound to the original
- * instance instead of the spyed instance.
- */
- void initNestedFieldsForTesting() {
- mCastListener = new CastListener();
- }
-
- @Override
- public void attachToCastSession(CastSession session) {
- super.attachToCastSession(session);
- getSession().addCastListener(mCastListener);
- updateNamespaces();
- }
-
- @Override
- public void detachFromCastSession() {
- if (getSession() == null) return;
-
- mNamespaces.clear();
- getSession().removeCastListener(mCastListener);
- super.detachFromCastSession();
- }
-
@Override
public void onSessionEnded() {
getMessageHandler().onSessionEnded();
@@ -72,24 +41,6 @@ public class CastSessionController extends BaseSessionController {
return mNotificationController;
}
- private class CastListener extends Cast.Listener {
- @Override
- public void onApplicationStatusChanged() {
- CastSessionController.this.onApplicationStatusChanged();
- }
-
- @Override
- public void onApplicationMetadataChanged(ApplicationMetadata metadata) {
- CastSessionController.this.onApplicationStatusChanged();
- }
-
- @Override
- public void onVolumeChanged() {
- CastSessionController.this.onApplicationStatusChanged();
- getMessageHandler().onVolumeChanged();
- }
- }
-
private void onApplicationStatusChanged() {
updateNamespaces();
@@ -100,53 +51,18 @@ public class CastSessionController extends BaseSessionController {
@VisibleForTesting
void updateNamespaces() {
if (!isConnected()) return;
-
- if (getSession().getApplicationMetadata() == null
- || getSession().getApplicationMetadata().getSupportedNamespaces() == null) {
- return;
- }
-
- Set<String> namespacesToAdd =
- new HashSet<>(getSession().getApplicationMetadata().getSupportedNamespaces());
- Set<String> namespacesToRemove = new HashSet<String>(mNamespaces);
-
- namespacesToRemove.removeAll(namespacesToAdd);
- namespacesToAdd.removeAll(mNamespaces);
-
- for (String namespace : namespacesToRemove) unregisterNamespace(namespace);
- for (String namespace : namespacesToAdd) registerNamespace(namespace);
}
private void registerNamespace(String namespace) {
assert !mNamespaces.contains(namespace);
if (!isConnected()) return;
-
- try {
- getSession().setMessageReceivedCallbacks(namespace, this::onMessageReceived);
- mNamespaces.add(namespace);
- } catch (Exception e) {
- Log.e(TAG, "Failed to register namespace listener for %s", namespace, e);
- }
}
private void unregisterNamespace(String namespace) {
assert mNamespaces.contains(namespace);
if (!isConnected()) return;
-
- try {
- getSession().removeMessageReceivedCallbacks(namespace);
- mNamespaces.remove(namespace);
- } catch (Exception e) {
- Log.e(TAG, "Failed to remove the namespace listener for %s", namespace, e);
- }
- }
-
- @Override
- protected void onMessageReceived(CastDevice castDevice, String namespace, String message) {
- super.onMessageReceived(castDevice, namespace, message);
- getMessageHandler().onMessageReceived(namespace, message);
}
@NonNull
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastUtils.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastUtils.java
index aafecde3bc685..fcab92021c1a9 100644
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastUtils.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastUtils.java
@@ -4,18 +4,10 @@
package org.chromium.components.media_router.caf;
-import com.google.android.gms.cast.framework.CastContext;
-
import org.chromium.components.media_router.MediaRouterClient;
/** Utility methods for Cast. */
public class CastUtils {
- /** Helper method to return the {@link CastContext} instance. */
- public static CastContext getCastContext() {
- return CastContext.getSharedInstance(
- MediaRouterClient.getInstance().getContextForRemoting());
- }
-
/**
* Compares two origins. Empty origin strings correspond to unique origins in
* url::Origin.
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafExpandedControllerActivity.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafExpandedControllerActivity.java
index 8dce30d1f7262..1b04c4853a3d2 100644
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafExpandedControllerActivity.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafExpandedControllerActivity.java
@@ -45,60 +45,35 @@ public class CafExpandedControllerActivity
private MediaController.Delegate mControllerDelegate = new MediaController.Delegate() {
@Override
public void play() {
- if (!mSessionController.isConnected()) return;
-
- mSessionController.getSession().getRemoteMediaClient().play();
- MediaRouteUmaRecorder.recordFullscreenControlsAction(
- MediaRouteUmaRecorder.FullScreenControls.RESUME);
}
@Override
public void pause() {
- if (!mSessionController.isConnected()) return;
-
- mSessionController.getSession().getRemoteMediaClient().pause();
- MediaRouteUmaRecorder.recordFullscreenControlsAction(
- MediaRouteUmaRecorder.FullScreenControls.PAUSE);
}
@Override
public long getDuration() {
- if (!mSessionController.isConnected()) return 0;
- return mSessionController.getFlingingController().getDuration();
+ return 0;
}
@Override
public long getPosition() {
- if (!mSessionController.isConnected()) return 0;
- return mSessionController.getFlingingController().getApproximateCurrentTime();
+ return 0;
}
@Override
public void seekTo(long pos) {
- if (!mSessionController.isConnected()) return;
-
- mSessionController.getSession().getRemoteMediaClient().seek(pos);
- MediaRouteUmaRecorder.recordFullscreenControlsAction(
- MediaRouteUmaRecorder.FullScreenControls.SEEK);
}
@Override
public boolean isPlaying() {
- if (!mSessionController.isConnected()) return false;
-
- return mSessionController.getSession().getRemoteMediaClient().isPlaying();
+ return false;
}
@Override
public long getActionFlags() {
long flags =
PlaybackStateCompat.ACTION_REWIND | PlaybackStateCompat.ACTION_FAST_FORWARD;
- if (mSessionController.isConnected()
- && mSessionController.getSession().getRemoteMediaClient().isPlaying()) {
- flags |= PlaybackStateCompat.ACTION_PAUSE;
- } else {
- flags |= PlaybackStateCompat.ACTION_PLAY;
- }
return flags;
}
};
@@ -187,20 +162,10 @@ public class CafExpandedControllerActivity
private void updateUi() {
if (!mSessionController.isConnected()) return;
- String deviceName = mSessionController.getSession().getCastDevice().getFriendlyName();
- String titleText = "";
- if (deviceName != null) {
- titleText = getResources().getString(R.string.cast_casting_video, deviceName);
- }
- mTitleView.setText(titleText);
-
mMediaController.refresh();
mMediaController.updateProgress();
cancelProgressUpdateTask();
- if (mSessionController.getSession().getRemoteMediaClient().isPlaying()) {
- scheduleProgressUpdateTask();
- }
}
private void scheduleProgressUpdateTask() {
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafRemotingMediaRouteProvider.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafRemotingMediaRouteProvider.java
index 66a60a46e986e..66aad412fd499 100644
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafRemotingMediaRouteProvider.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafRemotingMediaRouteProvider.java
@@ -49,9 +49,6 @@ public class CafRemotingMediaRouteProvider extends CafBaseMediaRouteProvider {
@Override
public void detachRoute(String routeId) {
super.detachRoute(routeId);
- MediaRouteUmaRecorder.recordRemoteSessionTimeWithoutMediaElementPercentage(
- mSessionController.getFlingingController().getApproximateCurrentTime(),
- mSessionController.getFlingingController().getDuration());
}
@Override
@@ -74,6 +71,6 @@ public class CafRemotingMediaRouteProvider extends CafBaseMediaRouteProvider {
if (!mRoutes.containsKey(routeId)) return null;
- return sessionController().getFlingingController();
+ return null;
}
}
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/FlingingControllerAdapter.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/FlingingControllerAdapter.java
index a74407647fba3..2c61fb2548094 100644
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/FlingingControllerAdapter.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/FlingingControllerAdapter.java
@@ -4,11 +4,6 @@
package org.chromium.components.media_router.caf.remoting;
-import com.google.android.gms.cast.MediaInfo;
-import com.google.android.gms.cast.MediaStatus;
-import com.google.android.gms.cast.framework.media.RemoteMediaClient;
-import com.google.android.gms.common.api.Result;
-
import org.chromium.base.Log;
import org.chromium.components.media_router.FlingingController;
import org.chromium.components.media_router.MediaController;
@@ -69,14 +64,6 @@ public class FlingingControllerAdapter implements FlingingController, MediaContr
/** Starts loading the media URL, from the given position. */
public void load(long position) {
if (!mSessionController.isConnected()) return;
-
- mLoaded = true;
-
- MediaInfo mediaInfo = new MediaInfo.Builder(mMediaUrl)
- .setContentType("*/*")
- .setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
- .build();
- mSessionController.getRemoteMediaClient().load(mediaInfo, /* autoplay= */ true, position);
}
////////////////////////////////////////////
@@ -91,89 +78,28 @@ public class FlingingControllerAdapter implements FlingingController, MediaContr
load(/* position= */ 0);
return;
}
-
- mSessionController.getRemoteMediaClient().play().setResultCallback(
- this::onMediaCommandResult);
}
@Override
public void pause() {
if (!mSessionController.isConnected()) return;
- mSessionController.getRemoteMediaClient().pause().setResultCallback(
- this::onMediaCommandResult);
}
@Override
public void setMute(boolean mute) {
if (!mSessionController.isConnected()) return;
- mSessionController.getRemoteMediaClient().setStreamMute(mute).setResultCallback(
- this::onMediaCommandResult);
}
@Override
public void setVolume(double volume) {
if (!mSessionController.isConnected()) return;
- mSessionController.getRemoteMediaClient().setStreamVolume(volume).setResultCallback(
- this::onMediaCommandResult);
}
@Override
public void seek(long position) {
- if (!mSessionController.isConnected()) return;
-
- if (!mLoaded) {
- load(position);
- return;
- }
-
- mSessionController.getRemoteMediaClient().seek(position).setResultCallback(
- this::onMediaCommandResult);
- mStreamPositionExtrapolator.onSeek(position);
}
////////////////////////////////////////////
// MediaController implementation end
////////////////////////////////////////////
-
- public void onStatusUpdated() {
- if (mMediaStatusObserver == null) return;
-
- RemoteMediaClient remoteMediaClient = mSessionController.getRemoteMediaClient();
-
- MediaStatus mediaStatus = remoteMediaClient.getMediaStatus();
- if (mediaStatus != null) {
- mHasEverReceivedValidMediaSession = true;
- if (mediaStatus.getPlayerState() == MediaStatus.PLAYER_STATE_IDLE
- && mediaStatus.getIdleReason() == MediaStatus.IDLE_REASON_FINISHED) {
- mLoaded = false;
- mStreamPositionExtrapolator.onFinish();
- } else {
- mStreamPositionExtrapolator.update(remoteMediaClient.getStreamDuration(),
- remoteMediaClient.getApproximateStreamPosition(),
- remoteMediaClient.isPlaying(), mediaStatus.getPlaybackRate());
- }
-
- mMediaStatusObserver.onMediaStatusUpdate(new MediaStatusBridge(mediaStatus));
-
- } else if (mHasEverReceivedValidMediaSession) {
- // We can receive a null |mediaStatus| while we are in the process of loading the video.
- // We should wait until we receive one valid media status before considering the video
- // unloaded. Otherwise, the first call to seek or play will reload the video.
- // See b/144325733.
- mLoaded = false;
- mStreamPositionExtrapolator.clear();
- }
- }
-
- private void onMediaCommandResult(Result result) {
- // When multiple API calls are made in quick succession, "Results have already been set"
- // IllegalStateExceptions might be thrown from GMS code. We prefer to catch the exception
- // and noop it, than to crash. This might lead to some API calls never getting their
- // onResult() called, so we should not rely on onResult() being called for every API call.
- // See https://crbug.com/853923.
- if (!result.getStatus().isSuccess()) {
- Log.e(TAG, "Error when sending command. Status code: %d",
- result.getStatus().getStatusCode());
- }
- }
}
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/RemotingMediaSource.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/RemotingMediaSource.java
index 55145ebe12310..7c6ced3dc131d 100644
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/RemotingMediaSource.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/RemotingMediaSource.java
@@ -13,8 +13,6 @@ import android.util.Base64;
import androidx.annotation.Nullable;
import androidx.mediarouter.media.MediaRouteSelector;
-import com.google.android.gms.cast.CastMediaControlIntent;
-
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.components.media_router.MediaSource;
@@ -84,9 +82,7 @@ public class RemotingMediaSource implements MediaSource {
*/
@Override
public MediaRouteSelector buildRouteSelector() {
- return new MediaRouteSelector.Builder()
- .addControlCategory(CastMediaControlIntent.categoryForCast(getApplicationId()))
- .build();
+ return null;
}
/**
@@ -113,7 +109,7 @@ public class RemotingMediaSource implements MediaSource {
sApplicationId = (customAppId != null && !customAppId.isEmpty())
? customAppId
- : CastMediaControlIntent.DEFAULT_MEDIA_RECEIVER_APPLICATION_ID;
+ : "CC1AD845"; /*DEFAULT_MEDIA_RECEIVER_APPLICATION_ID*/
}
return sApplicationId;
diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/RemotingSessionController.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/RemotingSessionController.java
index a417db375f6f8..c4b554c905137 100644
--- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/RemotingSessionController.java
+++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/RemotingSessionController.java
@@ -4,8 +4,6 @@
package org.chromium.components.media_router.caf.remoting;
-import com.google.android.gms.cast.framework.CastSession;
-
import org.chromium.base.Log;
import org.chromium.components.media_router.CastSessionUtil;
import org.chromium.components.media_router.caf.BaseNotificationController;
@@ -33,19 +31,6 @@ public class RemotingSessionController extends BaseSessionController {
sInstance = new WeakReference<>(this);
}
- @Override
- public void attachToCastSession(CastSession session) {
- super.attachToCastSession(session);
-
- try {
- getSession().setMessageReceivedCallbacks(
- CastSessionUtil.MEDIA_NAMESPACE, this::onMessageReceived);
- } catch (Exception e) {
- Log.e(TAG, "Failed to register namespace listener for %s",
- CastSessionUtil.MEDIA_NAMESPACE, e);
- }
- }
-
@Override
public void onSessionStarted() {
super.onSessionStarted();
@@ -53,17 +38,6 @@ public class RemotingSessionController extends BaseSessionController {
mFlingingControllerAdapter = new FlingingControllerAdapter(this, source.getMediaUrl());
}
- @Override
- protected void onStatusUpdated() {
- mFlingingControllerAdapter.onStatusUpdated();
- super.onStatusUpdated();
- }
-
- @Override
- public FlingingControllerAdapter getFlingingController() {
- return mFlingingControllerAdapter;
- }
-
@Override
public BaseNotificationController getNotificationController() {
return mNotificationController;
diff --git a/components/media_router/test/android/cast_emulator/BUILD.gn b/components/media_router/test/android/cast_emulator/BUILD.gn
index 4852868c6ee58..d5200fe466ca3 100644
--- a/components/media_router/test/android/cast_emulator/BUILD.gn
+++ b/components/media_router/test/android/cast_emulator/BUILD.gn
@@ -20,7 +20,6 @@ android_library("cast_emulator_java") {
"src/org/chromium/components/media_router/cast_emulator/router/DummyRoutePublisher.java",
]
deps = [
- "$google_play_services_package:google_play_services_cast_java",
"//base:base_java",
"//third_party/androidx:androidx_mediarouter_mediarouter_java",
]
diff --git a/components/module_installer/android/BUILD.gn b/components/module_installer/android/BUILD.gn
index 1c05e17882489..d76a7316782e5 100644
--- a/components/module_installer/android/BUILD.gn
+++ b/components/module_installer/android/BUILD.gn
@@ -35,7 +35,6 @@ android_library("module_installer_java") {
"//base:base_java",
"//base:jni_java",
"//components/crash/android:java",
- "//third_party/android_deps:com_google_android_play_core_java",
"//third_party/androidx:androidx_annotation_annotation_java",
]
@@ -61,7 +60,6 @@ robolectric_binary("module_installer_junit_tests") {
"//base:base_java",
"//base:base_java_test_support",
"//base:base_junit_test_support",
- "//third_party/android_deps:com_google_android_play_core_java",
"//third_party/hamcrest:hamcrest_java",
]
}
diff --git a/components/signin/public/android/BUILD.gn b/components/signin/public/android/BUILD.gn
index 5843aa91acd9c..16c8a8415387b 100644
--- a/components/signin/public/android/BUILD.gn
+++ b/components/signin/public/android/BUILD.gn
@@ -2,8 +2,6 @@ import("//build/config/android/rules.gni")
android_library("java") {
deps = [
- "$google_play_services_package:google_play_services_auth_base_java",
- "$google_play_services_package:google_play_services_base_java",
"//base:base_java",
"//base:jni_java",
"//build/android:build_java",
@@ -162,7 +160,6 @@ robolectric_library("junit") {
deps = [
":java",
":signin_java_test_support",
- "$google_play_services_package:google_play_services_auth_base_java",
"//base:base_java",
"//base:base_java_test_support",
"//base:base_junit_test_support",
diff --git a/components/signin/public/android/java/src/org/chromium/components/signin/AccountRenameChecker.java b/components/signin/public/android/java/src/org/chromium/components/signin/AccountRenameChecker.java
index 25beba5798c61..049dc7ffb0069 100644
--- a/components/signin/public/android/java/src/org/chromium/components/signin/AccountRenameChecker.java
+++ b/components/signin/public/android/java/src/org/chromium/components/signin/AccountRenameChecker.java
@@ -11,10 +11,6 @@ import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
import androidx.annotation.WorkerThread;
-import com.google.android.gms.auth.AccountChangeEvent;
-import com.google.android.gms.auth.GoogleAuthException;
-import com.google.android.gms.auth.GoogleAuthUtil;
-
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.base.Promise;
@@ -51,18 +47,6 @@ public final class AccountRenameChecker {
*/
@Override
public @Nullable String getNewNameOfRenamedAccount(String accountEmail) {
- final Context context = ContextUtils.getApplicationContext();
- try {
- final List<AccountChangeEvent> accountChangeEvents =
- GoogleAuthUtil.getAccountChangeEvents(context, 0, accountEmail);
- for (AccountChangeEvent event : accountChangeEvents) {
- if (event.getChangeType() == GoogleAuthUtil.CHANGE_TYPE_ACCOUNT_RENAMED_TO) {
- return event.getChangeData();
- }
- }
- } catch (IOException | GoogleAuthException e) {
- Log.w(TAG, "Failed to get change events", e);
- }
return null;
}
}
diff --git a/components/webauthn/android/BUILD.gn b/components/webauthn/android/BUILD.gn
index f10eaf630bff8..6ae254ace0fad 100644
--- a/components/webauthn/android/BUILD.gn
+++ b/components/webauthn/android/BUILD.gn
@@ -6,7 +6,6 @@ import("//build/config/android/rules.gni")
generate_jni("jni_headers") {
sources = [
- "java/src/org/chromium/components/webauthn/Fido2Api.java",
"java/src/org/chromium/components/webauthn/InternalAuthenticator.java",
"java/src/org/chromium/components/webauthn/WebAuthnBrowserBridge.java",
]
@@ -16,11 +15,7 @@ android_library("java") {
sources = [
"java/src/org/chromium/components/webauthn/AuthenticatorFactory.java",
"java/src/org/chromium/components/webauthn/AuthenticatorImpl.java",
- "java/src/org/chromium/components/webauthn/Fido2Api.java",
- "java/src/org/chromium/components/webauthn/Fido2ApiCall.java",
"java/src/org/chromium/components/webauthn/Fido2ApiCallHelper.java",
- "java/src/org/chromium/components/webauthn/Fido2CredentialRequest.java",
- "java/src/org/chromium/components/webauthn/FidoErrorResponseCallback.java",
"java/src/org/chromium/components/webauthn/GetAssertionResponseCallback.java",
"java/src/org/chromium/components/webauthn/GetMatchingCredentialIdsResponseCallback.java",
"java/src/org/chromium/components/webauthn/InternalAuthenticator.java",
@@ -31,9 +26,6 @@ android_library("java") {
]
annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
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_tasks_java",
"//base:base_java",
"//base:jni_java",
"//build/android:build_java",
@@ -69,7 +61,6 @@ android_library("test_support_java") {
source_set("android") {
sources = [
- "fido2api_native_android.cc",
"internal_authenticator_android.cc",
"internal_authenticator_android.h",
"webauthn_browser_bridge.cc",
diff --git a/components/webauthn/android/java/src/org/chromium/components/webauthn/AuthenticatorImpl.java b/components/webauthn/android/java/src/org/chromium/components/webauthn/AuthenticatorImpl.java
index 1f7f40c9ace40..c2ef0a55ecdcb 100644
--- a/components/webauthn/android/java/src/org/chromium/components/webauthn/AuthenticatorImpl.java
+++ b/components/webauthn/android/java/src/org/chromium/components/webauthn/AuthenticatorImpl.java
@@ -14,7 +14,6 @@ import androidx.annotation.RequiresApi;
import org.chromium.base.Callback;
import org.chromium.base.ContextUtils;
-import org.chromium.base.PackageUtils;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.blink.mojom.Authenticator;
import org.chromium.blink.mojom.AuthenticatorStatus;
@@ -57,9 +56,6 @@ public final class AuthenticatorImpl implements Authenticator {
/** The payment information to be added to the "clientDataJson". */
private PaymentOptions mPayment;
- /** Caches the GMS Core package version. */
- private int mGmsCorePackageVersion;
-
private MakeCredential_Response mMakeCredentialCallback;
private GetAssertion_Response mGetAssertionCallback;
// A queue is used to store pending IsUserVerifyingPlatformAuthenticatorAvailable request
@@ -68,9 +64,6 @@ public final class AuthenticatorImpl implements Authenticator {
// situation does not matter because all pending requests will return the same value.
private Queue<org.chromium.mojo.bindings.Callbacks.Callback1<Boolean>>
mIsUserVerifyingPlatformAuthenticatorAvailableCallbackQueue = new LinkedList<>();
- private Fido2CredentialRequest mPendingFido2CredentialRequest;
-
- private static Fido2CredentialRequest sFido2CredentialRequestOverrideForTesting;
/**
* Builds the Authenticator service implementation.
@@ -95,21 +88,6 @@ public final class AuthenticatorImpl implements Authenticator {
mRenderFrameHost = renderFrameHost;
mSupportLevel = supportLevel;
mOrigin = mRenderFrameHost.getLastCommittedOrigin();
-
- Context context = ContextUtils.getApplicationContext();
- mGmsCorePackageVersion = PackageUtils.getPackageVersion(context, GMSCORE_PACKAGE_NAME);
- }
-
- public static void overrideFido2CredentialRequestForTesting(Fido2CredentialRequest request) {
- sFido2CredentialRequestOverrideForTesting = request;
- }
-
- private Fido2CredentialRequest getFido2CredentialRequest() {
- if (sFido2CredentialRequestOverrideForTesting != null) {
- return sFido2CredentialRequestOverrideForTesting;
- }
-
- return new Fido2CredentialRequest(mIntentSender, mSupportLevel);
}
/**
@@ -139,17 +117,9 @@ public final class AuthenticatorImpl implements Authenticator {
mMakeCredentialCallback = callback;
mIsOperationPending = true;
- if (mGmsCorePackageVersion < GMSCORE_MIN_VERSION) {
- onError(AuthenticatorStatus.NOT_IMPLEMENTED);
- return;
- }
- mPendingFido2CredentialRequest = getFido2CredentialRequest();
- mPendingFido2CredentialRequest.handleMakeCredentialRequest(options, mRenderFrameHost,
- mOrigin,
- (status, response)
- -> onRegisterResponse(status, response),
- status -> onError(status));
+ // Fido2 not supported on Bromite
+ onError(AuthenticatorStatus.NOT_IMPLEMENTED);
}
@Override
@@ -163,15 +133,8 @@ public final class AuthenticatorImpl implements Authenticator {
mGetAssertionCallback = callback;
mIsOperationPending = true;
- if (mGmsCorePackageVersion < GMSCORE_MIN_VERSION) {
- onError(AuthenticatorStatus.NOT_IMPLEMENTED);
- return;
- }
-
- mPendingFido2CredentialRequest = getFido2CredentialRequest();
- mPendingFido2CredentialRequest.handleGetAssertionRequest(options, mRenderFrameHost, mOrigin,
- mPayment,
- (status, response) -> onSignResponse(status, response), status -> onError(status));
+ // Fido2 not supported on Bromite
+ onError(AuthenticatorStatus.NOT_IMPLEMENTED);
}
@Override
@@ -184,15 +147,8 @@ public final class AuthenticatorImpl implements Authenticator {
callback.call(isUvpaa);
};
- if (mGmsCorePackageVersion < GMSCORE_MIN_VERSION) {
- decoratedCallback.call(false);
- return;
- }
-
- mIsUserVerifyingPlatformAuthenticatorAvailableCallbackQueue.add(decoratedCallback);
- getFido2CredentialRequest().handleIsUserVerifyingPlatformAuthenticatorAvailableRequest(
- mRenderFrameHost,
- isUvpaa -> onIsUserVerifyingPlatformAuthenticatorAvailableResponse(isUvpaa));
+ decoratedCallback.call(false);
+ return;
}
/**
@@ -201,7 +157,7 @@ public final class AuthenticatorImpl implements Authenticator {
* version.
*/
public boolean isGetMatchingCredentialIdsSupported() {
- return mGmsCorePackageVersion >= GMSCORE_MIN_VERSION_GET_MATCHING_CRED_IDS;
+ return false;
}
/**
@@ -215,33 +171,13 @@ public final class AuthenticatorImpl implements Authenticator {
*/
public void getMatchingCredentialIds(String relyingPartyId, byte[][] credentialIds,
boolean requireThirdPartyPayment, GetMatchingCredentialIdsResponseCallback callback) {
- if (mGmsCorePackageVersion < GMSCORE_MIN_VERSION_GET_MATCHING_CRED_IDS) {
- callback.onResponse(new ArrayList<byte[]>());
- return;
- }
-
- getFido2CredentialRequest().handleGetMatchingCredentialIdsRequest(mRenderFrameHost,
- relyingPartyId, credentialIds, requireThirdPartyPayment, callback,
- status -> onError(status));
+ callback.onResponse(new ArrayList<byte[]>());
}
@Override
public void isConditionalMediationAvailable(
final IsConditionalMediationAvailable_Response callback) {
- if (mGmsCorePackageVersion < GMSCORE_MIN_VERSION) {
- callback.call(false);
- return;
- }
-
- // The WebAuthenticationConditionalUI feature will only be enabled on Android when gmscore
- // supports silent discovery. If the gmscore and chromium versions are out of sync for some
- // reason, this method will return true but chrome will ignore conditional requests.
- // Android surfaces only platform credentials on conditional requests, use IsUVPAA as a
- // proxy for availability.
- mIsUserVerifyingPlatformAuthenticatorAvailableCallbackQueue.add(callback);
- getFido2CredentialRequest().handleIsUserVerifyingPlatformAuthenticatorAvailableRequest(
- mRenderFrameHost,
- isUvpaa -> onIsUserVerifyingPlatformAuthenticatorAvailableResponse(isUvpaa));
+ callback.call(false);
}
@Override
@@ -251,8 +187,6 @@ public final class AuthenticatorImpl implements Authenticator {
if (!mIsOperationPending || mGetAssertionCallback == null) {
return;
}
-
- mPendingFido2CredentialRequest.cancelConditionalGetAssertion(mRenderFrameHost);
}
/**
@@ -302,7 +236,6 @@ public final class AuthenticatorImpl implements Authenticator {
mIsOperationPending = false;
mMakeCredentialCallback = null;
mGetAssertionCallback = null;
- mPendingFido2CredentialRequest = null;
}
@Override
diff --git a/components/webauthn/android/java/src/org/chromium/components/webauthn/Fido2ApiCallHelper.java b/components/webauthn/android/java/src/org/chromium/components/webauthn/Fido2ApiCallHelper.java
index fe20d30a4407b..d65dba1ac49d4 100644
--- a/components/webauthn/android/java/src/org/chromium/components/webauthn/Fido2ApiCallHelper.java
+++ b/components/webauthn/android/java/src/org/chromium/components/webauthn/Fido2ApiCallHelper.java
@@ -8,10 +8,6 @@ import android.os.Parcel;
import androidx.annotation.VisibleForTesting;
-import com.google.android.gms.tasks.OnFailureListener;
-import com.google.android.gms.tasks.OnSuccessListener;
-import com.google.android.gms.tasks.Task;
-
import org.chromium.base.ContextUtils;
import java.util.List;
@@ -37,21 +33,4 @@ public class Fido2ApiCallHelper {
}
return sInstance;
}
-
- public void invokeFido2GetCredentials(String relyingPartyId, int supportLevel,
- OnSuccessListener<List<WebAuthnCredentialDetails>> successCallback,
- OnFailureListener failureCallback) {
- Fido2ApiCall call = new Fido2ApiCall(ContextUtils.getApplicationContext(), supportLevel);
- Parcel args = call.start();
- Fido2ApiCall.WebAuthnCredentialDetailsListResult result =
- new Fido2ApiCall.WebAuthnCredentialDetailsListResult();
- args.writeStrongBinder(result);
- args.writeString(relyingPartyId);
-
- Task<List<WebAuthnCredentialDetails>> task =
- call.run(Fido2ApiCall.METHOD_BROWSER_GETCREDENTIALS,
- Fido2ApiCall.TRANSACTION_GETCREDENTIALS, args, result);
- task.addOnSuccessListener(successCallback);
- task.addOnFailureListener(failureCallback);
- }
-}
\ No newline at end of file
+}
diff --git a/content/browser/push_messaging/push_messaging_manager.cc b/content/browser/push_messaging/push_messaging_manager.cc
index ac54746f23c14..790a4b68f6866 100644
--- a/content/browser/push_messaging/push_messaging_manager.cc
+++ b/content/browser/push_messaging/push_messaging_manager.cc
@@ -801,7 +801,7 @@ void PushMessagingManager::GetSubscriptionInfo(
}
PushMessagingService* PushMessagingManager::GetService() {
- return render_process_host_.GetBrowserContext()->GetPushMessagingService();
+ return nullptr;
}
} // namespace content
diff --git a/content/public/android/BUILD.gn b/content/public/android/BUILD.gn
index 11d95c443e103..f235f2d805581 100644
--- a/content/public/android/BUILD.gn
+++ b/content/public/android/BUILD.gn
@@ -137,10 +137,6 @@ android_library("content_main_dex_java") {
android_library("content_full_java") {
deps = [
":content_main_dex_java",
- "$google_play_services_package:google_play_services_auth_api_phone_java",
- "$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_tasks_java",
"//base:base_java",
"//base:jni_java",
"//build:chromeos_buildflags",
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
index 48c207593b27a..0a6ed4189ff3e 100644
--- a/content/test/BUILD.gn
+++ b/content/test/BUILD.gn
@@ -3134,10 +3134,6 @@ if (is_android) {
testonly = true
sources = content_java_sources_needing_jni
deps = [
- "$google_play_services_package:google_play_services_auth_api_phone_java",
- "$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_tasks_java",
"//base:base_java",
"//base:jni_java",
"//content/public/android:content_java",
diff --git a/device/BUILD.gn b/device/BUILD.gn
index fb86a3d65b828..696a3314ab2ff 100644
--- a/device/BUILD.gn
+++ b/device/BUILD.gn
@@ -470,9 +470,6 @@ if (is_android) {
"gamepad/android/junit/src/org/chromium/device/gamepad/GamepadMappingsTest.java",
]
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_location_java",
"//base:base_java_test_support",
"//base:base_junit_test_support",
"//device/gamepad:java",
diff --git a/device/fido/features.cc b/device/fido/features.cc
index 8337f996d0557..bc6126c533ca2 100644
--- a/device/fido/features.cc
+++ b/device/fido/features.cc
@@ -39,12 +39,12 @@ BASE_FEATURE(kWebAuthnGoogleCorpRemoteDesktopClientPrivilege,
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kWebAuthPasskeysUI,
- "WebAuthenticationPasskeysUI",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "WebAuthenticationPasskeysUI", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
-BASE_FEATURE(kWebAuthnNewDiscoverableCredentialsUi,
- "WebAuthenticationNewDiscoverableCredentialsUi",
- base::FEATURE_ENABLED_BY_DEFAULT);
+BASE_FEATURE(kWebAuthnNewDiscoverableCredentialsUi, // disabled by default
+ "WebAuthenticationNewDiscoverableCredentialsUi", // in Bromite
+ base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kWebAuthnNoEmptyDisplayNameCBOR,
"WebAuthenticationNoEmptyDisplayNameCBOR",
diff --git a/remoting/android/client_java_tmpl.gni b/remoting/android/client_java_tmpl.gni
index 98bb7d7b2ccd6..f0126ff1bd648 100644
--- a/remoting/android/client_java_tmpl.gni
+++ b/remoting/android/client_java_tmpl.gni
@@ -105,9 +105,6 @@ template("remoting_android_client_java_tmpl") {
if (defined(invoker.play_services_package)) {
deps += [
- "${invoker.play_services_package}:google_play_services_auth_base_java",
- "${invoker.play_services_package}:google_play_services_base_java",
- "${invoker.play_services_package}:google_play_services_basement_java",
]
}
diff --git a/services/BUILD.gn b/services/BUILD.gn
index 167a0ae682f40..d6c76e1d6bfd5 100644
--- a/services/BUILD.gn
+++ b/services/BUILD.gn
@@ -118,11 +118,6 @@ if (is_android) {
"shape_detection/android/junit/src/org/chromium/shape_detection/BitmapUtilsTest.java",
]
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_location_java",
- "$google_play_services_package:google_play_services_vision_common_java",
- "$google_play_services_package:google_play_services_vision_java",
"//base:base_java",
"//base:base_java_test_support",
"//base:base_junit_test_support",
@@ -150,10 +145,6 @@ if (is_android) {
"shape_detection/android/javatests/src/org/chromium/shape_detection/TextDetectionImplTest.java",
]
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_vision_common_java",
- "$google_play_services_package:google_play_services_vision_java",
"//base:base_java",
"//base:base_java_test_support",
"//mojo/public/java:base_java",
diff --git a/services/device/geolocation/BUILD.gn b/services/device/geolocation/BUILD.gn
index 91799550228e1..255cc275fe4fb 100644
--- a/services/device/geolocation/BUILD.gn
+++ b/services/device/geolocation/BUILD.gn
@@ -163,10 +163,6 @@ if (is_android) {
deps = [
":geolocation_jni_headers",
- "$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_location_java",
- "$google_play_services_package:google_play_services_tasks_java",
"//base:base_java",
"//base:jni_java",
"//build/android:build_java",
diff --git a/services/shape_detection/BUILD.gn b/services/shape_detection/BUILD.gn
index 6550c4869ff99..5ada52ce83cf9 100644
--- a/services/shape_detection/BUILD.gn
+++ b/services/shape_detection/BUILD.gn
@@ -115,10 +115,6 @@ if (is_android) {
]
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_vision_common_java",
- "$google_play_services_package:google_play_services_vision_java",
"//base:base_java",
"//base:jni_java",
"//mojo/public/java:base_java",
diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.gn
index dfd4ceaa2d7f2..931cef6a6d44a 100644
--- a/third_party/android_deps/BUILD.gn
+++ b/third_party/android_deps/BUILD.gn
@@ -54,7 +54,7 @@ if (!limit_android_deps) {
android_library("chromium_play_services_availability_java") {
sources = [ "util/org/chromium/gms/ChromiumPlayServicesAvailability.java" ]
- deps = [ "$google_play_services_package:google_play_services_base_java" ]
+ deps = [ ]
}
robolectric_library("chromium_play_services_availability_shadows_java") {
@@ -961,210 +961,6 @@ if (!limit_android_deps) {
]
}
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt("google_play_services_auth_java") {
- aar_path = "libs/com_google_android_gms_play_services_auth/play-services-auth-20.1.0.aar"
- info_path = "libs/com_google_android_gms_play_services_auth/com_google_android_gms_play_services_auth.info"
- deps = [
- ":google_play_services_auth_api_phone_java",
- ":google_play_services_auth_base_java",
- ":google_play_services_base_java",
- ":google_play_services_basement_java",
- ":google_play_services_tasks_java",
- "//third_party/androidx:androidx_fragment_fragment_java",
- "//third_party/androidx:androidx_loader_loader_java",
- ]
- }
-
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt("google_play_services_auth_api_phone_java") {
- aar_path = "libs/com_google_android_gms_play_services_auth_api_phone/play-services-auth-api-phone-18.0.1.aar"
- info_path = "libs/com_google_android_gms_play_services_auth_api_phone/com_google_android_gms_play_services_auth_api_phone.info"
- deps = [
- ":google_play_services_base_java",
- ":google_play_services_basement_java",
- ":google_play_services_tasks_java",
- ]
- }
-
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt("google_play_services_auth_base_java") {
- aar_path = "libs/com_google_android_gms_play_services_auth_base/play-services-auth-base-18.0.2.aar"
- info_path = "libs/com_google_android_gms_play_services_auth_base/com_google_android_gms_play_services_auth_base.info"
- deps = [
- ":google_play_services_base_java",
- ":google_play_services_basement_java",
- ":google_play_services_tasks_java",
- "//third_party/androidx:androidx_collection_collection_java",
- ]
- }
-
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt("google_play_services_base_java") {
- aar_path = "libs/com_google_android_gms_play_services_base/play-services-base-18.0.1.aar"
- info_path = "libs/com_google_android_gms_play_services_base/com_google_android_gms_play_services_base.info"
- deps = [
- ":google_play_services_basement_java",
- ":google_play_services_tasks_java",
- "//third_party/androidx:androidx_collection_collection_java",
- "//third_party/androidx:androidx_core_core_java",
- "//third_party/androidx:androidx_fragment_fragment_java",
- ]
- bytecode_rewriter_target =
- "//build/android/bytecode:fragment_activity_replacer"
- }
-
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt("google_play_services_basement_java") {
- aar_path = "libs/com_google_android_gms_play_services_basement/play-services-basement-18.0.1.aar"
- info_path = "libs/com_google_android_gms_play_services_basement/com_google_android_gms_play_services_basement.info"
- deps = [
- "//third_party/androidx:androidx_collection_collection_java",
- "//third_party/androidx:androidx_core_core_java",
- "//third_party/androidx:androidx_fragment_fragment_java",
- ]
-
- jar_excluded_patterns = []
- if (!enable_java_asserts) {
- # Omit the file since we use our own copy.
- jar_excluded_patterns +=
- [ "com/google/android/gms/common/internal/Preconditions.class" ]
- deps += [ "//third_party/android_deps/local_modifications/preconditions:gms_stub_preconditions_java" ]
- }
-
- # https://crbug.com/989505
- jar_excluded_patterns += [ "META-INF/proguard/*" ]
- input_jars_paths = [ "$android_sdk/optional/org.apache.http.legacy.jar" ]
- bytecode_rewriter_target =
- "//build/android/bytecode:fragment_activity_replacer"
- }
-
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt("google_play_services_cast_java") {
- aar_path = "libs/com_google_android_gms_play_services_cast/play-services-cast-17.0.0.aar"
- info_path = "libs/com_google_android_gms_play_services_cast/com_google_android_gms_play_services_cast.info"
- deps = [
- ":google_play_services_base_java",
- ":google_play_services_basement_java",
- ":google_play_services_flags_java",
- ":google_play_services_tasks_java",
- "//third_party/androidx:androidx_core_core_java",
- "//third_party/androidx:androidx_mediarouter_mediarouter_java",
- ]
- }
-
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt("google_play_services_cast_framework_java") {
- aar_path = "libs/com_google_android_gms_play_services_cast_framework/play-services-cast-framework-17.0.0.aar"
- info_path = "libs/com_google_android_gms_play_services_cast_framework/com_google_android_gms_play_services_cast_framework.info"
- deps = [
- ":google_play_services_base_java",
- ":google_play_services_basement_java",
- ":google_play_services_cast_java",
- "//third_party/androidx:androidx_appcompat_appcompat_java",
- "//third_party/androidx:androidx_collection_collection_java",
- "//third_party/androidx:androidx_core_core_java",
- "//third_party/androidx:androidx_fragment_fragment_java",
- "//third_party/androidx:androidx_media_media_java",
- "//third_party/androidx:androidx_mediarouter_mediarouter_java",
- "//third_party/androidx:androidx_recyclerview_recyclerview_java",
- ]
- }
-
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt("google_play_services_fido_java") {
- aar_path = "libs/com_google_android_gms_play_services_fido/play-services-fido-19.0.0-beta.aar"
- info_path = "libs/com_google_android_gms_play_services_fido/com_google_android_gms_play_services_fido.info"
- deps = [
- ":google_play_services_base_java",
- ":google_play_services_basement_java",
- ":google_play_services_tasks_java",
- ]
- }
-
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt("google_play_services_gcm_java") {
- aar_path = "libs/com_google_android_gms_play_services_gcm/play-services-gcm-17.0.0.aar"
- info_path = "libs/com_google_android_gms_play_services_gcm/com_google_android_gms_play_services_gcm.info"
- deps = [
- ":google_play_services_base_java",
- ":google_play_services_basement_java",
- ":google_play_services_iid_java",
- ":google_play_services_stats_java",
- "//third_party/androidx:androidx_collection_collection_java",
- "//third_party/androidx:androidx_core_core_java",
- "//third_party/androidx:androidx_legacy_legacy_support_core_utils_java",
- ]
- }
-
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt("google_play_services_iid_java") {
- aar_path = "libs/com_google_android_gms_play_services_iid/play-services-iid-17.0.0.aar"
- info_path = "libs/com_google_android_gms_play_services_iid/com_google_android_gms_play_services_iid.info"
- deps = [
- ":google_play_services_base_java",
- ":google_play_services_basement_java",
- ":google_play_services_stats_java",
- ":google_play_services_tasks_java",
- "//third_party/androidx:androidx_collection_collection_java",
- "//third_party/androidx:androidx_core_core_java",
- ]
- }
-
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt("google_play_services_instantapps_java") {
- aar_path = "libs/com_google_android_gms_play_services_instantapps/play-services-instantapps-18.0.1.aar"
- info_path = "libs/com_google_android_gms_play_services_instantapps/com_google_android_gms_play_services_instantapps.info"
- deps = [
- ":google_play_services_base_java",
- ":google_play_services_basement_java",
- ":google_play_services_tasks_java",
- ]
- }
-
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt("google_play_services_location_java") {
- aar_path = "libs/com_google_android_gms_play_services_location/play-services-location-19.0.1.aar"
- info_path = "libs/com_google_android_gms_play_services_location/com_google_android_gms_play_services_location.info"
- deps = [
- ":google_play_services_base_java",
- ":google_play_services_basement_java",
- ":google_play_services_places_placereport_java",
- ":google_play_services_tasks_java",
- ]
- }
-
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt("google_play_services_tasks_java") {
- aar_path = "libs/com_google_android_gms_play_services_tasks/play-services-tasks-18.0.1.aar"
- info_path = "libs/com_google_android_gms_play_services_tasks/com_google_android_gms_play_services_tasks.info"
- deps = [ ":google_play_services_basement_java" ]
- }
-
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt("google_play_services_vision_java") {
- aar_path = "libs/com_google_android_gms_play_services_vision/play-services-vision-20.1.3.aar"
- info_path = "libs/com_google_android_gms_play_services_vision/com_google_android_gms_play_services_vision.info"
- deps = [
- ":google_play_services_base_java",
- ":google_play_services_basement_java",
- ":google_play_services_vision_common_java",
- ]
- }
-
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt("google_play_services_vision_common_java") {
- aar_path = "libs/com_google_android_gms_play_services_vision_common/play-services-vision-common-19.1.3.aar"
- info_path = "libs/com_google_android_gms_play_services_vision_common/com_google_android_gms_play_services_vision_common.info"
- deps = [
- ":google_play_services_base_java",
- ":google_play_services_basement_java",
- ":google_play_services_clearcut_java",
- ":google_play_services_flags_java",
- ":google_play_services_phenotype_java",
- ]
- }
-
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
android_aar_prebuilt("com_google_android_material_material_java") {
aar_path =
@@ -1213,60 +1009,6 @@ if (!limit_android_deps) {
]
}
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt("com_google_android_play_core_java") {
- aar_path = "libs/com_google_android_play_core/core-1.10.0.aar"
- info_path =
- "libs/com_google_android_play_core/com_google_android_play_core.info"
- }
-
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt("google_firebase_firebase_iid_java") {
- aar_path = "libs/com_google_firebase_firebase_iid/firebase-iid-21.0.1.aar"
- info_path = "libs/com_google_firebase_firebase_iid/com_google_firebase_firebase_iid.info"
- deps = [
- ":google_firebase_firebase_common_java",
- ":google_firebase_firebase_components_java",
- ":google_firebase_firebase_iid_interop_java",
- ":google_firebase_firebase_installations_interop_java",
- ":google_firebase_firebase_installations_java",
- ":google_play_services_basement_java",
- ":google_play_services_cloud_messaging_java",
- ":google_play_services_stats_java",
- ":google_play_services_tasks_java",
- "//third_party/androidx:androidx_collection_collection_java",
- "//third_party/androidx:androidx_core_core_java",
- "//third_party/androidx:androidx_legacy_legacy_support_core_utils_java",
- ]
- }
-
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt("google_firebase_firebase_messaging_java") {
- aar_path = "libs/com_google_firebase_firebase_messaging/firebase-messaging-21.0.1.aar"
- info_path = "libs/com_google_firebase_firebase_messaging/com_google_firebase_firebase_messaging.info"
- deps = [
- ":google_android_datatransport_transport_api_java",
- ":google_firebase_firebase_common_java",
- ":google_firebase_firebase_components_java",
- ":google_firebase_firebase_encoders_java",
- ":google_firebase_firebase_encoders_json_java",
- ":google_firebase_firebase_iid_java",
- ":google_firebase_firebase_installations_interop_java",
- ":google_firebase_firebase_installations_java",
- ":google_firebase_firebase_measurement_connector_java",
- ":google_play_services_basement_java",
- ":google_play_services_cloud_messaging_java",
- ":google_play_services_stats_java",
- ":google_play_services_tasks_java",
- "//third_party/androidx:androidx_collection_collection_java",
- "//third_party/androidx:androidx_core_core_java",
- ]
-
- # We removed the datatransport dependency to reduce binary size.
- # The library works without it as it's only used for logging.
- enable_bytecode_checks = false
- }
-
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
java_prebuilt("com_google_flatbuffers_flatbuffers_java_java") {
jar_path = "libs/com_google_flatbuffers_flatbuffers_java/flatbuffers-java-2.0.3.jar"
@@ -1527,19 +1269,6 @@ if (!limit_android_deps) {
is_robolectric = true
}
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- java_prebuilt("org_robolectric_shadows_playservices_java") {
- jar_path = "libs/org_robolectric_shadows_playservices/shadows-playservices-4.8.1.jar"
- output_name = "org_robolectric_shadows_playservices"
- enable_bytecode_checks = false
- testonly = true
- deps = [
- ":com_google_guava_guava_java",
- ":org_robolectric_annotations_java",
- ]
- is_robolectric = true
- }
-
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
java_prebuilt("org_robolectric_utils_java") {
jar_path = "libs/org_robolectric_utils/utils-4.8.1.jar"
@@ -1900,272 +1629,6 @@ if (!limit_android_deps) {
deps = [ "//third_party/androidx:androidx_annotation_annotation_java" ]
}
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt("google_play_services_clearcut_java") {
- aar_path = "libs/com_google_android_gms_play_services_clearcut/play-services-clearcut-17.0.0.aar"
- info_path = "libs/com_google_android_gms_play_services_clearcut/com_google_android_gms_play_services_clearcut.info"
-
- # To remove visibility constraint, add this dependency to
- # //third_party/android_deps/build.gradle.
- visibility = [
- ":*",
- "//third_party/androidx:*",
- ]
- deps = [
- ":google_play_services_base_java",
- ":google_play_services_basement_java",
- ":google_play_services_phenotype_java",
- ":google_play_services_tasks_java",
- "//third_party/androidx:androidx_core_core_java",
- ]
- }
-
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt("google_play_services_cloud_messaging_java") {
- aar_path = "libs/com_google_android_gms_play_services_cloud_messaging/play-services-cloud-messaging-16.0.0.aar"
- info_path = "libs/com_google_android_gms_play_services_cloud_messaging/com_google_android_gms_play_services_cloud_messaging.info"
-
- # To remove visibility constraint, add this dependency to
- # //third_party/android_deps/build.gradle.
- visibility = [
- ":*",
- "//third_party/androidx:*",
- ]
- deps = [
- ":google_play_services_basement_java",
- ":google_play_services_tasks_java",
- ]
- }
-
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt("google_play_services_flags_java") {
- aar_path = "libs/com_google_android_gms_play_services_flags/play-services-flags-17.0.0.aar"
- info_path = "libs/com_google_android_gms_play_services_flags/com_google_android_gms_play_services_flags.info"
-
- # To remove visibility constraint, add this dependency to
- # //third_party/android_deps/build.gradle.
- visibility = [
- ":*",
- "//third_party/androidx:*",
- ]
- deps = [
- ":google_play_services_base_java",
- ":google_play_services_basement_java",
- ]
- }
-
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt("google_play_services_phenotype_java") {
- aar_path = "libs/com_google_android_gms_play_services_phenotype/play-services-phenotype-17.0.0.aar"
- info_path = "libs/com_google_android_gms_play_services_phenotype/com_google_android_gms_play_services_phenotype.info"
-
- # To remove visibility constraint, add this dependency to
- # //third_party/android_deps/build.gradle.
- visibility = [
- ":*",
- "//third_party/androidx:*",
- ]
- deps = [
- ":google_play_services_base_java",
- ":google_play_services_basement_java",
- ":google_play_services_tasks_java",
- "//third_party/androidx:androidx_core_core_java",
- ]
- }
-
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt("google_play_services_places_placereport_java") {
- aar_path = "libs/com_google_android_gms_play_services_places_placereport/play-services-places-placereport-17.0.0.aar"
- info_path = "libs/com_google_android_gms_play_services_places_placereport/com_google_android_gms_play_services_places_placereport.info"
-
- # To remove visibility constraint, add this dependency to
- # //third_party/android_deps/build.gradle.
- visibility = [
- ":*",
- "//third_party/androidx:*",
- ]
- deps = [ ":google_play_services_basement_java" ]
- }
-
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt("google_play_services_stats_java") {
- aar_path = "libs/com_google_android_gms_play_services_stats/play-services-stats-17.0.0.aar"
- info_path = "libs/com_google_android_gms_play_services_stats/com_google_android_gms_play_services_stats.info"
-
- # To remove visibility constraint, add this dependency to
- # //third_party/android_deps/build.gradle.
- visibility = [
- ":*",
- "//third_party/androidx:*",
- ]
- deps = [
- ":google_play_services_basement_java",
- "//third_party/androidx:androidx_legacy_legacy_support_core_utils_java",
- ]
- }
-
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- java_prebuilt("google_firebase_firebase_annotations_java") {
- jar_path = "libs/com_google_firebase_firebase_annotations/firebase-annotations-16.0.0.jar"
- output_name = "com_google_firebase_firebase_annotations"
- supports_android = true
-
- # To remove visibility constraint, add this dependency to
- # //third_party/android_deps/build.gradle.
- visibility = [
- ":*",
- "//third_party/androidx:*",
- ]
- }
-
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt("google_firebase_firebase_common_java") {
- aar_path =
- "libs/com_google_firebase_firebase_common/firebase-common-19.5.0.aar"
- info_path = "libs/com_google_firebase_firebase_common/com_google_firebase_firebase_common.info"
-
- # To remove visibility constraint, add this dependency to
- # //third_party/android_deps/build.gradle.
- visibility = [
- ":*",
- "//third_party/androidx:*",
- ]
- deps = [
- ":google_firebase_firebase_components_java",
- ":google_play_services_basement_java",
- ":google_play_services_tasks_java",
- ]
-
- # Ignore missing kotlin.KotlinVersion definition in
- # com.google.firebase.platforminfo.KotlinDetector.
- enable_bytecode_checks = false
- }
-
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt("google_firebase_firebase_components_java") {
- aar_path = "libs/com_google_firebase_firebase_components/firebase-components-16.1.0.aar"
- info_path = "libs/com_google_firebase_firebase_components/com_google_firebase_firebase_components.info"
-
- # To remove visibility constraint, add this dependency to
- # //third_party/android_deps/build.gradle.
- visibility = [
- ":*",
- "//third_party/androidx:*",
- ]
- deps = [
- ":google_firebase_firebase_annotations_java",
- "//third_party/androidx:androidx_annotation_annotation_java",
- ]
-
- # Can't find com.google.firebase.components.Component$ComponentType.
- enable_bytecode_checks = false
- }
-
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- java_prebuilt("google_firebase_firebase_encoders_java") {
- jar_path = "libs/com_google_firebase_firebase_encoders/firebase-encoders-16.1.0.jar"
- output_name = "com_google_firebase_firebase_encoders"
- supports_android = true
-
- # To remove visibility constraint, add this dependency to
- # //third_party/android_deps/build.gradle.
- visibility = [
- ":*",
- "//third_party/androidx:*",
- ]
- deps = [ "//third_party/androidx:androidx_annotation_annotation_java" ]
- }
-
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt("google_firebase_firebase_encoders_json_java") {
- aar_path = "libs/com_google_firebase_firebase_encoders_json/firebase-encoders-json-17.1.0.aar"
- info_path = "libs/com_google_firebase_firebase_encoders_json/com_google_firebase_firebase_encoders_json.info"
-
- # To remove visibility constraint, add this dependency to
- # //third_party/android_deps/build.gradle.
- visibility = [
- ":*",
- "//third_party/androidx:*",
- ]
- deps = [
- ":google_firebase_firebase_encoders_java",
- "//third_party/androidx:androidx_annotation_annotation_java",
- ]
- }
-
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt("google_firebase_firebase_iid_interop_java") {
- aar_path = "libs/com_google_firebase_firebase_iid_interop/firebase-iid-interop-17.0.0.aar"
- info_path = "libs/com_google_firebase_firebase_iid_interop/com_google_firebase_firebase_iid_interop.info"
-
- # To remove visibility constraint, add this dependency to
- # //third_party/android_deps/build.gradle.
- visibility = [
- ":*",
- "//third_party/androidx:*",
- ]
- deps = [
- ":google_play_services_base_java",
- ":google_play_services_basement_java",
- ]
- }
-
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt("google_firebase_firebase_installations_java") {
- aar_path = "libs/com_google_firebase_firebase_installations/firebase-installations-16.3.5.aar"
- info_path = "libs/com_google_firebase_firebase_installations/com_google_firebase_firebase_installations.info"
-
- # To remove visibility constraint, add this dependency to
- # //third_party/android_deps/build.gradle.
- visibility = [
- ":*",
- "//third_party/androidx:*",
- ]
- deps = [
- ":google_firebase_firebase_common_java",
- ":google_firebase_firebase_components_java",
- ":google_firebase_firebase_installations_interop_java",
- ":google_play_services_tasks_java",
- ]
-
- # Can't find com.google.auto.value.AutoValue$Builder.
- enable_bytecode_checks = false
- }
-
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt("google_firebase_firebase_installations_interop_java") {
- aar_path = "libs/com_google_firebase_firebase_installations_interop/firebase-installations-interop-16.0.1.aar"
- info_path = "libs/com_google_firebase_firebase_installations_interop/com_google_firebase_firebase_installations_interop.info"
-
- # To remove visibility constraint, add this dependency to
- # //third_party/android_deps/build.gradle.
- visibility = [
- ":*",
- "//third_party/androidx:*",
- ]
- deps = [
- ":google_firebase_firebase_annotations_java",
- ":google_play_services_tasks_java",
- ]
-
- # Can't find com.google.auto.value.AutoValue$Builder.
- enable_bytecode_checks = false
- }
-
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
- android_aar_prebuilt("google_firebase_firebase_measurement_connector_java") {
- aar_path = "libs/com_google_firebase_firebase_measurement_connector/firebase-measurement-connector-18.0.0.aar"
- info_path = "libs/com_google_firebase_firebase_measurement_connector/com_google_firebase_firebase_measurement_connector.info"
-
- # To remove visibility constraint, add this dependency to
- # //third_party/android_deps/build.gradle.
- visibility = [
- ":*",
- "//third_party/androidx:*",
- ]
- deps = [ ":google_play_services_basement_java" ]
- }
-
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
java_prebuilt("com_squareup_javawriter_java") {
jar_path = "libs/com_squareup_javawriter/javawriter-2.1.1.jar"
diff --git a/third_party/android_deps/local_modifications/preconditions/javatests/BUILD.gn b/third_party/android_deps/local_modifications/preconditions/javatests/BUILD.gn
index 5512e5e48745b..f9b2d3d21cb56 100644
--- a/third_party/android_deps/local_modifications/preconditions/javatests/BUILD.gn
+++ b/third_party/android_deps/local_modifications/preconditions/javatests/BUILD.gn
@@ -8,7 +8,6 @@ android_library("javatests") {
testonly = true
sources = [ "org/chromium/preconditions/PreconditionsTest.java" ]
deps = [
- "$google_play_services_package:google_play_services_basement_java",
"//base:base_java_test_support",
"//base/test:test_support_java",
"//build/android:build_java",
diff --git a/third_party/android_deps/util/org/chromium/gms/ChromiumPlayServicesAvailability.java b/third_party/android_deps/util/org/chromium/gms/ChromiumPlayServicesAvailability.java
index 0b8257230b07c..0a4b14e6de34b 100644
--- a/third_party/android_deps/util/org/chromium/gms/ChromiumPlayServicesAvailability.java
+++ b/third_party/android_deps/util/org/chromium/gms/ChromiumPlayServicesAvailability.java
@@ -5,9 +5,6 @@ package org.chromium.gms;
import android.content.Context;
-import com.google.android.gms.common.ConnectionResult;
-import com.google.android.gms.common.GoogleApiAvailability;
-
// Refer to go/doubledown-play-services#new-apis for more detail.
public final class ChromiumPlayServicesAvailability {
/**
@@ -30,9 +27,7 @@ public final class ChromiumPlayServicesAvailability {
* PM/UX.
*/
public static boolean isGooglePlayServicesAvailable(final Context context) {
- return GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(
- context, GMS_VERSION_NUMBER)
- == ConnectionResult.SUCCESS;
+ return false;
}
/**
@@ -50,7 +45,6 @@ public final class ChromiumPlayServicesAvailability {
* PM/UX.
*/
public static int getGooglePlayServicesConnectionResult(final Context context) {
- return GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(
- context, GMS_VERSION_NUMBER);
+ return 16; // API_UNAVAILABLE
}
}
--
2.30.2