|
@@ -3,36 +3,41 @@ Date: Sat, 2 Nov 2019 08:58:19 +0100
|
|
|
Subject: Remove dependency on auth, signin, dynamic and tasks
|
|
|
|
|
|
---
|
|
|
- chrome/android/BUILD.gn | 8 --
|
|
|
+ chrome/android/BUILD.gn | 10 ---
|
|
|
+ .../features/cablev2_authenticator/BUILD.gn | 2 -
|
|
|
chrome/android/java/AndroidManifest.xml | 9 --
|
|
|
.../org/chromium/chrome/browser/AppHooks.java | 14 +---
|
|
|
.../browser/PlayServicesVersionInfo.java | 12 +--
|
|
|
.../component_updater/UpdateScheduler.java | 1 -
|
|
|
- .../externalauth/ExternalAuthUtils.java | 18 +---
|
|
|
- .../UserRecoverableErrorHandler.java | 7 --
|
|
|
.../gcore/ChromeGoogleApiClientImpl.java | 25 +-----
|
|
|
.../browser/gcore/GoogleApiClientHelper.java | 82 +------------------
|
|
|
.../browser/omaha/UpdateStatusProvider.java | 10 +--
|
|
|
- chrome/test/android/BUILD.gn | 2 -
|
|
|
+ chrome/test/android/BUILD.gn | 3 -
|
|
|
components/background_task_scheduler/BUILD.gn | 4 -
|
|
|
- .../internal/BUILD.gn | 6 --
|
|
|
+ .../internal/BUILD.gn | 7 --
|
|
|
+ components/externalauth/android/BUILD.gn | 4 -
|
|
|
+ .../externalauth/ExternalAuthUtils.java | 40 +--------
|
|
|
+ .../UserRecoverableErrorHandler.java | 22 +----
|
|
|
.../media_router/BrowserMediaRouter.java | 18 +---
|
|
|
- .../signin/core/browser/android/BUILD.gn | 2 -
|
|
|
+ .../signin/core/browser/android/BUILD.gn | 3 -
|
|
|
.../signin/GmsAvailabilityException.java | 4 +-
|
|
|
+ .../signin/SystemAccountManagerDelegate.java | 1 -
|
|
|
content/public/android/BUILD.gn | 3 -
|
|
|
+ .../content/browser/sms/Wrappers.java | 2 -
|
|
|
content/test/BUILD.gn | 3 -
|
|
|
device/BUILD.gn | 2 -
|
|
|
- remoting/android/client_java_tmpl.gni | 3 -
|
|
|
- services/BUILD.gn | 2 -
|
|
|
- services/device/geolocation/BUILD.gn | 2 -
|
|
|
- services/shape_detection/BUILD.gn | 2 -
|
|
|
- third_party/android_deps/BUILD.gn | 46 -----------
|
|
|
- 24 files changed, 15 insertions(+), 270 deletions(-)
|
|
|
+ remoting/android/client_java_tmpl.gni | 2 -
|
|
|
+ services/BUILD.gn | 3 -
|
|
|
+ services/device/geolocation/BUILD.gn | 3 -
|
|
|
+ services/shape_detection/BUILD.gn | 3 -
|
|
|
+ third_party/android_deps/BUILD.gn | 64 ---------------
|
|
|
+ weblayer/shell/android/BUILD.gn | 1 -
|
|
|
+ 29 files changed, 15 insertions(+), 342 deletions(-)
|
|
|
|
|
|
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
|
|
--- a/chrome/android/BUILD.gn
|
|
|
+++ b/chrome/android/BUILD.gn
|
|
|
-@@ -278,9 +278,6 @@ android_library("chrome_java") {
|
|
|
+@@ -275,9 +275,6 @@ android_library("chrome_java") {
|
|
|
":partner_location_descriptor_proto_java",
|
|
|
":update_proto_java",
|
|
|
":usage_stats_proto_java",
|
|
@@ -41,8 +46,16 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
|
|
- "$google_play_services_package:google_play_services_tasks_java",
|
|
|
"//base:base_java",
|
|
|
"//base:jni_java",
|
|
|
- "//chrome/android/features/keyboard_accessory:public_java",
|
|
|
-@@ -765,8 +762,6 @@ junit_binary("chrome_junit_tests") {
|
|
|
+ "//cc:cc_java",
|
|
|
+@@ -504,7 +501,6 @@ android_library("chrome_java") {
|
|
|
+ "//third_party/android_deps:androidx_recyclerview_recyclerview_java",
|
|
|
+ "//third_party/android_deps:androidx_viewpager2_viewpager2_java",
|
|
|
+ "//third_party/android_deps:androidx_viewpager_viewpager_java",
|
|
|
+- "//third_party/android_deps:chromium_play_services_availability_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",
|
|
|
+@@ -772,8 +768,6 @@ junit_binary("chrome_junit_tests") {
|
|
|
":chrome_app_java_resources",
|
|
|
":chrome_java",
|
|
|
":partner_location_descriptor_proto_java",
|
|
@@ -51,7 +64,15 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
|
|
"//base:base_java",
|
|
|
"//base:base_java_test_support",
|
|
|
"//base:base_junit_test_support",
|
|
|
-@@ -980,9 +975,6 @@ android_library("chrome_test_java") {
|
|
|
+@@ -929,7 +923,6 @@ junit_binary("chrome_junit_tests") {
|
|
|
+ "//third_party/android_deps:androidx_swiperefreshlayout_swiperefreshlayout_java",
|
|
|
+ "//third_party/android_deps:androidx_test_core_java",
|
|
|
+ "//third_party/android_deps:androidx_test_runner_java",
|
|
|
+- "//third_party/android_deps:chromium_play_services_availability_shadows_java",
|
|
|
+ "//third_party/android_deps:com_google_guava_listenablefuture_java",
|
|
|
+ "//third_party/android_deps:com_googlecode_java_diff_utils_diffutils_java",
|
|
|
+ "//third_party/android_deps:dagger_java",
|
|
|
+@@ -1014,9 +1007,6 @@ android_library("chrome_test_java") {
|
|
|
":chrome_app_java_resources",
|
|
|
":chrome_test_util_java",
|
|
|
":partner_location_descriptor_proto_java",
|
|
@@ -61,10 +82,22 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
|
|
"//base:base_java",
|
|
|
"//base:base_java_test_support",
|
|
|
"//base:jni_java",
|
|
|
+diff --git a/chrome/android/features/cablev2_authenticator/BUILD.gn b/chrome/android/features/cablev2_authenticator/BUILD.gn
|
|
|
+--- a/chrome/android/features/cablev2_authenticator/BUILD.gn
|
|
|
++++ b/chrome/android/features/cablev2_authenticator/BUILD.gn
|
|
|
+@@ -17,8 +17,6 @@ android_library("java") {
|
|
|
+
|
|
|
+ deps = [
|
|
|
+ ":java_resources",
|
|
|
+- "$google_play_services_package:google_play_services_base_java",
|
|
|
+- "$google_play_services_package:google_play_services_tasks_java",
|
|
|
+ "//base:base_java",
|
|
|
+ "//base:jni_java",
|
|
|
+ "//content/public/android:content_java",
|
|
|
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
|
|
|
--- a/chrome/android/java/AndroidManifest.xml
|
|
|
+++ b/chrome/android/java/AndroidManifest.xml
|
|
|
-@@ -774,15 +774,6 @@ by a child template that "extends" this file.
|
|
|
+@@ -764,15 +764,6 @@ by a child template that "extends" this file.
|
|
|
</intent-filter>
|
|
|
</activity>
|
|
|
|
|
@@ -93,7 +126,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java b
|
|
|
import org.chromium.base.ContextUtils;
|
|
|
import org.chromium.base.annotations.CalledByNative;
|
|
|
import org.chromium.chrome.browser.banners.AppDetailsDelegate;
|
|
|
-@@ -327,16 +324,7 @@ public abstract class AppHooks {
|
|
|
+@@ -294,16 +291,7 @@ public abstract class AppHooks {
|
|
|
* same as {@link GoogleApiAvailability#isGooglePlayServicesAvailable()}.
|
|
|
*/
|
|
|
public int isGoogleApiAvailableWithMinApkVersion(int minApkVersion) {
|
|
@@ -122,7 +155,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/PlayServicesVer
|
|
|
-
|
|
|
import org.chromium.base.ContextUtils;
|
|
|
import org.chromium.base.annotations.CalledByNative;
|
|
|
- import org.chromium.chrome.browser.externalauth.ExternalAuthUtils;
|
|
|
+ import org.chromium.components.externalauth.ExternalAuthUtils;
|
|
|
@@ -29,7 +27,7 @@ public class PlayServicesVersionInfo {
|
|
|
public static String getGmsInfo() {
|
|
|
Context context = ContextUtils.getApplicationContext();
|
|
@@ -157,106 +190,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/component_updat
|
|
|
|
|
|
/** Java-side implementation of the component update scheduler using the BackgroundTaskScheduler. */
|
|
|
@JNINamespace("component_updater")
|
|
|
-diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalauth/ExternalAuthUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/externalauth/ExternalAuthUtils.java
|
|
|
---- a/chrome/android/java/src/org/chromium/chrome/browser/externalauth/ExternalAuthUtils.java
|
|
|
-+++ b/chrome/android/java/src/org/chromium/chrome/browser/externalauth/ExternalAuthUtils.java
|
|
|
-@@ -15,16 +15,12 @@ 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;
|
|
|
- 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.
|
|
|
-@@ -157,9 +153,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;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
-@@ -176,7 +170,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)) {
|
|
|
-@@ -239,10 +232,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()) {
|
|
|
-- return ChromiumPlayServicesAvailability.getGooglePlayServicesConnectionResult(context);
|
|
|
-- }
|
|
|
-+ return 1; /*SERVICE_MISSING*/
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
-@@ -253,7 +243,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;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
-@@ -263,6 +253,6 @@ 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/chrome/android/java/src/org/chromium/chrome/browser/externalauth/UserRecoverableErrorHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/externalauth/UserRecoverableErrorHandler.java
|
|
|
---- a/chrome/android/java/src/org/chromium/chrome/browser/externalauth/UserRecoverableErrorHandler.java
|
|
|
-+++ b/chrome/android/java/src/org/chromium/chrome/browser/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;
|
|
|
-
|
|
|
-@@ -90,7 +88,6 @@ public abstract class UserRecoverableErrorHandler {
|
|
|
- if (!sNotificationShown.getAndSet(true)) {
|
|
|
- return;
|
|
|
- }
|
|
|
-- GoogleApiAvailability.getInstance().showErrorNotification(context, errorCode);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-@@ -183,11 +180,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/chrome/android/java/src/org/chromium/chrome/browser/gcore/ChromeGoogleApiClientImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/gcore/ChromeGoogleApiClientImpl.java
|
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/gcore/ChromeGoogleApiClientImpl.java
|
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/gcore/ChromeGoogleApiClientImpl.java
|
|
@@ -269,8 +202,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gcore/ChromeGoo
|
|
|
-
|
|
|
import org.chromium.base.Log;
|
|
|
import org.chromium.base.TraceEvent;
|
|
|
- import org.chromium.chrome.browser.AppHooks;
|
|
|
-@@ -23,7 +20,6 @@ public class ChromeGoogleApiClientImpl implements ChromeGoogleApiClient {
|
|
|
+ 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;
|
|
@@ -278,7 +211,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gcore/ChromeGoo
|
|
|
private final ExternalAuthUtils mExternalAuthUtils;
|
|
|
|
|
|
/**
|
|
|
-@@ -33,10 +29,9 @@ public class ChromeGoogleApiClientImpl implements ChromeGoogleApiClient {
|
|
|
+@@ -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.
|
|
|
*/
|
|
@@ -287,10 +220,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gcore/ChromeGoo
|
|
|
boolean requireFirstPartyBuild) {
|
|
|
mApplicationContext = context.getApplicationContext();
|
|
|
- mClient = client;
|
|
|
- mExternalAuthUtils = AppHooks.get().getExternalAuthUtils();
|
|
|
+ mExternalAuthUtils = ExternalAuthUtils.getInstance();
|
|
|
if (requireFirstPartyBuild && !mExternalAuthUtils.isChromeGoogleSigned()) {
|
|
|
throw new IllegalStateException("GoogleApiClient requires first-party build");
|
|
|
-@@ -45,7 +40,6 @@ public class ChromeGoogleApiClientImpl implements ChromeGoogleApiClient {
|
|
|
+@@ -44,7 +39,6 @@ public class ChromeGoogleApiClientImpl implements ChromeGoogleApiClient {
|
|
|
|
|
|
@Override
|
|
|
public void disconnect() {
|
|
@@ -298,7 +231,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gcore/ChromeGoo
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
-@@ -61,24 +55,11 @@ public class ChromeGoogleApiClientImpl implements ChromeGoogleApiClient {
|
|
|
+@@ -60,24 +54,11 @@ public class ChromeGoogleApiClientImpl implements ChromeGoogleApiClient {
|
|
|
@Override
|
|
|
public boolean connectWithTimeout(long timeout) {
|
|
|
TraceEvent.begin("ChromeGoogleApiClientImpl:connectWithTimeout");
|
|
@@ -503,25 +436,39 @@ diff --git a/chrome/test/android/BUILD.gn b/chrome/test/android/BUILD.gn
|
|
|
- "$google_play_services_package:google_play_services_basement_java",
|
|
|
"//base:base_java",
|
|
|
"//base:base_java_test_support",
|
|
|
- "//chrome/android:chrome_java",
|
|
|
+ "//chrome/android:base_module_java",
|
|
|
+@@ -315,7 +313,6 @@ android_library("chrome_java_test_support") {
|
|
|
+ "//third_party/android_deps:androidx_fragment_fragment_java",
|
|
|
+ "//third_party/android_deps:androidx_lifecycle_lifecycle_common_java",
|
|
|
+ "//third_party/android_deps:androidx_recyclerview_recyclerview_java",
|
|
|
+- "//third_party/android_deps:chromium_play_services_availability_java",
|
|
|
+ "//third_party/android_deps:com_google_code_findbugs_jsr305_java",
|
|
|
+ "//third_party/android_deps:espresso_java",
|
|
|
+ "//third_party/android_deps:material_design_java",
|
|
|
diff --git a/components/background_task_scheduler/BUILD.gn b/components/background_task_scheduler/BUILD.gn
|
|
|
--- a/components/background_task_scheduler/BUILD.gn
|
|
|
+++ b/components/background_task_scheduler/BUILD.gn
|
|
|
-@@ -120,10 +120,6 @@ if (is_android) {
|
|
|
+@@ -120,16 +120,12 @@ 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_tasks_java",
|
|
|
"internal:internal_java",
|
|
|
"internal:proto_java",
|
|
|
"//base:base_java",
|
|
|
+ "//base:base_java_test_support",
|
|
|
+ "//base:base_junit_test_support",
|
|
|
+ "//components/background_task_scheduler:public_java",
|
|
|
+- "//third_party/android_deps:chromium_play_services_availability_shadows_java",
|
|
|
+ "//third_party/android_deps:robolectric_all_java",
|
|
|
+ "//third_party/junit",
|
|
|
+ "//third_party/mockito:mockito_java",
|
|
|
diff --git a/components/background_task_scheduler/internal/BUILD.gn b/components/background_task_scheduler/internal/BUILD.gn
|
|
|
--- a/components/background_task_scheduler/internal/BUILD.gn
|
|
|
+++ b/components/background_task_scheduler/internal/BUILD.gn
|
|
|
-@@ -25,9 +25,6 @@ if (is_android) {
|
|
|
+@@ -25,15 +25,11 @@ if (is_android) {
|
|
|
|
|
|
deps = [
|
|
|
":proto_java",
|
|
@@ -531,7 +478,13 @@ diff --git a/components/background_task_scheduler/internal/BUILD.gn b/components
|
|
|
"//base:base_java",
|
|
|
"//components/background_task_scheduler:background_task_scheduler_task_ids_java",
|
|
|
"//components/background_task_scheduler:public_java",
|
|
|
-@@ -96,9 +93,6 @@ if (is_android) {
|
|
|
+ "//content/public/android:content_main_dex_java",
|
|
|
+ "//third_party/android_deps:androidx_annotation_annotation_java",
|
|
|
+- "//third_party/android_deps:chromium_play_services_availability_java",
|
|
|
+ "//third_party/android_deps:protobuf_lite_runtime_java",
|
|
|
+ ]
|
|
|
+ }
|
|
|
+@@ -96,9 +92,6 @@ if (is_android) {
|
|
|
|
|
|
deps = [
|
|
|
":internal_java",
|
|
@@ -541,6 +494,169 @@ diff --git a/components/background_task_scheduler/internal/BUILD.gn b/components
|
|
|
"//base:base_java",
|
|
|
"//base:base_java_test_support",
|
|
|
"//components/background_task_scheduler:background_task_scheduler_task_ids_java",
|
|
|
+diff --git a/components/externalauth/android/BUILD.gn b/components/externalauth/android/BUILD.gn
|
|
|
+--- a/components/externalauth/android/BUILD.gn
|
|
|
++++ b/components/externalauth/android/BUILD.gn
|
|
|
+@@ -27,14 +27,11 @@ 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:browser_context_java",
|
|
|
+ "//components/embedder_support/android:util_java",
|
|
|
+ "//content/public/android:content_java",
|
|
|
+ "//third_party/android_deps:androidx_annotation_annotation_java",
|
|
|
+- "//third_party/android_deps:chromium_play_services_availability_java",
|
|
|
+ ]
|
|
|
+ sources = [
|
|
|
+ "java/src/org/chromium/components/externalauth/ExternalAuthUtils.java",
|
|
|
+@@ -50,7 +47,6 @@ android_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
|
|
|
+--- 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,16 +15,12 @@ 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;
|
|
|
+ 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.
|
|
|
+@@ -170,9 +166,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 false;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+@@ -187,20 +181,6 @@ public class ExternalAuthUtils {
|
|
|
+ * @return true if and only if Google Play Services can be used
|
|
|
+ */
|
|
|
+ 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)) {
|
|
|
+- Runnable errorHandlerTask = new Runnable() {
|
|
|
+- @Override
|
|
|
+- public void run() {
|
|
|
+- errorHandler.handleError(context, resultCode);
|
|
|
+- }
|
|
|
+- };
|
|
|
+- PostTask.runOrPostTask(UiThreadTaskTraits.DEFAULT, errorHandlerTask);
|
|
|
+- }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+@@ -252,20 +232,6 @@ public class ExternalAuthUtils {
|
|
|
+ return mGoogleDelegate;
|
|
|
+ }
|
|
|
+
|
|
|
+- /**
|
|
|
+- * Invokes whatever external code is necessary to check if Google Play Services is available
|
|
|
+- * and returns the code produced by the attempt. Subclasses can override to force the behavior
|
|
|
+- * one way or another, or to change the way that the check is performed.
|
|
|
+- * @param context The current context.
|
|
|
+- * @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()) {
|
|
|
+- return ChromiumPlayServicesAvailability.getGooglePlayServicesConnectionResult(context);
|
|
|
+- }
|
|
|
+- }
|
|
|
+-
|
|
|
+ /**
|
|
|
+ * Invokes whatever external code is necessary to check if the specified error code produced
|
|
|
+ * by {@link #checkGooglePlayServicesAvailable(Context)} represents a user-recoverable error.
|
|
|
+@@ -274,7 +240,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;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+@@ -284,7 +250,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
|
|
|
+--- 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);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+@@ -176,24 +173,7 @@ public abstract class UserRecoverableErrorHandler {
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ protected final void handle(final Context context, final int errorCode) {
|
|
|
+- // Assume old dialogs generated by the same error handler are obsolete when an error
|
|
|
+- // with a different error code is encountered.
|
|
|
+- if (mErrorCode != errorCode) {
|
|
|
+- 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()) {
|
|
|
+- mDialog.setCancelable(mCancelable);
|
|
|
+- mDialog.show();
|
|
|
+- RecordUserAction.record("Signin_Android_GmsUserRecoverableDialogShown");
|
|
|
+- }
|
|
|
++ cancelDialog();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
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
|
|
|
--- 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
|
|
@@ -579,7 +695,7 @@ diff --git a/components/media_router/browser/android/java/src/org/chromium/compo
|
|
|
diff --git a/components/signin/core/browser/android/BUILD.gn b/components/signin/core/browser/android/BUILD.gn
|
|
|
--- a/components/signin/core/browser/android/BUILD.gn
|
|
|
+++ b/components/signin/core/browser/android/BUILD.gn
|
|
|
-@@ -14,8 +14,6 @@ generate_jni("jni_headers") {
|
|
|
+@@ -14,14 +14,11 @@ generate_jni("jni_headers") {
|
|
|
|
|
|
android_library("java") {
|
|
|
deps = [
|
|
@@ -588,6 +704,12 @@ diff --git a/components/signin/core/browser/android/BUILD.gn b/components/signin
|
|
|
"//base:base_java",
|
|
|
"//base:jni_java",
|
|
|
"//net/android:net_java",
|
|
|
+ "//third_party/android_deps:android_support_v4_java",
|
|
|
+ "//third_party/android_deps:androidx_annotation_annotation_java",
|
|
|
+- "//third_party/android_deps:chromium_play_services_availability_java",
|
|
|
+ "//ui/android:ui_java",
|
|
|
+ ]
|
|
|
+
|
|
|
diff --git a/components/signin/core/browser/android/java/src/org/chromium/components/signin/GmsAvailabilityException.java b/components/signin/core/browser/android/java/src/org/chromium/components/signin/GmsAvailabilityException.java
|
|
|
--- a/components/signin/core/browser/android/java/src/org/chromium/components/signin/GmsAvailabilityException.java
|
|
|
+++ b/components/signin/core/browser/android/java/src/org/chromium/components/signin/GmsAvailabilityException.java
|
|
@@ -608,23 +730,46 @@ diff --git a/components/signin/core/browser/android/java/src/org/chromium/compon
|
|
|
+ return false;
|
|
|
}
|
|
|
}
|
|
|
+diff --git a/components/signin/core/browser/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java b/components/signin/core/browser/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java
|
|
|
+--- a/components/signin/core/browser/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java
|
|
|
++++ b/components/signin/core/browser/android/java/src/org/chromium/components/signin/SystemAccountManagerDelegate.java
|
|
|
+@@ -35,7 +35,6 @@ import org.chromium.base.StrictModeContext;
|
|
|
+ import org.chromium.base.ThreadUtils;
|
|
|
+ import org.chromium.base.library_loader.LibraryLoader;
|
|
|
+ import org.chromium.base.metrics.RecordHistogram;
|
|
|
+-import org.chromium.gms.ChromiumPlayServicesAvailability;
|
|
|
+
|
|
|
+ import java.io.IOException;
|
|
|
+
|
|
|
diff --git a/content/public/android/BUILD.gn b/content/public/android/BUILD.gn
|
|
|
--- a/content/public/android/BUILD.gn
|
|
|
+++ b/content/public/android/BUILD.gn
|
|
|
-@@ -75,9 +75,6 @@ action_with_pydeps("generate_sandboxed_service_srcjar") {
|
|
|
- android_library("content_java") {
|
|
|
+@@ -139,9 +139,6 @@ android_library("content_main_dex_java") {
|
|
|
+ android_library("content_full_java") {
|
|
|
deps = [
|
|
|
- ":content_java_resources",
|
|
|
+ ":content_main_dex_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",
|
|
|
- "//components/download/public/common:public_java",
|
|
|
+ "//build:chromeos_buildflags",
|
|
|
+diff --git a/content/public/android/java/src/org/chromium/content/browser/sms/Wrappers.java b/content/public/android/java/src/org/chromium/content/browser/sms/Wrappers.java
|
|
|
+--- a/content/public/android/java/src/org/chromium/content/browser/sms/Wrappers.java
|
|
|
++++ b/content/public/android/java/src/org/chromium/content/browser/sms/Wrappers.java
|
|
|
+@@ -10,8 +10,6 @@ import android.content.ContextWrapper;
|
|
|
+ import android.content.Intent;
|
|
|
+ import android.content.IntentFilter;
|
|
|
+
|
|
|
+-import com.google.android.gms.tasks.Task;
|
|
|
+-
|
|
|
+ class Wrappers {
|
|
|
+ // Prevent instantiation.
|
|
|
+ private Wrappers() {}
|
|
|
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
|
|
|
--- a/content/test/BUILD.gn
|
|
|
+++ b/content/test/BUILD.gn
|
|
|
-@@ -2609,9 +2609,6 @@ if (is_android) {
|
|
|
+@@ -2630,9 +2630,6 @@ if (is_android) {
|
|
|
testonly = true
|
|
|
sources = content_java_sources_needing_jni
|
|
|
deps = [
|
|
@@ -637,7 +782,7 @@ diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
|
|
|
diff --git a/device/BUILD.gn b/device/BUILD.gn
|
|
|
--- a/device/BUILD.gn
|
|
|
+++ b/device/BUILD.gn
|
|
|
-@@ -421,8 +421,6 @@ if (is_android) {
|
|
|
+@@ -422,8 +422,6 @@ if (is_android) {
|
|
|
junit_binary("device_junit_tests") {
|
|
|
sources = [ "gamepad/android/junit/src/org/chromium/device/gamepad/GamepadMappingsTest.java" ]
|
|
|
deps = [
|
|
@@ -649,11 +794,10 @@ diff --git a/device/BUILD.gn b/device/BUILD.gn
|
|
|
diff --git a/remoting/android/client_java_tmpl.gni b/remoting/android/client_java_tmpl.gni
|
|
|
--- a/remoting/android/client_java_tmpl.gni
|
|
|
+++ b/remoting/android/client_java_tmpl.gni
|
|
|
-@@ -104,9 +104,6 @@ template("remoting_android_client_java_tmpl") {
|
|
|
+@@ -104,8 +104,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",
|
|
|
]
|
|
@@ -671,10 +815,18 @@ diff --git a/services/BUILD.gn b/services/BUILD.gn
|
|
|
"//base:base_java",
|
|
|
"//base:base_java_test_support",
|
|
|
"//mojo/public/java:base_java",
|
|
|
+@@ -144,7 +142,6 @@ if (is_android) {
|
|
|
+ "//skia/public/mojom:mojom_java",
|
|
|
+ "//third_party/android_deps:androidx_test_monitor_java",
|
|
|
+ "//third_party/android_deps:androidx_test_runner_java",
|
|
|
+- "//third_party/android_deps:chromium_play_services_availability_java",
|
|
|
+ "//third_party/android_support_test_runner:runner_java",
|
|
|
+ "//third_party/junit",
|
|
|
+ "//ui/gfx/geometry/mojom:mojom_java",
|
|
|
diff --git a/services/device/geolocation/BUILD.gn b/services/device/geolocation/BUILD.gn
|
|
|
--- a/services/device/geolocation/BUILD.gn
|
|
|
+++ b/services/device/geolocation/BUILD.gn
|
|
|
-@@ -155,8 +155,6 @@ if (is_android) {
|
|
|
+@@ -156,14 +156,11 @@ if (is_android) {
|
|
|
|
|
|
deps = [
|
|
|
":geolocation_jni_headers",
|
|
@@ -683,6 +835,12 @@ diff --git a/services/device/geolocation/BUILD.gn b/services/device/geolocation/
|
|
|
"//base:base_java",
|
|
|
"//base:jni_java",
|
|
|
"//components/location/android:location_java",
|
|
|
+ "//services/device/public/java:geolocation_java",
|
|
|
+ "//third_party/android_deps:androidx_annotation_annotation_java",
|
|
|
+- "//third_party/android_deps:chromium_play_services_availability_java",
|
|
|
+ ]
|
|
|
+ annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
|
|
|
+ }
|
|
|
diff --git a/services/shape_detection/BUILD.gn b/services/shape_detection/BUILD.gn
|
|
|
--- a/services/shape_detection/BUILD.gn
|
|
|
+++ b/services/shape_detection/BUILD.gn
|
|
@@ -695,10 +853,43 @@ diff --git a/services/shape_detection/BUILD.gn b/services/shape_detection/BUILD.
|
|
|
"//base:base_java",
|
|
|
"//mojo/public/java:base_java",
|
|
|
"//mojo/public/java:bindings_java",
|
|
|
+@@ -116,7 +114,6 @@ if (is_android) {
|
|
|
+ "//mojo/public/java/system:system_impl_java",
|
|
|
+ "//services/shape_detection/public/mojom:mojom_java",
|
|
|
+ "//skia/public/mojom:mojom_java",
|
|
|
+- "//third_party/android_deps:chromium_play_services_availability_java",
|
|
|
+ "//ui/gfx/geometry/mojom:mojom_java",
|
|
|
+ ]
|
|
|
+ }
|
|
|
diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.gn
|
|
|
--- a/third_party/android_deps/BUILD.gn
|
|
|
+++ b/third_party/android_deps/BUILD.gn
|
|
|
-@@ -1135,42 +1135,6 @@ java_prebuilt("com_android_tools_build_jetifier_jetifier_processor_java") {
|
|
|
+@@ -87,24 +87,6 @@ java_annotation_processor("auto_service_processor") {
|
|
|
+ deps = [ ":com_google_auto_service_auto_service_java" ]
|
|
|
+ }
|
|
|
+
|
|
|
+-android_library("chromium_play_services_availability_java") {
|
|
|
+- sources = [ "util/org/chromium/gms/ChromiumPlayServicesAvailability.java" ]
|
|
|
+- deps = [ "$google_play_services_package:google_play_services_base_java" ]
|
|
|
+-}
|
|
|
+-
|
|
|
+-android_library("chromium_play_services_availability_shadows_java") {
|
|
|
+- # Platform checks are broken for Robolectric. See https://crbug.com/1071638.
|
|
|
+- bypass_platform_checks = true
|
|
|
+- testonly = true
|
|
|
+- sources = [
|
|
|
+- "util/org/chromium/gms/shadows/ShadowChromiumPlayServicesAvailability.java",
|
|
|
+- ]
|
|
|
+- deps = [
|
|
|
+- ":chromium_play_services_availability_java",
|
|
|
+- "//third_party/android_deps:robolectric_all_java",
|
|
|
+- ]
|
|
|
+-}
|
|
|
+-
|
|
|
+ # The section below is generated by running
|
|
|
+ # `//tools/android/roll/android_deps/fetch_all.py`
|
|
|
+
|
|
|
+@@ -1154,52 +1136,6 @@ java_prebuilt("com_android_tools_build_jetifier_jetifier_processor_java") {
|
|
|
]
|
|
|
}
|
|
|
|
|
@@ -738,13 +929,6 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
|
|
|
- "//build/android/bytecode:fragment_activity_replacer"
|
|
|
-}
|
|
|
-
|
|
|
- # 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"
|
|
|
-@@ -1189,16 +1153,6 @@ android_aar_prebuilt("google_play_services_gcm_java") {
|
|
|
- strip_drawables = true
|
|
|
- }
|
|
|
-
|
|
|
-# 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-17.0.0.aar"
|
|
@@ -758,6 +942,17 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
|
|
|
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
|
|
|
android_aar_prebuilt("com_google_android_material_material_java") {
|
|
|
aar_path =
|
|
|
+diff --git a/weblayer/shell/android/BUILD.gn b/weblayer/shell/android/BUILD.gn
|
|
|
+--- a/weblayer/shell/android/BUILD.gn
|
|
|
++++ b/weblayer/shell/android/BUILD.gn
|
|
|
+@@ -40,7 +40,6 @@ android_library("weblayer_shell_java") {
|
|
|
+ # google_play_services_version definition in the manifest.
|
|
|
+ deps = [
|
|
|
+ ":weblayer_shell_resources",
|
|
|
+- "$google_play_services_package:google_play_services_base_java",
|
|
|
+ "//base:base_java",
|
|
|
+ "//components/strictmode/android:java",
|
|
|
+ "//third_party/android_deps:android_support_v4_java",
|
|
|
--
|
|
|
2.17.1
|
|
|
|