Remove-dependency-on-auth-signin-dynamic-and-tasks.patch 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823
  1. From: Wengling Chen <feiyu2817@gmail.com>
  2. Date: Sat, 2 Nov 2019 08:58:19 +0100
  3. Subject: Remove dependency on auth, signin, dynamic and tasks
  4. ---
  5. chrome/android/BUILD.gn | 8 --
  6. chrome/android/features/media_router/BUILD.gn | 2 -
  7. .../media/router/ChromeMediaRouter.java | 7 +-
  8. chrome/android/java/AndroidManifest.xml | 9 --
  9. .../org/chromium/chrome/browser/AppHooks.java | 14 +---
  10. .../chrome/browser/ChromeVersionInfo.java | 12 +--
  11. .../component_updater/UpdateScheduler.java | 3 -
  12. .../externalauth/ExternalAuthUtils.java | 14 +---
  13. .../UserRecoverableErrorHandler.java | 7 --
  14. .../gcore/ChromeGoogleApiClientImpl.java | 25 +-----
  15. .../browser/gcore/GoogleApiClientHelper.java | 82 +------------------
  16. .../browser/omaha/UpdateStatusProvider.java | 10 +--
  17. .../PasswordManagerLauncher.java | 20 +----
  18. chrome/test/android/BUILD.gn | 2 -
  19. components/background_task_scheduler/BUILD.gn | 4 -
  20. .../internal/BUILD.gn | 6 --
  21. .../signin/core/browser/android/BUILD.gn | 2 -
  22. .../signin/GmsAvailabilityException.java | 4 +-
  23. content/public/android/BUILD.gn | 3 -
  24. content/test/BUILD.gn | 3 -
  25. device/BUILD.gn | 2 -
  26. remoting/android/client_java_tmpl.gni | 3 -
  27. services/BUILD.gn | 4 -
  28. services/device/geolocation/BUILD.gn | 2 -
  29. services/shape_detection/BUILD.gn | 2 -
  30. third_party/android_deps/BUILD.gn | 41 ----------
  31. third_party/cacheinvalidation/BUILD.gn | 1 -
  32. third_party/robolectric/BUILD.gn | 2 -
  33. 28 files changed, 16 insertions(+), 278 deletions(-)
  34. diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
  35. --- a/chrome/android/BUILD.gn
  36. +++ b/chrome/android/BUILD.gn
  37. @@ -262,9 +262,6 @@ android_library("chrome_java") {
  38. ":partner_location_descriptor_proto_java",
  39. ":update_proto_java",
  40. ":usage_stats_proto_java",
  41. - "$google_play_services_package:google_play_services_base_java",
  42. - "$google_play_services_package:google_play_services_basement_java",
  43. - "$google_play_services_package:google_play_services_tasks_java",
  44. "//base:base_java",
  45. "//base:jni_java",
  46. "//chrome/android/features/cablev2_authenticator:public_java",
  47. @@ -694,8 +691,6 @@ junit_binary("chrome_junit_tests") {
  48. ":chrome_app_java_resources",
  49. ":chrome_java",
  50. ":partner_location_descriptor_proto_java",
  51. - "$google_play_services_package:google_play_services_base_java",
  52. - "$google_play_services_package:google_play_services_basement_java",
  53. "//base:base_java",
  54. "//base:base_java_test_support",
  55. "//base:base_junit_test_support",
  56. @@ -806,9 +801,6 @@ android_library("chrome_test_java") {
  57. ":chrome_app_java_resources",
  58. ":chrome_test_util_java",
  59. ":partner_location_descriptor_proto_java",
  60. - "$google_play_services_package:google_play_services_base_java",
  61. - "$google_play_services_package:google_play_services_basement_java",
  62. - "$google_play_services_package:google_play_services_tasks_java",
  63. "//base:base_java",
  64. "//base:base_java_test_support",
  65. "//base/test:test_support_java",
  66. diff --git a/chrome/android/features/media_router/BUILD.gn b/chrome/android/features/media_router/BUILD.gn
  67. --- a/chrome/android/features/media_router/BUILD.gn
  68. +++ b/chrome/android/features/media_router/BUILD.gn
  69. @@ -10,8 +10,6 @@ import("//chrome/common/features.gni")
  70. android_library("java") {
  71. deps = [
  72. ":java_resources",
  73. - "$google_play_services_package:google_play_services_base_java",
  74. - "$google_play_services_package:google_play_services_basement_java",
  75. "//base:base_java",
  76. "//base:jni_java",
  77. "//chrome/android:chrome_java",
  78. diff --git a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/ChromeMediaRouter.java b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/ChromeMediaRouter.java
  79. --- a/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/ChromeMediaRouter.java
  80. +++ b/chrome/android/features/media_router/java/src/org/chromium/chrome/browser/media/router/ChromeMediaRouter.java
  81. @@ -8,9 +8,6 @@ import androidx.annotation.Nullable;
  82. import androidx.annotation.VisibleForTesting;
  83. import androidx.mediarouter.media.MediaRouter;
  84. -import com.google.android.gms.common.ConnectionResult;
  85. -import com.google.android.gms.common.GoogleApiAvailability;
  86. -
  87. import org.chromium.base.ContextUtils;
  88. import org.chromium.base.Log;
  89. import org.chromium.base.StrictModeContext;
  90. @@ -43,9 +40,7 @@ public class ChromeMediaRouter implements MediaRouteManager {
  91. int googleApiAvailabilityResult =
  92. AppHooks.get().isGoogleApiAvailableWithMinApkVersion(
  93. MIN_GOOGLE_PLAY_SERVICES_APK_VERSION);
  94. - if (googleApiAvailabilityResult != ConnectionResult.SUCCESS) {
  95. - GoogleApiAvailability.getInstance().showErrorNotification(
  96. - ContextUtils.getApplicationContext(), googleApiAvailabilityResult);
  97. + if (true) {
  98. return;
  99. }
  100. MediaRouteProvider cafProvider = CafMediaRouteProvider.create(manager);
  101. diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
  102. --- a/chrome/android/java/AndroidManifest.xml
  103. +++ b/chrome/android/java/AndroidManifest.xml
  104. @@ -842,15 +842,6 @@ by a child template that "extends" this file.
  105. </intent-filter>
  106. </activity>
  107. - <!-- Activity for dispatching intents to Instant Apps. -->
  108. - <activity
  109. - android:name="org.chromium.chrome.browser.instantapps.AuthenticatedProxyActivity"
  110. - android:exported="false"
  111. - android:theme="@android:style/Theme.NoDisplay"
  112. - android:noHistory="true"
  113. - android:excludeFromRecents="true">
  114. - </activity>
  115. -
  116. <activity
  117. android:name="org.chromium.chrome.browser.vr.VrCancelAnimationActivity"
  118. android:exported="false"
  119. diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java b/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
  120. --- a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
  121. +++ b/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
  122. @@ -11,9 +11,6 @@ import android.view.View;
  123. import androidx.annotation.Nullable;
  124. import androidx.annotation.VisibleForTesting;
  125. -import com.google.android.gms.common.ConnectionResult;
  126. -import com.google.android.gms.common.GoogleApiAvailability;
  127. -
  128. import org.chromium.base.Callback;
  129. import org.chromium.base.ContextUtils;
  130. import org.chromium.base.annotations.CalledByNative;
  131. @@ -326,16 +323,7 @@ public abstract class AppHooks {
  132. * same as {@link GoogleApiAvailability#isGooglePlayServicesAvailable()}.
  133. */
  134. public int isGoogleApiAvailableWithMinApkVersion(int minApkVersion) {
  135. - try {
  136. - PackageInfo gmsPackageInfo =
  137. - ContextUtils.getApplicationContext().getPackageManager().getPackageInfo(
  138. - GoogleApiAvailability.GOOGLE_PLAY_SERVICES_PACKAGE, /* flags= */ 0);
  139. - int apkVersion = gmsPackageInfo.versionCode;
  140. - if (apkVersion >= minApkVersion) return ConnectionResult.SUCCESS;
  141. - } catch (PackageManager.NameNotFoundException e) {
  142. - return ConnectionResult.SERVICE_MISSING;
  143. - }
  144. - return ConnectionResult.SERVICE_VERSION_UPDATE_REQUIRED;
  145. + return 1; /* SERVICE_MISSING*/
  146. }
  147. /**
  148. diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeVersionInfo.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeVersionInfo.java
  149. --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeVersionInfo.java
  150. +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeVersionInfo.java
  151. @@ -7,8 +7,6 @@ package org.chromium.chrome.browser;
  152. import android.content.Context;
  153. import android.content.pm.PackageManager;
  154. -import com.google.android.gms.common.GoogleApiAvailability;
  155. -
  156. import org.chromium.base.ContextUtils;
  157. import org.chromium.base.annotations.CalledByNative;
  158. import org.chromium.chrome.browser.externalauth.ExternalAuthUtils;
  159. @@ -95,7 +93,7 @@ public class ChromeVersionInfo {
  160. public static String getGmsInfo() {
  161. Context context = ContextUtils.getApplicationContext();
  162. - final long sdkVersion = GoogleApiAvailability.GOOGLE_PLAY_SERVICES_VERSION_CODE;
  163. + final long sdkVersion = 12600000;
  164. final long installedGmsVersion = getPlayServicesApkVersionNumber(context);
  165. final String accessType;
  166. @@ -112,12 +110,6 @@ public class ChromeVersionInfo {
  167. }
  168. private static long getPlayServicesApkVersionNumber(Context context) {
  169. - try {
  170. - return context.getPackageManager()
  171. - .getPackageInfo(GoogleApiAvailability.GOOGLE_PLAY_SERVICES_PACKAGE, 0)
  172. - .versionCode;
  173. - } catch (PackageManager.NameNotFoundException e) {
  174. - return 0;
  175. - }
  176. + return 0;
  177. }
  178. }
  179. diff --git a/chrome/android/java/src/org/chromium/chrome/browser/component_updater/UpdateScheduler.java b/chrome/android/java/src/org/chromium/chrome/browser/component_updater/UpdateScheduler.java
  180. --- a/chrome/android/java/src/org/chromium/chrome/browser/component_updater/UpdateScheduler.java
  181. +++ b/chrome/android/java/src/org/chromium/chrome/browser/component_updater/UpdateScheduler.java
  182. @@ -6,9 +6,6 @@ package org.chromium.chrome.browser.component_updater;
  183. import android.os.Build;
  184. -import com.google.android.gms.common.ConnectionResult;
  185. -import com.google.android.gms.common.GoogleApiAvailability;
  186. -
  187. import org.chromium.base.ContextUtils;
  188. import org.chromium.base.annotations.CalledByNative;
  189. import org.chromium.base.annotations.JNINamespace;
  190. 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
  191. --- a/chrome/android/java/src/org/chromium/chrome/browser/externalauth/ExternalAuthUtils.java
  192. +++ b/chrome/android/java/src/org/chromium/chrome/browser/externalauth/ExternalAuthUtils.java
  193. @@ -15,9 +15,6 @@ import android.text.TextUtils;
  194. import androidx.annotation.VisibleForTesting;
  195. import androidx.annotation.WorkerThread;
  196. -import com.google.android.gms.common.ConnectionResult;
  197. -import com.google.android.gms.common.GoogleApiAvailability;
  198. -
  199. import org.chromium.base.CommandLine;
  200. import org.chromium.base.ContextUtils;
  201. import org.chromium.base.Log;
  202. @@ -158,9 +155,7 @@ public class ExternalAuthUtils {
  203. * when it is updating.
  204. */
  205. public boolean isGooglePlayServicesMissing(final Context context) {
  206. - final int resultCode = checkGooglePlayServicesAvailable(context);
  207. - return (resultCode == ConnectionResult.SERVICE_MISSING
  208. - || resultCode == ConnectionResult.SERVICE_INVALID);
  209. + return true;
  210. }
  211. /**
  212. @@ -182,7 +177,6 @@ public class ExternalAuthUtils {
  213. Context context = ContextUtils.getApplicationContext();
  214. final int resultCode = checkGooglePlayServicesAvailable(context);
  215. - if (resultCode == ConnectionResult.SUCCESS) return true;
  216. // resultCode is some kind of error.
  217. Log.v(TAG, "Unable to use Google Play Services: %s", describeError(resultCode));
  218. if (isUserRecoverableError(resultCode)) {
  219. @@ -252,7 +246,7 @@ public class ExternalAuthUtils {
  220. protected int checkGooglePlayServicesAvailable(final Context context) {
  221. // TODO(crbug.com/577190): Temporarily allowing disk access until more permanent fix is in.
  222. try (StrictModeContext ignored = StrictModeContext.allowDiskWrites()) {
  223. - return GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(context);
  224. + return 1; /*SERVICE_MISSING*/
  225. }
  226. }
  227. @@ -264,7 +258,7 @@ public class ExternalAuthUtils {
  228. * @return true If the code represents a user-recoverable error
  229. */
  230. protected boolean isUserRecoverableError(final int errorCode) {
  231. - return GoogleApiAvailability.getInstance().isUserResolvableError(errorCode);
  232. + return false;
  233. }
  234. /**
  235. @@ -274,6 +268,6 @@ public class ExternalAuthUtils {
  236. * @return a textual description of the error code
  237. */
  238. protected String describeError(final int errorCode) {
  239. - return GoogleApiAvailability.getInstance().getErrorString(errorCode);
  240. + return "";
  241. }
  242. }
  243. 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
  244. --- a/chrome/android/java/src/org/chromium/chrome/browser/externalauth/UserRecoverableErrorHandler.java
  245. +++ b/chrome/android/java/src/org/chromium/chrome/browser/externalauth/UserRecoverableErrorHandler.java
  246. @@ -9,8 +9,6 @@ import android.app.Dialog;
  247. import android.content.Context;
  248. import android.content.DialogInterface;
  249. -import com.google.android.gms.common.GoogleApiAvailability;
  250. -
  251. import org.chromium.base.ThreadUtils;
  252. import org.chromium.base.metrics.RecordUserAction;
  253. @@ -90,7 +88,6 @@ public abstract class UserRecoverableErrorHandler {
  254. if (!sNotificationShown.getAndSet(true)) {
  255. return;
  256. }
  257. - GoogleApiAvailability.getInstance().showErrorNotification(context, errorCode);
  258. }
  259. }
  260. @@ -183,11 +180,7 @@ public abstract class UserRecoverableErrorHandler {
  261. cancelDialog();
  262. }
  263. if (mDialog == null) {
  264. - mDialog = GoogleApiAvailability.getInstance().getErrorDialog(
  265. - mActivity, errorCode, NO_RESPONSE_REQUIRED);
  266. mErrorCode = errorCode;
  267. -
  268. - DialogUserActionRecorder.createAndAttachToDialog(mDialog);
  269. }
  270. // This can happen if |errorCode| is ConnectionResult.SERVICE_INVALID.
  271. if (mDialog != null && !mDialog.isShowing()) {
  272. 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
  273. --- a/chrome/android/java/src/org/chromium/chrome/browser/gcore/ChromeGoogleApiClientImpl.java
  274. +++ b/chrome/android/java/src/org/chromium/chrome/browser/gcore/ChromeGoogleApiClientImpl.java
  275. @@ -6,9 +6,6 @@ package org.chromium.chrome.browser.gcore;
  276. import android.content.Context;
  277. -import com.google.android.gms.common.ConnectionResult;
  278. -import com.google.android.gms.common.api.GoogleApiClient;
  279. -
  280. import org.chromium.base.Log;
  281. import org.chromium.base.TraceEvent;
  282. import org.chromium.chrome.browser.externalauth.ExternalAuthUtils;
  283. @@ -22,7 +19,6 @@ public class ChromeGoogleApiClientImpl implements ChromeGoogleApiClient {
  284. private static final String TAG = "Icing";
  285. private final Context mApplicationContext;
  286. - private final GoogleApiClient mClient;
  287. /**
  288. * @param context its application context will be exposed through
  289. @@ -31,10 +27,9 @@ public class ChromeGoogleApiClientImpl implements ChromeGoogleApiClient {
  290. * @param requireFirstPartyBuild true if the given client can only be used in a first-party
  291. * build.
  292. */
  293. - public ChromeGoogleApiClientImpl(Context context, GoogleApiClient client,
  294. + public ChromeGoogleApiClientImpl(Context context,
  295. boolean requireFirstPartyBuild) {
  296. mApplicationContext = context.getApplicationContext();
  297. - mClient = client;
  298. if (requireFirstPartyBuild && !ExternalAuthUtils.getInstance().isChromeGoogleSigned()) {
  299. throw new IllegalStateException("GoogleApiClient requires first-party build");
  300. }
  301. @@ -42,7 +37,6 @@ public class ChromeGoogleApiClientImpl implements ChromeGoogleApiClient {
  302. @Override
  303. public void disconnect() {
  304. - mClient.disconnect();
  305. }
  306. @Override
  307. @@ -58,24 +52,11 @@ public class ChromeGoogleApiClientImpl implements ChromeGoogleApiClient {
  308. @Override
  309. public boolean connectWithTimeout(long timeout) {
  310. TraceEvent.begin("ChromeGoogleApiClientImpl:connectWithTimeout");
  311. - try {
  312. - ConnectionResult result = mClient.blockingConnect(timeout, TimeUnit.MILLISECONDS);
  313. - if (!result.isSuccess()) {
  314. - Log.e(TAG, "Connection to GmsCore unsuccessful. Error %d", result.getErrorCode());
  315. - } else {
  316. - Log.d(TAG, "Connection to GmsCore successful.");
  317. - }
  318. - return result.isSuccess();
  319. - } finally {
  320. - TraceEvent.end("ChromeGoogleApiClientImpl:connectWithTimeout");
  321. - }
  322. + TraceEvent.end("ChromeGoogleApiClientImpl:connectWithTimeout");
  323. + return false;
  324. }
  325. public Context getApplicationContext() {
  326. return mApplicationContext;
  327. }
  328. -
  329. - public GoogleApiClient getApiClient() {
  330. - return mClient;
  331. - }
  332. }
  333. 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
  334. --- a/chrome/android/java/src/org/chromium/chrome/browser/gcore/GoogleApiClientHelper.java
  335. +++ b/chrome/android/java/src/org/chromium/chrome/browser/gcore/GoogleApiClientHelper.java
  336. @@ -7,11 +7,6 @@ package org.chromium.chrome.browser.gcore;
  337. import android.os.Bundle;
  338. import android.os.Handler;
  339. -import com.google.android.gms.common.ConnectionResult;
  340. -import com.google.android.gms.common.api.GoogleApiClient;
  341. -import com.google.android.gms.common.api.GoogleApiClient.ConnectionCallbacks;
  342. -import com.google.android.gms.common.api.GoogleApiClient.OnConnectionFailedListener;
  343. -
  344. import org.chromium.base.ApplicationStatus;
  345. import org.chromium.base.ApplicationStatus.ApplicationStateListener;
  346. import org.chromium.base.Log;
  347. @@ -67,29 +62,15 @@ import org.chromium.base.ThreadUtils;
  348. * }
  349. * </pre>
  350. */
  351. -public class GoogleApiClientHelper
  352. - implements OnConnectionFailedListener, ConnectionCallbacks {
  353. +public class GoogleApiClientHelper {
  354. private static final String TAG = "GCore";
  355. private int mResolutionAttempts;
  356. private boolean mWasConnectedBefore;
  357. private final Handler mHandler = new Handler(ThreadUtils.getUiThreadLooper());
  358. - private final GoogleApiClient mClient;
  359. private long mDisconnectionDelayMs;
  360. private Runnable mPendingDisconnect;
  361. - /**
  362. - * Creates a helper and enrolls it in the various connection management features.
  363. - * See the class documentation for {@link GoogleApiClientHelper} for more information.
  364. - *
  365. - * @param client The client to wrap.
  366. - */
  367. - public GoogleApiClientHelper(GoogleApiClient client) {
  368. - mClient = client;
  369. - enableConnectionRetrying(true);
  370. - enableLifecycleManagement(true);
  371. - }
  372. -
  373. /**
  374. * Opts in or out of lifecycle management. The client's connection will be closed and reopened
  375. * when Chrome goes in and out of background.
  376. @@ -116,13 +97,6 @@ public class GoogleApiClientHelper
  377. * Enabling or disabling it while it is already enabled or disabled has no effect.
  378. */
  379. public void enableConnectionRetrying(boolean enabled) {
  380. - if (enabled) {
  381. - mClient.registerConnectionCallbacks(this);
  382. - mClient.registerConnectionFailedListener(this);
  383. - } else {
  384. - mClient.unregisterConnectionCallbacks(this);
  385. - mClient.unregisterConnectionFailedListener(this);
  386. - }
  387. }
  388. /**
  389. @@ -155,21 +129,11 @@ public class GoogleApiClientHelper
  390. // Cancel and reschedule the disconnection if we are in the background. We do it early to
  391. // avoid race conditions between a disconnect on the UI thread and the connect below.
  392. if (!ApplicationStatus.hasVisibleActivities()) scheduleDisconnection();
  393. -
  394. - // The client might be disconnected if we were idle in the background for too long.
  395. - if (!mClient.isConnected() && !mClient.isConnecting()) {
  396. - Log.d(TAG, "Reconnecting the client.");
  397. - mClient.connect();
  398. - }
  399. }
  400. void restoreConnectedState() {
  401. // If we go back to the foreground before a delayed disconnect happens, cancel it.
  402. cancelPendingDisconnection();
  403. -
  404. - if (mWasConnectedBefore) {
  405. - mClient.connect();
  406. - }
  407. }
  408. /**
  409. @@ -192,12 +156,6 @@ public class GoogleApiClientHelper
  410. }
  411. private void disconnect() {
  412. - if (mClient.isConnected() || mClient.isConnecting()) {
  413. - mWasConnectedBefore = true;
  414. - }
  415. -
  416. - // We always call disconnect to abort possibly pending connection requests.
  417. - mClient.disconnect();
  418. }
  419. private void cancelPendingDisconnection() {
  420. @@ -207,43 +165,7 @@ public class GoogleApiClientHelper
  421. mPendingDisconnect = null;
  422. }
  423. - @Override
  424. - public void onConnectionFailed(ConnectionResult result) {
  425. - if (!isErrorRecoverableByRetrying(result.getErrorCode())) {
  426. - Log.d(TAG, "Not retrying managed client connection. Unrecoverable error: %d",
  427. - result.getErrorCode());
  428. - return;
  429. - }
  430. -
  431. - if (mResolutionAttempts < ConnectedTask.RETRY_NUMBER_LIMIT) {
  432. - Log.d(TAG, "Retrying managed client connection. attempt %d/%d - errorCode: %d",
  433. - mResolutionAttempts, ConnectedTask.RETRY_NUMBER_LIMIT, result.getErrorCode());
  434. - mResolutionAttempts += 1;
  435. -
  436. - mHandler.postDelayed(new Runnable() {
  437. - @Override
  438. - public void run() {
  439. - mClient.connect();
  440. - }
  441. - }, ConnectedTask.CONNECTION_RETRY_TIME_MS);
  442. - }
  443. - }
  444. -
  445. - @Override
  446. - public void onConnected(Bundle connectionHint) {
  447. - mResolutionAttempts = 0;
  448. - }
  449. -
  450. - @Override
  451. - public void onConnectionSuspended(int cause) {
  452. - // GoogleApiClient handles retrying on suspension itself. Logging in case it didn't succeed
  453. - // for some reason.
  454. - Log.w(TAG, "Managed client connection suspended. Cause: %d", cause);
  455. - }
  456. -
  457. private static boolean isErrorRecoverableByRetrying(int errorCode) {
  458. - return errorCode == ConnectionResult.INTERNAL_ERROR
  459. - || errorCode == ConnectionResult.NETWORK_ERROR
  460. - || errorCode == ConnectionResult.SERVICE_UPDATING;
  461. + return false;
  462. }
  463. }
  464. 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
  465. --- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java
  466. +++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java
  467. @@ -21,8 +21,6 @@ import androidx.annotation.NonNull;
  468. import androidx.annotation.Nullable;
  469. import androidx.annotation.VisibleForTesting;
  470. -import com.google.android.gms.common.GooglePlayServicesUtil;
  471. -
  472. import org.chromium.base.ActivityState;
  473. import org.chromium.base.ApplicationStatus;
  474. import org.chromium.base.ApplicationStatus.ActivityStateListener;
  475. @@ -465,13 +463,7 @@ public class UpdateStatusProvider implements ActivityStateListener {
  476. }
  477. private boolean isGooglePlayStoreAvailable(Context context) {
  478. - try {
  479. - context.getPackageManager().getPackageInfo(
  480. - GooglePlayServicesUtil.GOOGLE_PLAY_STORE_PACKAGE, 0);
  481. - } catch (PackageManager.NameNotFoundException e) {
  482. - return false;
  483. - }
  484. - return true;
  485. + return false;
  486. }
  487. @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2)
  488. diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerLauncher.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerLauncher.java
  489. --- a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerLauncher.java
  490. +++ b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerLauncher.java
  491. @@ -7,8 +7,6 @@ package org.chromium.chrome.browser.password_manager;
  492. import android.app.Activity;
  493. import android.os.Build;
  494. -import com.google.android.gms.common.ConnectionResult;
  495. -
  496. import org.chromium.base.annotations.CalledByNative;
  497. import org.chromium.base.metrics.RecordHistogram;
  498. import org.chromium.chrome.browser.AppHooks;
  499. @@ -88,22 +86,6 @@ public class PasswordManagerLauncher {
  500. }
  501. private static boolean tryShowingTheGooglePasswordManager(Activity activity) {
  502. - GooglePasswordManagerUIProvider googlePasswordManagerUIProvider =
  503. - AppHooks.get().createGooglePasswordManagerUIProvider();
  504. - if (googlePasswordManagerUIProvider == null) return false;
  505. -
  506. - if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) return false;
  507. -
  508. - int minGooglePlayServicesVersion = ChromeFeatureList.getFieldTrialParamByFeatureAsInt(
  509. - GOOGLE_ACCOUNT_PWM_UI, MIN_GOOGLE_PLAY_SERVICES_VERSION_PARAM,
  510. - DEFAULT_MIN_GOOGLE_PLAY_SERVICES_APK_VERSION);
  511. - if (AppHooks.get().isGoogleApiAvailableWithMinApkVersion(minGooglePlayServicesVersion)
  512. - != ConnectionResult.SUCCESS) {
  513. - return false;
  514. - }
  515. -
  516. - if (!ChromeFeatureList.isEnabled(GOOGLE_ACCOUNT_PWM_UI)) return false;
  517. -
  518. - return googlePasswordManagerUIProvider.showGooglePasswordManager(activity);
  519. + return false;
  520. }
  521. }
  522. diff --git a/chrome/test/android/BUILD.gn b/chrome/test/android/BUILD.gn
  523. --- a/chrome/test/android/BUILD.gn
  524. +++ b/chrome/test/android/BUILD.gn
  525. @@ -200,8 +200,6 @@ android_library("chrome_java_test_support") {
  526. "javatests/src/org/chromium/chrome/test/util/browser/webapps/WebappTestPage.java",
  527. ]
  528. deps = [
  529. - "$google_play_services_package:google_play_services_base_java",
  530. - "$google_play_services_package:google_play_services_basement_java",
  531. "//base:base_java",
  532. "//base:base_java_test_support",
  533. "//chrome/android:chrome_java",
  534. diff --git a/components/background_task_scheduler/BUILD.gn b/components/background_task_scheduler/BUILD.gn
  535. --- a/components/background_task_scheduler/BUILD.gn
  536. +++ b/components/background_task_scheduler/BUILD.gn
  537. @@ -116,10 +116,6 @@ if (is_android) {
  538. ]
  539. deps = [
  540. - "$google_play_services_package:google_play_services_auth_base_java",
  541. - "$google_play_services_package:google_play_services_base_java",
  542. - "$google_play_services_package:google_play_services_basement_java",
  543. - "$google_play_services_package:google_play_services_tasks_java",
  544. "internal:internal_java",
  545. "internal:proto_java",
  546. "//base:base_java",
  547. diff --git a/components/background_task_scheduler/internal/BUILD.gn b/components/background_task_scheduler/internal/BUILD.gn
  548. --- a/components/background_task_scheduler/internal/BUILD.gn
  549. +++ b/components/background_task_scheduler/internal/BUILD.gn
  550. @@ -26,9 +26,6 @@ if (is_android) {
  551. deps = [
  552. ":proto_java",
  553. - "$google_play_services_package:google_play_services_base_java",
  554. - "$google_play_services_package:google_play_services_basement_java",
  555. - "$google_play_services_package:google_play_services_tasks_java",
  556. "//base:base_java",
  557. "//components/background_task_scheduler:background_task_scheduler_task_ids_java",
  558. "//components/background_task_scheduler:public_java",
  559. @@ -96,9 +93,6 @@ if (is_android) {
  560. deps = [
  561. ":internal_java",
  562. - "$google_play_services_package:google_play_services_base_java",
  563. - "$google_play_services_package:google_play_services_basement_java",
  564. - "$google_play_services_package:google_play_services_tasks_java",
  565. "//base:base_java",
  566. "//base:base_java_test_support",
  567. "//components/background_task_scheduler:background_task_scheduler_task_ids_java",
  568. diff --git a/components/signin/core/browser/android/BUILD.gn b/components/signin/core/browser/android/BUILD.gn
  569. --- a/components/signin/core/browser/android/BUILD.gn
  570. +++ b/components/signin/core/browser/android/BUILD.gn
  571. @@ -14,8 +14,6 @@ generate_jni("jni_headers") {
  572. android_library("java") {
  573. deps = [
  574. - "$google_play_services_package:google_play_services_base_java",
  575. - "$google_play_services_package:google_play_services_basement_java",
  576. "//base:base_java",
  577. "//base:jni_java",
  578. "//net/android:net_java",
  579. 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
  580. --- a/components/signin/core/browser/android/java/src/org/chromium/components/signin/GmsAvailabilityException.java
  581. +++ b/components/signin/core/browser/android/java/src/org/chromium/components/signin/GmsAvailabilityException.java
  582. @@ -4,8 +4,6 @@
  583. package org.chromium.components.signin;
  584. -import com.google.android.gms.common.GoogleApiAvailability;
  585. -
  586. /**
  587. * This class encapsulates return code if GMSCore package is not available.
  588. */
  589. @@ -27,6 +25,6 @@ public class GmsAvailabilityException extends AccountManagerDelegateException {
  590. }
  591. public boolean isUserResolvableError() {
  592. - return GoogleApiAvailability.getInstance().isUserResolvableError(mResultCode);
  593. + return false;
  594. }
  595. }
  596. diff --git a/content/public/android/BUILD.gn b/content/public/android/BUILD.gn
  597. --- a/content/public/android/BUILD.gn
  598. +++ b/content/public/android/BUILD.gn
  599. @@ -75,9 +75,6 @@ action("generate_sandboxed_service_srcjar") {
  600. android_library("content_java") {
  601. deps = [
  602. ":content_java_resources",
  603. - "$google_play_services_package:google_play_services_base_java",
  604. - "$google_play_services_package:google_play_services_basement_java",
  605. - "$google_play_services_package:google_play_services_tasks_java",
  606. "//base:base_java",
  607. "//base:jni_java",
  608. "//components/download/public/common:public_java",
  609. diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
  610. --- a/content/test/BUILD.gn
  611. +++ b/content/test/BUILD.gn
  612. @@ -2422,9 +2422,6 @@ if (is_android) {
  613. testonly = true
  614. sources = content_java_sources_needing_jni
  615. deps = [
  616. - "$google_play_services_package:google_play_services_base_java",
  617. - "$google_play_services_package:google_play_services_basement_java",
  618. - "$google_play_services_package:google_play_services_tasks_java",
  619. "//base:base_java",
  620. "//content/public/android:content_java",
  621. "//ui/android:ui_full_java",
  622. diff --git a/device/BUILD.gn b/device/BUILD.gn
  623. --- a/device/BUILD.gn
  624. +++ b/device/BUILD.gn
  625. @@ -382,8 +382,6 @@ if (is_android) {
  626. junit_binary("device_junit_tests") {
  627. sources = [ "gamepad/android/junit/src/org/chromium/device/gamepad/GamepadMappingsTest.java" ]
  628. deps = [
  629. - "$google_play_services_package:google_play_services_base_java",
  630. - "$google_play_services_package:google_play_services_basement_java",
  631. "//base:base_java",
  632. "//base:base_java_test_support",
  633. "//base:base_junit_test_support",
  634. diff --git a/remoting/android/client_java_tmpl.gni b/remoting/android/client_java_tmpl.gni
  635. --- a/remoting/android/client_java_tmpl.gni
  636. +++ b/remoting/android/client_java_tmpl.gni
  637. @@ -102,9 +102,6 @@ template("remoting_android_client_java_tmpl") {
  638. if (defined(invoker.play_services_package)) {
  639. deps += [
  640. - "${invoker.play_services_package}:google_play_services_auth_base_java",
  641. - "${invoker.play_services_package}:google_play_services_base_java",
  642. - "${invoker.play_services_package}:google_play_services_basement_java",
  643. ]
  644. }
  645. diff --git a/services/BUILD.gn b/services/BUILD.gn
  646. --- a/services/BUILD.gn
  647. +++ b/services/BUILD.gn
  648. @@ -102,8 +102,6 @@ if (is_android) {
  649. "shape_detection/android/junit/src/org/chromium/shape_detection/BitmapUtilsTest.java",
  650. ]
  651. deps = [
  652. - "$google_play_services_package:google_play_services_base_java",
  653. - "$google_play_services_package:google_play_services_basement_java",
  654. "//base:base_java",
  655. "//base:base_java_test_support",
  656. "//base:base_junit_test_support",
  657. @@ -131,8 +129,6 @@ if (is_android) {
  658. "shape_detection/android/javatests/src/org/chromium/shape_detection/TextDetectionImplTest.java",
  659. ]
  660. deps = [
  661. - "$google_play_services_package:google_play_services_base_java",
  662. - "$google_play_services_package:google_play_services_basement_java",
  663. "//base:base_java",
  664. "//base:base_java_test_support",
  665. "//mojo/public/java:base_java",
  666. diff --git a/services/device/geolocation/BUILD.gn b/services/device/geolocation/BUILD.gn
  667. --- a/services/device/geolocation/BUILD.gn
  668. +++ b/services/device/geolocation/BUILD.gn
  669. @@ -149,8 +149,6 @@ if (is_android) {
  670. deps = [
  671. ":geolocation_jni_headers",
  672. - "$google_play_services_package:google_play_services_base_java",
  673. - "$google_play_services_package:google_play_services_basement_java",
  674. "//base:base_java",
  675. "//base:jni_java",
  676. "//components/location/android:location_java",
  677. diff --git a/services/shape_detection/BUILD.gn b/services/shape_detection/BUILD.gn
  678. --- a/services/shape_detection/BUILD.gn
  679. +++ b/services/shape_detection/BUILD.gn
  680. @@ -89,8 +89,6 @@ if (is_android) {
  681. ]
  682. deps = [
  683. - "$google_play_services_package:google_play_services_base_java",
  684. - "$google_play_services_package:google_play_services_basement_java",
  685. "//base:base_java",
  686. "//mojo/public/java:base_java",
  687. "//mojo/public/java:bindings_java",
  688. diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.gn
  689. --- a/third_party/android_deps/BUILD.gn
  690. +++ b/third_party/android_deps/BUILD.gn
  691. @@ -1133,37 +1133,6 @@ java_prebuilt("com_android_tools_build_jetifier_jetifier_processor_java") {
  692. skip_jetify = true
  693. }
  694. -# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  695. -android_aar_prebuilt("google_play_services_base_java") {
  696. - aar_path = "libs/com_google_android_gms_play_services_base/play-services-base-17.0.0.aar"
  697. - info_path = "libs/com_google_android_gms_play_services_base/com_google_android_gms_play_services_base.info"
  698. - deps = [
  699. - ":androidx_collection_collection_java",
  700. - ":androidx_core_core_java",
  701. - ":androidx_fragment_fragment_java",
  702. - ":google_play_services_basement_java",
  703. - ":google_play_services_tasks_java",
  704. - ]
  705. -
  706. - # Removing drawables from GMS .aars as they are unused bloat.
  707. - strip_drawables = true
  708. -}
  709. -
  710. -# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  711. -android_aar_prebuilt("google_play_services_basement_java") {
  712. - aar_path = "libs/com_google_android_gms_play_services_basement/play-services-basement-17.0.0.aar"
  713. - info_path = "libs/com_google_android_gms_play_services_basement/com_google_android_gms_play_services_basement.info"
  714. - deps = [
  715. - ":androidx_collection_collection_java",
  716. - ":androidx_core_core_java",
  717. - ":androidx_fragment_fragment_java",
  718. - ]
  719. -
  720. - # Removing drawables from GMS .aars as they are unused bloat.
  721. - strip_drawables = true
  722. - input_jars_paths = [ "$android_sdk/optional/org.apache.http.legacy.jar" ]
  723. -}
  724. -
  725. # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  726. android_aar_prebuilt("google_play_services_gcm_java") {
  727. aar_path = "libs/com_google_android_gms_play_services_gcm/play-services-gcm-17.0.0.aar"
  728. @@ -1182,16 +1151,6 @@ android_aar_prebuilt("google_play_services_gcm_java") {
  729. strip_drawables = true
  730. }
  731. -# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  732. -android_aar_prebuilt("google_play_services_tasks_java") {
  733. - aar_path = "libs/com_google_android_gms_play_services_tasks/play-services-tasks-17.0.0.aar"
  734. - info_path = "libs/com_google_android_gms_play_services_tasks/com_google_android_gms_play_services_tasks.info"
  735. - deps = [ ":google_play_services_basement_java" ]
  736. -
  737. - # Removing drawables from GMS .aars as they are unused bloat.
  738. - strip_drawables = true
  739. -}
  740. -
  741. # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  742. android_aar_prebuilt("com_google_android_material_material_java") {
  743. aar_path = "libs/com_google_android_material_material/material-1.0.0-rc02.aar"
  744. diff --git a/third_party/cacheinvalidation/BUILD.gn b/third_party/cacheinvalidation/BUILD.gn
  745. --- a/third_party/cacheinvalidation/BUILD.gn
  746. +++ b/third_party/cacheinvalidation/BUILD.gn
  747. @@ -133,7 +133,6 @@ if (is_android) {
  748. jacoco_never_instrument = true
  749. deps = [
  750. ":cacheinvalidation_proto_java",
  751. - "$google_play_services_package:google_play_services_tasks_java",
  752. "//base:base_java",
  753. "//third_party/android_protobuf:protobuf_nano_javalib",
  754. ]
  755. diff --git a/third_party/robolectric/BUILD.gn b/third_party/robolectric/BUILD.gn
  756. --- a/third_party/robolectric/BUILD.gn
  757. +++ b/third_party/robolectric/BUILD.gn
  758. @@ -1162,8 +1162,6 @@ java_library("shadows_play_services_java") {
  759. ":robolectric_shadowapi_java",
  760. ":robolectric_utils_java",
  761. ":shadows_core_java",
  762. - "$google_play_services_package:google_play_services_base_java",
  763. - "$google_play_services_package:google_play_services_basement_java",
  764. "//third_party/android_deps:android_support_v4_java",
  765. "//third_party/android_deps:com_android_support_support_annotations_java",
  766. "//third_party/android_deps:com_google_code_gson_gson_java",
  767. --
  768. 2.17.1