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

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