Remove-dependency-on-com.google.android.play.patch 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496
  1. From: Wengling Chen <feiyu2817@gmail.com>
  2. Date: Fri, 1 Nov 2019 23:01:41 +0100
  3. Subject: Remove dependency on com.google.android.play
  4. ---
  5. chrome/android/BUILD.gn | 1 -
  6. .../inline/FakeAppUpdateManagerWrapper.java | 60 +----
  7. .../inline/InlineUpdateControllerFactory.java | 16 --
  8. .../inline/PlayInlineUpdateController.java | 226 +-----------------
  9. components/module_installer/android/BUILD.gn | 1 -
  10. third_party/google_android_play_core/BUILD.gn | 5 -
  11. 6 files changed, 3 insertions(+), 306 deletions(-)
  12. diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
  13. --- a/chrome/android/BUILD.gn
  14. +++ b/chrome/android/BUILD.gn
  15. @@ -432,7 +432,6 @@ android_library("chrome_java") {
  16. "//third_party/cacheinvalidation:cacheinvalidation_javalib",
  17. "//third_party/cacheinvalidation:cacheinvalidation_proto_java",
  18. "//third_party/gif_player:gif_player_java",
  19. - "//third_party/google_android_play_core:com_google_android_play_core_java",
  20. "//third_party/jsr-305:jsr_305_javalib",
  21. "//ui/android:ui_java",
  22. "//ui/base/mojom:mojom_java",
  23. diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/FakeAppUpdateManagerWrapper.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/FakeAppUpdateManagerWrapper.java
  24. --- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/FakeAppUpdateManagerWrapper.java
  25. +++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/FakeAppUpdateManagerWrapper.java
  26. @@ -11,11 +11,6 @@ import android.os.Message;
  27. import androidx.annotation.IntDef;
  28. -import com.google.android.play.core.appupdate.AppUpdateInfo;
  29. -import com.google.android.play.core.appupdate.testing.FakeAppUpdateManager;
  30. -import com.google.android.play.core.install.model.AppUpdateType;
  31. -import com.google.android.play.core.tasks.Task;
  32. -
  33. import org.chromium.base.ContextUtils;
  34. import org.chromium.base.task.PostTask;
  35. import org.chromium.chrome.browser.ChromeActivity;
  36. @@ -31,7 +26,7 @@ import java.lang.ref.WeakReference;
  37. * wrapper isn't meant to be used for a full integration test, but simulating all of the possible
  38. * error cases is a bit easier to do here.
  39. */
  40. -public class FakeAppUpdateManagerWrapper extends FakeAppUpdateManager {
  41. +public class FakeAppUpdateManagerWrapper {
  42. private static final int RESULT_IN_APP_UPDATE_FAILED = 1;
  43. private static final int STEP_DELAY_MS = 5000;
  44. private static final int TOAST_DURATION_MS = 2000;
  45. @@ -108,15 +103,12 @@ public class FakeAppUpdateManagerWrapper extends FakeAppUpdateManager {
  46. switch (event) {
  47. case Event.UPDATE_AVAILABLE:
  48. w.toast("Making app update available.");
  49. - w.setUpdateAvailable(10000 /* Figure out a better version? */);
  50. return;
  51. case Event.USER_ACCEPTS_UPDATE:
  52. w.toast("User accepts update.");
  53. - w.userAcceptsUpdate();
  54. return;
  55. case Event.USER_REJECTS_UPDATE:
  56. w.toast("User rejects update.");
  57. - w.userRejectsUpdate();
  58. return;
  59. case Event.TRIGGER_DOWNLOAD:
  60. w.toast("Triggering download.");
  61. @@ -124,27 +116,21 @@ public class FakeAppUpdateManagerWrapper extends FakeAppUpdateManager {
  62. return;
  63. case Event.DOWNLOAD_STARTS:
  64. w.toast("Download has started.");
  65. - w.downloadStarts();
  66. return;
  67. case Event.DOWNLOAD_FAILS:
  68. w.toast("Triggering download failure.");
  69. - w.downloadFails();
  70. return;
  71. case Event.USER_CANCELS_DOWNLOAD:
  72. w.toast("Triggering cancellation of download.");
  73. - w.userCancelsDownload();
  74. return;
  75. case Event.DOWNLOAD_COMPLETES:
  76. w.toast("Download completes.");
  77. - w.downloadCompletes();
  78. return;
  79. case Event.INSTALL_FAILS:
  80. w.toast("Triggering install failure.");
  81. - w.installFails();
  82. return;
  83. case Event.INSTALL_COMPLETES:
  84. w.toast("Triggering install completion.");
  85. - w.installCompletes();
  86. return;
  87. default:
  88. w.toast("Unknown event.");
  89. @@ -159,56 +145,12 @@ public class FakeAppUpdateManagerWrapper extends FakeAppUpdateManager {
  90. * @param endState at which point should the inline update flow end.
  91. */
  92. FakeAppUpdateManagerWrapper(@Type int endState) {
  93. - super(ContextUtils.getApplicationContext());
  94. mType = endState;
  95. mEventHandler = new EventHandler(this);
  96. if (mType != Type.NONE) execute(Event.UPDATE_AVAILABLE);
  97. }
  98. - // FakeAppUpdateManager implementation.
  99. - @Override
  100. - public boolean startUpdateFlowForResult(AppUpdateInfo appUpdateInfo,
  101. - @AppUpdateType int appUpdateType, Activity activity, int requestCode) {
  102. - toast("Starting update flow.");
  103. - // TODO(dtrainor): Simulate exceptions being thrown or returning false from the super call.
  104. - boolean success =
  105. - super.startUpdateFlowForResult(appUpdateInfo, appUpdateType, activity, requestCode);
  106. - if (!success) return false;
  107. -
  108. - assert activity instanceof ChromeActivity : "Unexpected triggering activity.";
  109. -
  110. - final int resultCode;
  111. - if (mType == Type.FAIL_DIALOG_CANCEL) {
  112. - resultCode = Activity.RESULT_CANCELED;
  113. - } else if (mType == Type.FAIL_DIALOG_UPDATE_FAILED) {
  114. - resultCode = RESULT_IN_APP_UPDATE_FAILED;
  115. - } else {
  116. - resultCode = Activity.RESULT_OK;
  117. - }
  118. -
  119. - PostTask.postDelayedTask(UiThreadTaskTraits.DEFAULT, () -> {
  120. - triggerDialogResponse((ChromeActivity) activity, requestCode, resultCode);
  121. - }, STEP_DELAY_MS);
  122. -
  123. - return true;
  124. - }
  125. -
  126. - @Override
  127. - public Task<Void> completeUpdate() {
  128. - toast("Completing update.");
  129. - Task<Void> result = super.completeUpdate();
  130. -
  131. - if (mType == Type.FAIL_INSTALL) {
  132. - postDelayedEvent(Event.INSTALL_FAILS);
  133. - } else {
  134. - postDelayedEvent(Event.INSTALL_COMPLETES);
  135. - // This doesn't actually restart Chrome in this case.
  136. - }
  137. -
  138. - return result;
  139. - }
  140. -
  141. private void triggerDialogResponse(ChromeActivity activity, int requestCode, int resultCode) {
  142. if (resultCode == Activity.RESULT_OK) {
  143. execute(Event.USER_ACCEPTS_UPDATE);
  144. diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java
  145. --- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java
  146. +++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java
  147. @@ -4,8 +4,6 @@
  148. package org.chromium.chrome.browser.omaha.inline;
  149. -import com.google.android.play.core.appupdate.AppUpdateManagerFactory;
  150. -
  151. import org.chromium.base.ContextUtils;
  152. import org.chromium.chrome.browser.flags.ChromeFeatureList;
  153. import org.chromium.chrome.browser.omaha.UpdateConfigs;
  154. @@ -20,20 +18,6 @@ public class InlineUpdateControllerFactory {
  155. public static InlineUpdateController create(Runnable callback) {
  156. @FakeAppUpdateManagerWrapper.Type
  157. int mockInlineEndState = UpdateConfigs.getMockInlineScenarioEndState();
  158. - if (mockInlineEndState != FakeAppUpdateManagerWrapper.Type.NO_SIMULATION) {
  159. - // The config requires to run through a test controller, using the
  160. - // PlayInlineUpdateController, but with a fake Google Play backend that automatically
  161. - // goes through a scenario flow.
  162. - return new PlayInlineUpdateController(
  163. - callback, new FakeAppUpdateManagerWrapper(mockInlineEndState));
  164. - }
  165. -
  166. - if (ChromeFeatureList.isEnabled(ChromeFeatureList.INLINE_UPDATE_FLOW)) {
  167. - // The application configuration requires to use the real Google Play backend for inline
  168. - // updates.
  169. - return new PlayInlineUpdateController(
  170. - callback, AppUpdateManagerFactory.create(ContextUtils.getApplicationContext()));
  171. - }
  172. // No test scenario was in place, and the inline flow has not been enabled, so use a
  173. // controller with no functionality.
  174. diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/PlayInlineUpdateController.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/PlayInlineUpdateController.java
  175. --- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/PlayInlineUpdateController.java
  176. +++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/PlayInlineUpdateController.java
  177. @@ -10,15 +10,6 @@ import android.content.IntentSender.SendIntentException;
  178. import androidx.annotation.IntDef;
  179. import androidx.annotation.Nullable;
  180. -import com.google.android.play.core.appupdate.AppUpdateInfo;
  181. -import com.google.android.play.core.appupdate.AppUpdateManager;
  182. -import com.google.android.play.core.install.InstallState;
  183. -import com.google.android.play.core.install.InstallStateUpdatedListener;
  184. -import com.google.android.play.core.install.model.AppUpdateType;
  185. -import com.google.android.play.core.install.model.InstallErrorCode;
  186. -import com.google.android.play.core.install.model.InstallStatus;
  187. -import com.google.android.play.core.install.model.UpdateAvailability;
  188. -
  189. import org.chromium.base.Log;
  190. import org.chromium.base.metrics.RecordHistogram;
  191. import org.chromium.chrome.browser.omaha.UpdateStatusProvider.UpdateState;
  192. @@ -32,7 +23,7 @@ import java.lang.annotation.RetentionPolicy;
  193. * in the foreground.
  194. */
  195. public class PlayInlineUpdateController
  196. - implements InlineUpdateController, InstallStateUpdatedListener {
  197. + implements InlineUpdateController {
  198. /**
  199. * Converts Play's InstallErrorCode enum to a stable monotomically incrementing Chrome enum.
  200. * This is used for metric stability.
  201. @@ -127,26 +118,9 @@ public class PlayInlineUpdateController
  202. private static final int RESULT_IN_APP_UPDATE_FAILED = 1;
  203. private static final int REQUEST_CODE = 8123;
  204. - private final Runnable mCallback;
  205. - private final AppUpdateManager mAppUpdateManager;
  206. -
  207. private boolean mEnabled;
  208. private @Nullable @UpdateState Integer mUpdateState;
  209. - private AppUpdateInfo mAppUpdateInfo;
  210. - private @Nullable @UpdateAvailability Integer mUpdateAvailability;
  211. - private @Nullable @InstallStatus Integer mInstallStatus;
  212. -
  213. - /**
  214. - * Builds an instance of {@link PlayInlineUpdateController}.
  215. - * @param callback The {@link Runnable} to notify when an inline update state change occurs.
  216. - */
  217. - PlayInlineUpdateController(Runnable callback, AppUpdateManager appUpdateManager) {
  218. - mCallback = callback;
  219. - mAppUpdateManager = appUpdateManager;
  220. - setEnabled(true);
  221. - }
  222. -
  223. // InlineUpdateController implementation.
  224. @Override
  225. public void setEnabled(boolean enabled) {
  226. @@ -155,10 +129,8 @@ public class PlayInlineUpdateController
  227. if (mEnabled) {
  228. mUpdateState = UpdateState.NONE;
  229. - mAppUpdateManager.registerListener(this);
  230. pullCurrentState();
  231. } else {
  232. - mAppUpdateManager.unregisterListener(this);
  233. }
  234. }
  235. @@ -169,220 +141,26 @@ public class PlayInlineUpdateController
  236. @Override
  237. public void startUpdate(Activity activity) {
  238. - try {
  239. - boolean success = mAppUpdateManager.startUpdateFlowForResult(
  240. - mAppUpdateInfo, AppUpdateType.FLEXIBLE, activity, REQUEST_CODE);
  241. - Log.i(TAG, "startUpdateFlowForResult() returned " + success);
  242. -
  243. - if (!success) recordCallFailure(CallFailure.START_FAILED);
  244. - } catch (SendIntentException exception) {
  245. - mInstallStatus = InstallStatus.FAILED;
  246. - Log.i(TAG, "startUpdateFlowForResult() threw an exception.");
  247. - recordCallFailure(CallFailure.START_EXCEPTION);
  248. - }
  249. - // TODO(dtrainor): Use success.
  250. }
  251. @Override
  252. public void completeUpdate() {
  253. - mAppUpdateManager.completeUpdate()
  254. - .addOnSuccessListener(unused -> {
  255. - Log.i(TAG, "completeUpdate() success.");
  256. - pushStatus();
  257. - })
  258. - .addOnFailureListener(exception -> {
  259. - Log.i(TAG, "completeUpdate() failed.");
  260. - recordCallFailure(CallFailure.COMPLETE_FAILED);
  261. - mInstallStatus = InstallStatus.FAILED;
  262. - pushStatus();
  263. - });
  264. - }
  265. -
  266. - // InstallStateUpdatedListener implementation.
  267. - @Override
  268. - public void onStateUpdate(InstallState state) {
  269. - Log.i(TAG,
  270. - "onStateUpdate(" + state.installStatus() + ", " + state.installErrorCode() + ")");
  271. -
  272. - if (state.installStatus() != mInstallStatus) {
  273. - RecordHistogram.recordEnumeratedHistogram("GoogleUpdate.Inline.StateChange.Error."
  274. - + installStatusToEnumSuffix(state.installStatus()),
  275. - installErrorCodeToMetrics(state.installErrorCode()),
  276. - InstallErrorCodeMetrics.NUM_ENTRIES);
  277. - }
  278. -
  279. - mInstallStatus = state.installStatus();
  280. - pushStatus();
  281. }
  282. private void pullCurrentState() {
  283. - mAppUpdateManager.getAppUpdateInfo()
  284. - .addOnSuccessListener(info -> {
  285. - mAppUpdateInfo = info;
  286. - mUpdateAvailability = info.updateAvailability();
  287. - mInstallStatus = info.installStatus();
  288. - Log.i(TAG,
  289. - "pullCurrentState(" + mUpdateAvailability + ", " + mInstallStatus
  290. - + ") success.");
  291. - recordOnAppUpdateInfo(info);
  292. - pushStatus();
  293. - })
  294. - .addOnFailureListener(exception -> {
  295. - mAppUpdateInfo = null;
  296. - mUpdateAvailability = UpdateAvailability.UNKNOWN;
  297. - mInstallStatus = InstallStatus.UNKNOWN;
  298. - Log.i(TAG, "pullCurrentState() failed.");
  299. - recordCallFailure(CallFailure.QUERY_FAILED);
  300. - pushStatus();
  301. - });
  302. }
  303. private void pushStatus() {
  304. - if (!mEnabled || mUpdateAvailability == null || mInstallStatus == null) return;
  305. -
  306. - @UpdateState
  307. - int newState = toUpdateState(mUpdateAvailability, mInstallStatus);
  308. - if (mUpdateState != null && mUpdateState == newState) return;
  309. -
  310. - Log.i(TAG, "Pushing inline update state to " + newState);
  311. - mUpdateState = newState;
  312. - mCallback.run();
  313. }
  314. private static @UpdateState int toUpdateState(
  315. - @UpdateAvailability int updateAvailability, @InstallStatus int installStatus) {
  316. + int updateAvailability, int installStatus) {
  317. @UpdateState
  318. int newStatus = UpdateState.NONE;
  319. - // Note, use InstallStatus first then UpdateAvailability if InstallStatus doesn't indicate
  320. - // a currently active install.
  321. - switch (installStatus) {
  322. - case InstallStatus.PENDING:
  323. - // Intentional fall through.
  324. - case InstallStatus.DOWNLOADING:
  325. - newStatus = UpdateState.INLINE_UPDATE_DOWNLOADING;
  326. - break;
  327. - case InstallStatus.DOWNLOADED:
  328. - newStatus = UpdateState.INLINE_UPDATE_READY;
  329. - break;
  330. - case InstallStatus.FAILED:
  331. - newStatus = UpdateState.INLINE_UPDATE_FAILED;
  332. - break;
  333. - }
  334. -
  335. - if (newStatus == UpdateState.NONE) {
  336. - switch (updateAvailability) {
  337. - case UpdateAvailability.UPDATE_AVAILABLE:
  338. - newStatus = UpdateState.INLINE_UPDATE_AVAILABLE;
  339. - break;
  340. - }
  341. - }
  342. -
  343. return newStatus;
  344. }
  345. - private static String installStatusToEnumSuffix(@InstallStatus int status) {
  346. - switch (status) {
  347. - case InstallStatus.UNKNOWN:
  348. - return "Unknown";
  349. - case InstallStatus.REQUIRES_UI_INTENT:
  350. - return "RequiresUiIntent";
  351. - case InstallStatus.PENDING:
  352. - return "Pending";
  353. - case InstallStatus.DOWNLOADING:
  354. - return "Downloading";
  355. - case InstallStatus.DOWNLOADED:
  356. - return "Downloaded";
  357. - case InstallStatus.INSTALLING:
  358. - return "Installing";
  359. - case InstallStatus.INSTALLED:
  360. - return "Installed";
  361. - case InstallStatus.FAILED:
  362. - return "Failed";
  363. - case InstallStatus.CANCELED:
  364. - return "Canceled";
  365. - default:
  366. - return "Untracked";
  367. - }
  368. - }
  369. -
  370. - private static @InstallErrorCodeMetrics int installErrorCodeToMetrics(
  371. - @InstallErrorCode int error) {
  372. - switch (error) {
  373. - case InstallErrorCode.NO_ERROR:
  374. - return InstallErrorCodeMetrics.NO_ERROR;
  375. - case InstallErrorCode.NO_ERROR_PARTIALLY_ALLOWED:
  376. - return InstallErrorCodeMetrics.NO_ERROR_PARTIALLY_ALLOWED;
  377. - case InstallErrorCode.ERROR_UNKNOWN:
  378. - return InstallErrorCodeMetrics.ERROR_UNKNOWN;
  379. - case InstallErrorCode.ERROR_API_NOT_AVAILABLE:
  380. - return InstallErrorCodeMetrics.ERROR_API_NOT_AVAILABLE;
  381. - case InstallErrorCode.ERROR_INVALID_REQUEST:
  382. - return InstallErrorCodeMetrics.ERROR_INVALID_REQUEST;
  383. - case InstallErrorCode.ERROR_INSTALL_UNAVAILABLE:
  384. - return InstallErrorCodeMetrics.ERROR_INSTALL_UNAVAILABLE;
  385. - case InstallErrorCode.ERROR_INSTALL_NOT_ALLOWED:
  386. - return InstallErrorCodeMetrics.ERROR_INSTALL_NOT_ALLOWED;
  387. - case InstallErrorCode.ERROR_DOWNLOAD_NOT_PRESENT:
  388. - return InstallErrorCodeMetrics.ERROR_DOWNLOAD_NOT_PRESENT;
  389. - case InstallErrorCode.ERROR_INTERNAL_ERROR:
  390. - return InstallErrorCodeMetrics.ERROR_INTERNAL_ERROR;
  391. - default:
  392. - return InstallErrorCodeMetrics.ERROR_UNTRACKED;
  393. - }
  394. - }
  395. -
  396. - private static @UpdateAvailabilityMetric int updateAvailabilityToMetrics(
  397. - @UpdateAvailability int updateAvailability) {
  398. - switch (updateAvailability) {
  399. - case UpdateAvailability.UNKNOWN:
  400. - return UpdateAvailabilityMetric.UNKNOWN;
  401. - case UpdateAvailability.UPDATE_NOT_AVAILABLE:
  402. - return UpdateAvailabilityMetric.UPDATE_NOT_AVAILABLE;
  403. - case UpdateAvailability.UPDATE_AVAILABLE:
  404. - return UpdateAvailabilityMetric.UPDATE_AVAILABLE;
  405. - case UpdateAvailability.DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS:
  406. - return UpdateAvailabilityMetric.DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS;
  407. - default:
  408. - return UpdateAvailabilityMetric.UNTRACKED;
  409. - }
  410. - }
  411. -
  412. - private static @InstallStatusMetric int installStatusToMetrics(
  413. - @InstallStatus int installStatus) {
  414. - switch (installStatus) {
  415. - case InstallStatus.UNKNOWN:
  416. - return InstallStatusMetric.UNKNOWN;
  417. - case InstallStatus.REQUIRES_UI_INTENT:
  418. - return InstallStatusMetric.REQUIRES_UI_INTENT;
  419. - case InstallStatus.PENDING:
  420. - return InstallStatusMetric.PENDING;
  421. - case InstallStatus.DOWNLOADING:
  422. - return InstallStatusMetric.DOWNLOADING;
  423. - case InstallStatus.DOWNLOADED:
  424. - return InstallStatusMetric.DOWNLOADED;
  425. - case InstallStatus.INSTALLING:
  426. - return InstallStatusMetric.INSTALLING;
  427. - case InstallStatus.INSTALLED:
  428. - return InstallStatusMetric.INSTALLED;
  429. - case InstallStatus.FAILED:
  430. - return InstallStatusMetric.FAILED;
  431. - case InstallStatus.CANCELED:
  432. - return InstallStatusMetric.CANCELED;
  433. - default:
  434. - return InstallStatusMetric.UNTRACKED;
  435. - }
  436. - }
  437. -
  438. - private static void recordOnAppUpdateInfo(AppUpdateInfo info) {
  439. - RecordHistogram.recordEnumeratedHistogram(
  440. - "GoogleUpdate.Inline.AppUpdateInfo.UpdateAvailability",
  441. - updateAvailabilityToMetrics(info.updateAvailability()),
  442. - UpdateAvailabilityMetric.NUM_ENTRIES);
  443. - RecordHistogram.recordEnumeratedHistogram("GoogleUpdate.Inline.AppUpdateInfo.InstallStatus",
  444. - installStatusToMetrics(info.installStatus()), InstallStatusMetric.NUM_ENTRIES);
  445. - }
  446. -
  447. private static void recordCallFailure(@CallFailure int failure) {
  448. RecordHistogram.recordEnumeratedHistogram(
  449. "GoogleUpdate.Inline.CallFailure", failure, CallFailure.NUM_ENTRIES);
  450. diff --git a/components/module_installer/android/BUILD.gn b/components/module_installer/android/BUILD.gn
  451. --- a/components/module_installer/android/BUILD.gn
  452. +++ b/components/module_installer/android/BUILD.gn
  453. @@ -35,7 +35,6 @@ android_library("module_installer_java") {
  454. "//base:base_java",
  455. "//base:jni_java",
  456. "//components/crash/android:java",
  457. - "//third_party/google_android_play_core:com_google_android_play_core_java",
  458. ]
  459. annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
  460. diff --git a/third_party/google_android_play_core/BUILD.gn b/third_party/google_android_play_core/BUILD.gn
  461. --- a/third_party/google_android_play_core/BUILD.gn
  462. +++ b/third_party/google_android_play_core/BUILD.gn
  463. @@ -3,8 +3,3 @@
  464. # found in the LICENSE file.
  465. import("//build/config/android/rules.gni")
  466. -
  467. -android_aar_prebuilt("com_google_android_play_core_java") {
  468. - aar_path = "core-1.6.4.aar"
  469. - info_path = "com_google_android_play_core.info"
  470. -}
  471. --
  472. 2.17.1