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

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