Remove-binary-blob-integrations.patch 193 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182
  1. From: csagan5 <32685696+csagan5@users.noreply.github.com>
  2. Date: Mon, 5 Apr 2021 21:37:12 +0200
  3. Subject: Remove binary blob integrations
  4. Remove dependency on com.google.android.gms.auth
  5. kill GCM
  6. Remove dependency on com.google.android.gcm
  7. Remove dependency on com.google.android.gms.gcm
  8. It also disables Snippets, auto-update of offline pages and launching browser from background service.
  9. The snippets are already disabled in native codes, this will disable it on Java level.
  10. Remove dependency on com.google.android.play
  11. Remove dependency on vision, clearcut and phenotype
  12. Remove dependency on flags, places and stats
  13. Remove dependency on fido, iid, instantapps, location
  14. Remove dependency on com.google.android.gms.cast
  15. Remove dependency on auth, signin, dynamic and tasks
  16. Remove google_services_gcm
  17. ungoogled-chromium: Disable GCM
  18. Disable Google Cloud Messaging (GCM) client
  19. Disable web authentication phone support
  20. Parts of this patch were developed by csagan5, uazo and others.
  21. License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
  22. ---
  23. ...em_webview_bundle.AndroidManifest.expected | 5 -
  24. chrome/android/BUILD.gn | 45 +-
  25. chrome/android/chrome_java_sources.gni | 5 -
  26. .../features/cablev2_authenticator/BUILD.gn | 2 -
  27. chrome/android/java/AndroidManifest.xml | 68 ---
  28. .../java/res/xml/privacy_preferences.xml | 5 -
  29. .../org/chromium/chrome/browser/AppHooks.java | 14 +-
  30. .../browser/PlayServicesVersionInfo.java | 12 +-
  31. .../ChromeBackgroundTaskFactory.java | 3 -
  32. .../ExternalNavigationDelegateImpl.java | 8 +-
  33. .../gcore/ChromeGoogleApiClientImpl.java | 25 +-
  34. .../browser/gcore/GoogleApiClientHelper.java | 82 +--
  35. .../instantapps/InstantAppsHandler.java | 57 +-
  36. .../browser/omaha/UpdateStatusProvider.java | 10 +-
  37. .../settings/PasswordSettings.java | 9 -
  38. .../modules/chrome_feature_modules.gni | 3 -
  39. chrome/browser/BUILD.gn | 2 -
  40. chrome/browser/language/android/BUILD.gn | 2 -
  41. .../language/AppLanguagePromoDialog.java | 23 -
  42. .../AppLanguagePreferenceDelegate.java | 8 -
  43. .../language/settings/LanguageSettings.java | 6 -
  44. .../prefetch/prefetch_service_factory.cc | 16 -
  45. .../browser/password_manager/android/BUILD.gn | 2 -
  46. .../PasswordManagerAndroidBackendUtil.java | 31 +-
  47. .../PasswordSettingsUpdaterBridge.java | 11 -
  48. ...swordSyncControllerDelegateBridgeImpl.java | 7 -
  49. .../push_messaging_service_factory.cc | 8 +-
  50. chrome/browser/resources/settings/route.ts | 2 -
  51. chrome/browser/ui/BUILD.gn | 3 -
  52. .../webauthn/authenticator_qr_sheet_view.cc | 2 +-
  53. chrome/browser/ui/webauthn/sheet_models.cc | 7 +-
  54. .../webui/chrome_web_ui_controller_factory.cc | 3 -
  55. .../authenticator_request_dialog_model.cc | 4 -
  56. chrome/browser/webauthn/cablev2_devices.cc | 3 +
  57. chrome/test/android/BUILD.gn | 2 -
  58. components/background_task_scheduler/BUILD.gn | 5 -
  59. .../internal/BUILD.gn | 10 -
  60. ...ackgroundTaskSchedulerFactoryInternal.java | 6 +-
  61. .../component_updater/UpdateScheduler.java | 1 -
  62. components/externalauth/android/BUILD.gn | 3 -
  63. .../externalauth/ExternalAuthUtils.java | 19 +-
  64. .../UserRecoverableErrorHandler.java | 7 -
  65. .../gcm_driver/GoogleCloudMessagingV2.java | 2 +
  66. components/gcm_driver/gcm_client_impl.cc | 4 +
  67. .../gcm_driver/instance_id/android/BUILD.gn | 3 -
  68. .../instance_id/InstanceIDBridge.java | 47 +-
  69. .../media_router/browser/android/BUILD.gn | 9 -
  70. .../media_router/BrowserMediaRouter.java | 18 +-
  71. .../media_router/CastSessionUtil.java | 35 --
  72. .../components/media_router/MediaSink.java | 44 +-
  73. .../media_router/MediaStatusBridge.java | 40 +-
  74. .../caf/BaseNotificationController.java | 52 --
  75. .../caf/BaseSessionController.java | 100 +---
  76. .../caf/CafBaseMediaRouteProvider.java | 114 +---
  77. .../caf/CafMediaRouteProvider.java | 16 -
  78. .../media_router/caf/CafMessageHandler.java | 97 +---
  79. .../media_router/caf/CastMediaSource.java | 10 +-
  80. .../media_router/caf/CastOptionsProvider.java | 22 +-
  81. .../caf/CastSessionController.java | 84 ---
  82. .../media_router/caf/CastUtils.java | 8 -
  83. .../CafExpandedControllerActivity.java | 41 +-
  84. .../CafRemotingMediaRouteProvider.java | 5 +-
  85. .../remoting/FlingingControllerAdapter.java | 74 ---
  86. .../caf/remoting/RemotingMediaSource.java | 8 +-
  87. .../remoting/RemotingSessionController.java | 26 -
  88. .../test/android/cast_emulator/BUILD.gn | 1 -
  89. components/module_installer/android/BUILD.gn | 2 -
  90. components/signin/public/android/BUILD.gn | 3 -
  91. .../signin/AccountRenameChecker.java | 16 -
  92. components/webauthn/android/BUILD.gn | 10 -
  93. .../webauthn/AuthenticatorImpl.java | 30 -
  94. .../webauthn/Fido2ApiCallHelper.java | 23 +-
  95. .../push_messaging/push_messaging_manager.cc | 2 +-
  96. content/public/android/BUILD.gn | 4 -
  97. content/public/common/content_features.cc | 4 +-
  98. content/test/BUILD.gn | 4 -
  99. device/BUILD.gn | 3 -
  100. remoting/android/client_java_tmpl.gni | 3 -
  101. services/BUILD.gn | 9 -
  102. services/device/geolocation/BUILD.gn | 3 -
  103. services/shape_detection/BUILD.gn | 4 -
  104. third_party/android_deps/BUILD.gn | 540 +-----------------
  105. .../preconditions/javatests/BUILD.gn | 1 -
  106. .../gms/ChromiumPlayServicesAvailability.java | 10 +-
  107. 84 files changed, 83 insertions(+), 1994 deletions(-)
  108. diff --git a/android_webview/expectations/system_webview_bundle.AndroidManifest.expected b/android_webview/expectations/system_webview_bundle.AndroidManifest.expected
  109. --- a/android_webview/expectations/system_webview_bundle.AndroidManifest.expected
  110. +++ b/android_webview/expectations/system_webview_bundle.AndroidManifest.expected
  111. @@ -19,10 +19,6 @@
  112. android:label="Android System WebView"
  113. android:multiArch="true"
  114. android:use32bitAbi="true">
  115. - <activity # DIFF-ANCHOR: ea1a94af
  116. - android:name="com.google.android.gms.common.api.GoogleApiActivity"
  117. - android:exported="false"
  118. - android:theme="@android:style/Theme.Translucent.NoTitleBar">
  119. </activity> # DIFF-ANCHOR: ea1a94af
  120. <activity # DIFF-ANCHOR: a4438884
  121. android:name="org.chromium.android_webview.devui.MainActivity"
  122. @@ -66,7 +62,6 @@
  123. android:visibleToInstantApps="true">
  124. </activity-alias> # DIFF-ANCHOR: b7cc06e9
  125. <meta-data android:name="$PACKAGE.WebViewLibrary" android:value="libwebviewchromium.so"/>
  126. - <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
  127. <meta-data android:name="org.chromium.content.browser.NUM_PRIVILEGED_SERVICES" android:value="0"/>
  128. <meta-data android:name="org.chromium.content.browser.NUM_SANDBOXED_SERVICES" android:value="40"/>
  129. <provider # DIFF-ANCHOR: a5e78e63
  130. diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
  131. --- a/chrome/android/BUILD.gn
  132. +++ b/chrome/android/BUILD.gn
  133. @@ -325,14 +325,6 @@ android_library("chrome_java") {
  134. ":chrome_public_apk_template_resources",
  135. ":update_proto_java",
  136. ":usage_stats_proto_java",
  137. - "$google_play_services_package:google_play_services_auth_base_java",
  138. - "$google_play_services_package:google_play_services_base_java",
  139. - "$google_play_services_package:google_play_services_basement_java",
  140. - "$google_play_services_package:google_play_services_cast_framework_java",
  141. - "$google_play_services_package:google_play_services_cast_java",
  142. - "$google_play_services_package:google_play_services_gcm_java",
  143. - "$google_play_services_package:google_play_services_iid_java",
  144. - "$google_play_services_package:google_play_services_tasks_java",
  145. "//cc:cc_java",
  146. "//chrome/android/features/keyboard_accessory:public_java",
  147. "//chrome/android/features/start_surface:java_resources",
  148. @@ -605,8 +597,19 @@ android_library("chrome_java") {
  149. "//services/shape_detection:shape_detection_java",
  150. "//services/shape_detection/public/mojom:mojom_java",
  151. "//skia/public/mojom:mojom_java",
  152. + # added for Bromite in place of binary blobs
  153. + "//third_party/androidx:androidx_annotation_annotation_java",
  154. + "//third_party/androidx:androidx_lifecycle_lifecycle_common_java",
  155. + "//third_party/androidx:androidx_appcompat_appcompat_java",
  156. + "//third_party/androidx:androidx_fragment_fragment_java",
  157. + "//third_party/androidx:androidx_core_core_java",
  158. + "//third_party/androidx:androidx_media_media_java",
  159. + "//third_party/androidx:androidx_recyclerview_recyclerview_java",
  160. + "//third_party/androidx:androidx_vectordrawable_vectordrawable_java",
  161. + "//base:base_java",
  162. + "//base:jni_java",
  163. +
  164. "//third_party/android_deps:chromium_play_services_availability_java",
  165. - "//third_party/android_deps:com_google_android_play_core_java",
  166. "//third_party/android_deps:com_google_code_findbugs_jsr305_java",
  167. "//third_party/android_deps:com_google_guava_listenablefuture_java",
  168. "//third_party/android_deps:dagger_java",
  169. @@ -935,10 +938,6 @@ junit_binary("chrome_junit_tests") {
  170. ":chrome_jni_headers",
  171. ":chrome_public_android_manifest",
  172. ":delegate_public_impl_java",
  173. - "$google_play_services_package:google_play_services_base_java",
  174. - "$google_play_services_package:google_play_services_basement_java",
  175. - "$google_play_services_package:google_play_services_cast_framework_java",
  176. - "$google_play_services_package:google_play_services_cast_java",
  177. "//base:base_java_test_support",
  178. "//base:base_junit_test_support",
  179. "//base/test:test_support_java",
  180. @@ -1337,13 +1336,6 @@ android_library("chrome_test_java") {
  181. ":chrome_test_util_java",
  182. ":chrome_test_util_jni",
  183. ":delegate_public_impl_java",
  184. - "$google_play_services_package:google_play_services_base_java",
  185. - "$google_play_services_package:google_play_services_basement_java",
  186. - "$google_play_services_package:google_play_services_cast_framework_java",
  187. - "$google_play_services_package:google_play_services_cast_java",
  188. - "$google_play_services_package:google_play_services_gcm_java",
  189. - "$google_play_services_package:google_play_services_iid_java",
  190. - "$google_play_services_package:google_play_services_tasks_java",
  191. "//base:base_java_test_support",
  192. "//base/test:test_support_java",
  193. "//build/android:build_java",
  194. @@ -2405,7 +2397,6 @@ android_library("browser_java_test_support") {
  195. ]
  196. deps = [
  197. ":chrome_java",
  198. - "$google_play_services_package:google_play_services_gcm_java",
  199. "//base:base_java",
  200. "//base:base_java_test_support",
  201. "//base:jni_java",
  202. @@ -2555,9 +2546,7 @@ android_library("base_monochrome_module_java") {
  203. # is in a DFM.
  204. android_library("base_module_java") {
  205. sources = [
  206. - "java/src/com/google/ipc/invalidation/ticl/android2/channel/GcmRegistrationTaskService.java",
  207. "java/src/org/chromium/chrome/app/TrichromeZygotePreload.java",
  208. - "java/src/org/chromium/chrome/browser/ChromeBackgroundService.java",
  209. "java/src/org/chromium/chrome/browser/ChromeBackupAgent.java",
  210. "java/src/org/chromium/chrome/browser/DeferredStartupHandler.java",
  211. "java/src/org/chromium/chrome/browser/app/bluetooth/BluetoothNotificationService.java",
  212. @@ -2569,8 +2558,6 @@ android_library("base_module_java") {
  213. "java/src/org/chromium/chrome/browser/base/SplitCompatBackupAgent.java",
  214. "java/src/org/chromium/chrome/browser/base/SplitCompatContentProvider.java",
  215. "java/src/org/chromium/chrome/browser/base/SplitCompatCustomTabsService.java",
  216. - "java/src/org/chromium/chrome/browser/base/SplitCompatGcmListenerService.java",
  217. - "java/src/org/chromium/chrome/browser/base/SplitCompatGcmTaskService.java",
  218. "java/src/org/chromium/chrome/browser/base/SplitCompatIntentService.java",
  219. "java/src/org/chromium/chrome/browser/base/SplitCompatJobService.java",
  220. "java/src/org/chromium/chrome/browser/base/SplitCompatMinidumpUploadJobService.java",
  221. @@ -2595,17 +2582,11 @@ android_library("base_module_java") {
  222. "java/src/org/chromium/chrome/browser/photo_picker/DecoderService.java",
  223. "java/src/org/chromium/chrome/browser/prerender/ChromePrerenderService.java",
  224. "java/src/org/chromium/chrome/browser/provider/ChromeBrowserProvider.java",
  225. - "java/src/org/chromium/chrome/browser/services/gcm/ChromeGcmListenerService.java",
  226. - "java/src/org/chromium/chrome/browser/services/gcm/GCMBackgroundService.java",
  227. - "java/src/org/chromium/chrome/browser/services/gcm/InvalidationGcmUpstreamSender.java",
  228. "java/src/org/chromium/chrome/browser/tracing/TracingNotificationService.java",
  229. "java/src/org/chromium/chrome/browser/webapps/WebApkInstallCoordinatorService.java",
  230. ]
  231. deps = [
  232. ":chrome_base_module_resources",
  233. - "$google_play_services_package:google_firebase_firebase_iid_java",
  234. - "$google_play_services_package:google_firebase_firebase_messaging_java",
  235. - "$google_play_services_package:google_play_services_gcm_java",
  236. "//base:base_java",
  237. "//base:jni_java",
  238. "//build/android:build_java",
  239. @@ -2620,7 +2601,6 @@ android_library("base_module_java") {
  240. "//components/media_router/browser/android:cast_options_provider_java",
  241. "//components/minidump_uploader:minidump_uploader_java",
  242. "//components/module_installer/android:module_installer_java",
  243. - "//third_party/android_deps:com_google_android_play_core_java",
  244. "//third_party/androidx:androidx_annotation_annotation_java",
  245. "//third_party/androidx:androidx_collection_collection_java",
  246. "//ui/android:ui_no_recycler_view_java",
  247. @@ -2640,7 +2620,6 @@ android_library("base_module_java") {
  248. # Deps to pull services into base module.
  249. # TODO(crbug.com/1126301): Consider moving these to the chrome module to
  250. # reduce base dex size.
  251. - "$google_play_services_package:google_play_services_cast_framework_java",
  252. "//components/background_task_scheduler:background_task_scheduler_java",
  253. "//components/payments/content/android:service_java",
  254. "//third_party/androidx:androidx_browser_browser_java",
  255. diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
  256. --- a/chrome/android/chrome_java_sources.gni
  257. +++ b/chrome/android/chrome_java_sources.gni
  258. @@ -16,7 +16,6 @@ chrome_java_sources = [
  259. "java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java",
  260. "java/src/org/chromium/chrome/browser/ChromeActivitySessionTracker.java",
  261. "java/src/org/chromium/chrome/browser/ChromeApplicationImpl.java",
  262. - "java/src/org/chromium/chrome/browser/ChromeBackgroundServiceImpl.java",
  263. "java/src/org/chromium/chrome/browser/ChromeBackupAgentImpl.java",
  264. "java/src/org/chromium/chrome/browser/ChromeBackupWatcher.java",
  265. "java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java",
  266. @@ -936,10 +935,6 @@ chrome_java_sources = [
  267. "java/src/org/chromium/chrome/browser/searchwidget/SearchBoxDataProvider.java",
  268. "java/src/org/chromium/chrome/browser/searchwidget/SearchType.java",
  269. "java/src/org/chromium/chrome/browser/searchwidget/SearchWidgetProvider.java",
  270. - "java/src/org/chromium/chrome/browser/services/gcm/ChromeGcmListenerServiceImpl.java",
  271. - "java/src/org/chromium/chrome/browser/services/gcm/GCMBackgroundServiceImpl.java",
  272. - "java/src/org/chromium/chrome/browser/services/gcm/GCMBackgroundTask.java",
  273. - "java/src/org/chromium/chrome/browser/services/gcm/GcmUma.java",
  274. "java/src/org/chromium/chrome/browser/settings/MainSettings.java",
  275. "java/src/org/chromium/chrome/browser/settings/SettingsActivity.java",
  276. "java/src/org/chromium/chrome/browser/settings/SettingsLauncherImpl.java",
  277. diff --git a/chrome/android/features/cablev2_authenticator/BUILD.gn b/chrome/android/features/cablev2_authenticator/BUILD.gn
  278. --- a/chrome/android/features/cablev2_authenticator/BUILD.gn
  279. +++ b/chrome/android/features/cablev2_authenticator/BUILD.gn
  280. @@ -16,8 +16,6 @@ android_library("java") {
  281. deps = [
  282. ":java_resources",
  283. ":logging_java",
  284. - "$google_play_services_package:google_play_services_base_java",
  285. - "$google_play_services_package:google_play_services_tasks_java",
  286. "//base:base_java",
  287. "//base:jni_java",
  288. "//build/android:build_java",
  289. diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
  290. --- a/chrome/android/java/AndroidManifest.xml
  291. +++ b/chrome/android/java/AndroidManifest.xml
  292. @@ -103,21 +103,16 @@ by a child template that "extends" this file.
  293. <permission android:name="{{ manifest_package }}.permission.CHILD_SERVICE" android:protectionLevel="signature" />
  294. <permission android:name="{{ manifest_package }}.permission.READ_WRITE_BOOKMARK_FOLDERS" android:protectionLevel="signatureOrSystem" />
  295. <permission android:name="{{ manifest_package }}.TOS_ACKED" android:protectionLevel="signatureOrSystem" />
  296. - <!-- Only chrome can receive the messages and registration result -->
  297. - <permission android:name="{{ manifest_package }}.permission.C2D_MESSAGE"
  298. - android:protectionLevel="signature" />
  299. <permission android:name="{{ manifest_package }}.permission.DEBUG"
  300. android:label="Debug web pages"
  301. android:protectionLevel="signature" />
  302. <permission android:name="{{ manifest_package }}.permission.TRANSLATE"
  303. android:protectionLevel="signature" />
  304. - <uses-permission android:name="{{ manifest_package }}.permission.C2D_MESSAGE" />
  305. <uses-permission android:name="{{ manifest_package }}.permission.READ_WRITE_BOOKMARK_FOLDERS" />
  306. <uses-permission android:name="{{ manifest_package }}.TOS_ACKED" />
  307. <uses-permission android:name="com.chrome.permission.DEVICE_EXTRAS" />
  308. - <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
  309. <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
  310. {% block extra_uses_permissions %}
  311. @@ -744,16 +739,6 @@ by a child template that "extends" this file.
  312. </intent-filter>
  313. </activity>
  314. - <activity android:name="org.chromium.components.media_router.caf.remoting.CafExpandedControllerActivity"
  315. - android:theme="@style/Theme.Chromium.Activity"
  316. - android:label="Chrome.CafExpandedControllerActivity"
  317. - android:hardwareAccelerated="true"
  318. - android:launchMode="singleTask"
  319. - android:noHistory="true"
  320. - android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
  321. - android:excludeFromRecents="true">
  322. - </activity>
  323. -
  324. <!-- This activity is used to restart the main Chrome process. Should never be exported. -->
  325. <activity android:name="org.chromium.chrome.browser.BrowserRestartActivity"
  326. android:launchMode="singleInstance"
  327. @@ -780,15 +765,6 @@ by a child template that "extends" this file.
  328. </intent-filter>
  329. </activity>
  330. - <!-- Activity for dispatching intents to Instant Apps. -->
  331. - <activity
  332. - android:name="org.chromium.chrome.browser.instantapps.AuthenticatedProxyActivity"
  333. - android:exported="false"
  334. - android:theme="@style/Theme.BrowserUI.NoDisplay"
  335. - android:noHistory="true"
  336. - android:excludeFromRecents="true">
  337. - </activity>
  338. -
  339. <activity
  340. android:name="org.chromium.chrome.browser.vr.VrCancelAnimationActivity"
  341. android:exported="false"
  342. @@ -967,26 +943,6 @@ by a child template that "extends" this file.
  343. android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
  344. android:hardwareAccelerated="false" />
  345. - <!-- GcmTaskService for registration for Invalidations. Not actually implemented anymore. -->
  346. - <service android:name="com.google.ipc.invalidation.ticl.android2.channel.GcmRegistrationTaskService"
  347. - android:exported="true"
  348. - android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE" >
  349. - <intent-filter>
  350. - <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY"/>
  351. - </intent-filter>
  352. - </service>
  353. - <!-- GcmListenerService for messages from GCM. -->
  354. - <service android:name="org.chromium.chrome.browser.services.gcm.ChromeGcmListenerService"
  355. - android:exported="false" >
  356. - <intent-filter>
  357. - <action android:name="com.google.firebase.MESSAGING_EVENT" />
  358. - </intent-filter>
  359. - </service>
  360. - <service android:name="org.chromium.chrome.browser.services.gcm.GCMBackgroundService"
  361. - android:exported="false"/>
  362. - <service android:name="org.chromium.chrome.browser.services.gcm.InvalidationGcmUpstreamSender"
  363. - android:exported="false"/>
  364. -
  365. <!-- Android Notification service listener -->
  366. <service android:name="org.chromium.chrome.browser.notifications.NotificationService"
  367. android:exported="false"/>
  368. @@ -1018,28 +974,10 @@ by a child template that "extends" this file.
  369. android:exported="false"
  370. android:permission="android.permission.BIND_JOB_SERVICE"/>
  371. - <!-- Background Task Scheduler GCM task service -->
  372. - <service android:name="org.chromium.components.background_task_scheduler.internal.BackgroundTaskGcmTaskService"
  373. - android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE"
  374. - android:exported="true">
  375. - <intent-filter>
  376. - <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY" />
  377. - </intent-filter>
  378. - </service>
  379. -
  380. <!-- Background Task Scheduler alarm receiver -->
  381. <receiver android:name="org.chromium.components.background_task_scheduler.internal.BackgroundTaskBroadcastReceiver"
  382. android:exported="false" />
  383. - <!-- GcmTaskService implementation to wake Chrome on scheduled events -->
  384. - <service android:name="org.chromium.chrome.browser.ChromeBackgroundService"
  385. - android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE"
  386. - android:exported="true">
  387. - <intent-filter>
  388. - <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY" />
  389. - </intent-filter>
  390. - </service>
  391. -
  392. <service android:name="org.chromium.chrome.browser.prerender.ChromePrerenderService"
  393. android:exported="true"
  394. tools:ignore="ExportedService" />
  395. @@ -1271,12 +1209,6 @@ by a child template that "extends" this file.
  396. <meta-data android:name="com.google.ar.core" android:value="optional" />
  397. {% endif %}
  398. - <!-- Cast support -->
  399. - <meta-data
  400. - android:name=
  401. - "com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
  402. - android:value="org.chromium.components.media_router.caf.CastOptionsProvider"/>
  403. -
  404. <!-- These providers are declared in the base module to give the chrome
  405. split preloader more time to work. -->
  406. <provider android:name="org.chromium.chrome.browser.util.ChromeFileProvider"
  407. diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
  408. --- a/chrome/android/java/res/xml/privacy_preferences.xml
  409. +++ b/chrome/android/java/res/xml/privacy_preferences.xml
  410. @@ -80,9 +80,4 @@
  411. android:summary="@string/autocomplete_searches_and_urls_summary"
  412. android:persistent="false"/>
  413. </PreferenceCategory>
  414. - <Preference
  415. - android:key="phone_as_a_security_key"
  416. - android:title="@string/cablev2_paask_title"
  417. - android:summary="@string/cablev2_paask_body"
  418. - android:fragment="org.chromium.chrome.browser.webauthn.PrivacySettingsFragment"/>
  419. </PreferenceScreen>
  420. diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java b/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
  421. --- a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
  422. +++ b/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
  423. @@ -10,9 +10,6 @@ import android.content.pm.PackageManager;
  424. import androidx.annotation.Nullable;
  425. import androidx.annotation.VisibleForTesting;
  426. -import com.google.android.gms.common.ConnectionResult;
  427. -import com.google.android.gms.common.GoogleApiAvailability;
  428. -
  429. import org.chromium.base.ContextUtils;
  430. import org.chromium.base.annotations.CalledByNative;
  431. import org.chromium.chrome.browser.customtabs.CustomTabsConnection;
  432. @@ -240,16 +237,7 @@ public abstract class AppHooks {
  433. * same as {@link GoogleApiAvailability#isGooglePlayServicesAvailable()}.
  434. */
  435. public int isGoogleApiAvailableWithMinApkVersion(int minApkVersion) {
  436. - try {
  437. - PackageInfo gmsPackageInfo =
  438. - ContextUtils.getApplicationContext().getPackageManager().getPackageInfo(
  439. - GoogleApiAvailability.GOOGLE_PLAY_SERVICES_PACKAGE, /* flags= */ 0);
  440. - int apkVersion = gmsPackageInfo.versionCode;
  441. - if (apkVersion >= minApkVersion) return ConnectionResult.SUCCESS;
  442. - } catch (PackageManager.NameNotFoundException e) {
  443. - return ConnectionResult.SERVICE_MISSING;
  444. - }
  445. - return ConnectionResult.SERVICE_VERSION_UPDATE_REQUIRED;
  446. + return 1; /* SERVICE_MISSING*/
  447. }
  448. /**
  449. diff --git a/chrome/android/java/src/org/chromium/chrome/browser/PlayServicesVersionInfo.java b/chrome/android/java/src/org/chromium/chrome/browser/PlayServicesVersionInfo.java
  450. --- a/chrome/android/java/src/org/chromium/chrome/browser/PlayServicesVersionInfo.java
  451. +++ b/chrome/android/java/src/org/chromium/chrome/browser/PlayServicesVersionInfo.java
  452. @@ -7,8 +7,6 @@ package org.chromium.chrome.browser;
  453. import android.content.Context;
  454. import android.content.pm.PackageManager;
  455. -import com.google.android.gms.common.GoogleApiAvailability;
  456. -
  457. import org.chromium.base.ContextUtils;
  458. import org.chromium.base.annotations.CalledByNative;
  459. import org.chromium.components.externalauth.ExternalAuthUtils;
  460. @@ -29,7 +27,7 @@ public class PlayServicesVersionInfo {
  461. public static String getGmsInfo() {
  462. Context context = ContextUtils.getApplicationContext();
  463. - final long sdkVersion = GoogleApiAvailability.GOOGLE_PLAY_SERVICES_VERSION_CODE;
  464. + final long sdkVersion = 12600000;
  465. final long installedGmsVersion = getApkVersionNumber(context);
  466. final String accessType;
  467. @@ -53,12 +51,6 @@ public class PlayServicesVersionInfo {
  468. * package is not found.
  469. */
  470. public static int getApkVersionNumber(Context context) {
  471. - try {
  472. - return context.getPackageManager()
  473. - .getPackageInfo(GoogleApiAvailability.GOOGLE_PLAY_SERVICES_PACKAGE, 0)
  474. - .versionCode;
  475. - } catch (PackageManager.NameNotFoundException e) {
  476. - return 0;
  477. - }
  478. + return 0;
  479. }
  480. }
  481. diff --git a/chrome/android/java/src/org/chromium/chrome/browser/background_task_scheduler/ChromeBackgroundTaskFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/background_task_scheduler/ChromeBackgroundTaskFactory.java
  482. --- a/chrome/android/java/src/org/chromium/chrome/browser/background_task_scheduler/ChromeBackgroundTaskFactory.java
  483. +++ b/chrome/android/java/src/org/chromium/chrome/browser/background_task_scheduler/ChromeBackgroundTaskFactory.java
  484. @@ -15,7 +15,6 @@ import org.chromium.chrome.browser.notifications.scheduler.NotificationScheduler
  485. import org.chromium.chrome.browser.offlinepages.OfflineBackgroundTask;
  486. import org.chromium.chrome.browser.offlinepages.prefetch.PrefetchBackgroundTask;
  487. import org.chromium.chrome.browser.omaha.OmahaService;
  488. -import org.chromium.chrome.browser.services.gcm.GCMBackgroundTask;
  489. import org.chromium.chrome.browser.webapps.WebApkUpdateTask;
  490. import org.chromium.components.background_task_scheduler.BackgroundTask;
  491. import org.chromium.components.background_task_scheduler.BackgroundTaskFactory;
  492. @@ -56,8 +55,6 @@ public class ChromeBackgroundTaskFactory implements BackgroundTaskFactory {
  493. switch (taskId) {
  494. case TaskIds.OMAHA_JOB_ID:
  495. return new OmahaService();
  496. - case TaskIds.GCM_BACKGROUND_TASK_JOB_ID:
  497. - return new GCMBackgroundTask();
  498. case TaskIds.OFFLINE_PAGES_BACKGROUND_JOB_ID:
  499. return new OfflineBackgroundTask();
  500. case TaskIds.OFFLINE_PAGES_PREFETCH_JOB_ID:
  501. diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
  502. --- a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
  503. +++ b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
  504. @@ -194,12 +194,8 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat
  505. @Override
  506. public void maybeAdjustInstantAppExtras(Intent intent, boolean isIntentToInstantApp) {
  507. - if (isIntentToInstantApp) {
  508. - intent.putExtra(InstantAppsHandler.IS_GOOGLE_SEARCH_REFERRER, true);
  509. - } else {
  510. - // Make sure this extra is not sent unless we've done the verification.
  511. - intent.removeExtra(InstantAppsHandler.IS_GOOGLE_SEARCH_REFERRER);
  512. - }
  513. + // Always remove this extra
  514. + intent.removeExtra(InstantAppsHandler.IS_GOOGLE_SEARCH_REFERRER);
  515. }
  516. @Override
  517. 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
  518. --- a/chrome/android/java/src/org/chromium/chrome/browser/gcore/ChromeGoogleApiClientImpl.java
  519. +++ b/chrome/android/java/src/org/chromium/chrome/browser/gcore/ChromeGoogleApiClientImpl.java
  520. @@ -6,9 +6,6 @@ package org.chromium.chrome.browser.gcore;
  521. import android.content.Context;
  522. -import com.google.android.gms.common.ConnectionResult;
  523. -import com.google.android.gms.common.api.GoogleApiClient;
  524. -
  525. import org.chromium.base.Log;
  526. import org.chromium.base.TraceEvent;
  527. import org.chromium.components.externalauth.ExternalAuthUtils;
  528. @@ -22,7 +19,6 @@ public class ChromeGoogleApiClientImpl implements ChromeGoogleApiClient {
  529. private static final String TAG = "Icing";
  530. private final Context mApplicationContext;
  531. - private final GoogleApiClient mClient;
  532. private final ExternalAuthUtils mExternalAuthUtils;
  533. /**
  534. @@ -32,10 +28,9 @@ public class ChromeGoogleApiClientImpl implements ChromeGoogleApiClient {
  535. * @param requireFirstPartyBuild true if the given client can only be used in a first-party
  536. * build.
  537. */
  538. - public ChromeGoogleApiClientImpl(Context context, GoogleApiClient client,
  539. + public ChromeGoogleApiClientImpl(Context context,
  540. boolean requireFirstPartyBuild) {
  541. mApplicationContext = context.getApplicationContext();
  542. - mClient = client;
  543. mExternalAuthUtils = ExternalAuthUtils.getInstance();
  544. if (requireFirstPartyBuild && !mExternalAuthUtils.isChromeGoogleSigned()) {
  545. throw new IllegalStateException("GoogleApiClient requires first-party build");
  546. @@ -44,7 +39,6 @@ public class ChromeGoogleApiClientImpl implements ChromeGoogleApiClient {
  547. @Override
  548. public void disconnect() {
  549. - mClient.disconnect();
  550. }
  551. @Override
  552. @@ -60,24 +54,11 @@ public class ChromeGoogleApiClientImpl implements ChromeGoogleApiClient {
  553. @Override
  554. public boolean connectWithTimeout(long timeout) {
  555. TraceEvent.begin("ChromeGoogleApiClientImpl:connectWithTimeout");
  556. - try {
  557. - ConnectionResult result = mClient.blockingConnect(timeout, TimeUnit.MILLISECONDS);
  558. - if (!result.isSuccess()) {
  559. - Log.e(TAG, "Connection to GmsCore unsuccessful. Error %d", result.getErrorCode());
  560. - } else {
  561. - Log.d(TAG, "Connection to GmsCore successful.");
  562. - }
  563. - return result.isSuccess();
  564. - } finally {
  565. - TraceEvent.end("ChromeGoogleApiClientImpl:connectWithTimeout");
  566. - }
  567. + TraceEvent.end("ChromeGoogleApiClientImpl:connectWithTimeout");
  568. + return false;
  569. }
  570. public Context getApplicationContext() {
  571. return mApplicationContext;
  572. }
  573. -
  574. - public GoogleApiClient getApiClient() {
  575. - return mClient;
  576. - }
  577. }
  578. 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
  579. --- a/chrome/android/java/src/org/chromium/chrome/browser/gcore/GoogleApiClientHelper.java
  580. +++ b/chrome/android/java/src/org/chromium/chrome/browser/gcore/GoogleApiClientHelper.java
  581. @@ -7,11 +7,6 @@ package org.chromium.chrome.browser.gcore;
  582. import android.os.Bundle;
  583. import android.os.Handler;
  584. -import com.google.android.gms.common.ConnectionResult;
  585. -import com.google.android.gms.common.api.GoogleApiClient;
  586. -import com.google.android.gms.common.api.GoogleApiClient.ConnectionCallbacks;
  587. -import com.google.android.gms.common.api.GoogleApiClient.OnConnectionFailedListener;
  588. -
  589. import org.chromium.base.ApplicationStatus;
  590. import org.chromium.base.ApplicationStatus.ApplicationStateListener;
  591. import org.chromium.base.Log;
  592. @@ -67,29 +62,15 @@ import org.chromium.base.ThreadUtils;
  593. * }
  594. * </pre>
  595. */
  596. -public class GoogleApiClientHelper
  597. - implements OnConnectionFailedListener, ConnectionCallbacks {
  598. +public class GoogleApiClientHelper {
  599. private static final String TAG = "GCore";
  600. private int mResolutionAttempts;
  601. private boolean mWasConnectedBefore;
  602. private final Handler mHandler = new Handler(ThreadUtils.getUiThreadLooper());
  603. - private final GoogleApiClient mClient;
  604. private long mDisconnectionDelayMs;
  605. private Runnable mPendingDisconnect;
  606. - /**
  607. - * Creates a helper and enrolls it in the various connection management features.
  608. - * See the class documentation for {@link GoogleApiClientHelper} for more information.
  609. - *
  610. - * @param client The client to wrap.
  611. - */
  612. - public GoogleApiClientHelper(GoogleApiClient client) {
  613. - mClient = client;
  614. - enableConnectionRetrying(true);
  615. - enableLifecycleManagement(true);
  616. - }
  617. -
  618. /**
  619. * Opts in or out of lifecycle management. The client's connection will be closed and reopened
  620. * when Chrome goes in and out of background.
  621. @@ -116,13 +97,6 @@ public class GoogleApiClientHelper
  622. * Enabling or disabling it while it is already enabled or disabled has no effect.
  623. */
  624. public void enableConnectionRetrying(boolean enabled) {
  625. - if (enabled) {
  626. - mClient.registerConnectionCallbacks(this);
  627. - mClient.registerConnectionFailedListener(this);
  628. - } else {
  629. - mClient.unregisterConnectionCallbacks(this);
  630. - mClient.unregisterConnectionFailedListener(this);
  631. - }
  632. }
  633. /**
  634. @@ -155,21 +129,11 @@ public class GoogleApiClientHelper
  635. // Cancel and reschedule the disconnection if we are in the background. We do it early to
  636. // avoid race conditions between a disconnect on the UI thread and the connect below.
  637. if (!ApplicationStatus.hasVisibleActivities()) scheduleDisconnection();
  638. -
  639. - // The client might be disconnected if we were idle in the background for too long.
  640. - if (!mClient.isConnected() && !mClient.isConnecting()) {
  641. - Log.d(TAG, "Reconnecting the client.");
  642. - mClient.connect();
  643. - }
  644. }
  645. void restoreConnectedState() {
  646. // If we go back to the foreground before a delayed disconnect happens, cancel it.
  647. cancelPendingDisconnection();
  648. -
  649. - if (mWasConnectedBefore) {
  650. - mClient.connect();
  651. - }
  652. }
  653. /**
  654. @@ -192,12 +156,6 @@ public class GoogleApiClientHelper
  655. }
  656. private void disconnect() {
  657. - if (mClient.isConnected() || mClient.isConnecting()) {
  658. - mWasConnectedBefore = true;
  659. - }
  660. -
  661. - // We always call disconnect to abort possibly pending connection requests.
  662. - mClient.disconnect();
  663. }
  664. private void cancelPendingDisconnection() {
  665. @@ -207,43 +165,7 @@ public class GoogleApiClientHelper
  666. mPendingDisconnect = null;
  667. }
  668. - @Override
  669. - public void onConnectionFailed(ConnectionResult result) {
  670. - if (!isErrorRecoverableByRetrying(result.getErrorCode())) {
  671. - Log.d(TAG, "Not retrying managed client connection. Unrecoverable error: %d",
  672. - result.getErrorCode());
  673. - return;
  674. - }
  675. -
  676. - if (mResolutionAttempts < ConnectedTask.RETRY_NUMBER_LIMIT) {
  677. - Log.d(TAG, "Retrying managed client connection. attempt %d/%d - errorCode: %d",
  678. - mResolutionAttempts, ConnectedTask.RETRY_NUMBER_LIMIT, result.getErrorCode());
  679. - mResolutionAttempts += 1;
  680. -
  681. - mHandler.postDelayed(new Runnable() {
  682. - @Override
  683. - public void run() {
  684. - mClient.connect();
  685. - }
  686. - }, ConnectedTask.CONNECTION_RETRY_TIME_MS);
  687. - }
  688. - }
  689. -
  690. - @Override
  691. - public void onConnected(Bundle connectionHint) {
  692. - mResolutionAttempts = 0;
  693. - }
  694. -
  695. - @Override
  696. - public void onConnectionSuspended(int cause) {
  697. - // GoogleApiClient handles retrying on suspension itself. Logging in case it didn't succeed
  698. - // for some reason.
  699. - Log.w(TAG, "Managed client connection suspended. Cause: %d", cause);
  700. - }
  701. -
  702. private static boolean isErrorRecoverableByRetrying(int errorCode) {
  703. - return errorCode == ConnectionResult.INTERNAL_ERROR
  704. - || errorCode == ConnectionResult.NETWORK_ERROR
  705. - || errorCode == ConnectionResult.SERVICE_UPDATING;
  706. + return false;
  707. }
  708. }
  709. diff --git a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java
  710. --- a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java
  711. +++ b/chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java
  712. @@ -41,31 +41,10 @@ public class InstantAppsHandler {
  713. // TODO(mariakhomenko): Use system once we roll to O SDK.
  714. private static final int FLAG_DO_NOT_LAUNCH = 0x00000200;
  715. - // TODO(mariakhomenko): Depend directly on the constants once we roll to v8 libraries.
  716. - private static final String DO_NOT_LAUNCH_EXTRA =
  717. - "com.google.android.gms.instantapps.DO_NOT_LAUNCH_INSTANT_APP";
  718. -
  719. - protected static final String IS_REFERRER_TRUSTED_EXTRA =
  720. - "com.google.android.gms.instantapps.IS_REFERRER_TRUSTED";
  721. -
  722. - protected static final String IS_USER_CONFIRMED_LAUNCH_EXTRA =
  723. - "com.google.android.gms.instantapps.IS_USER_CONFIRMED_LAUNCH";
  724. -
  725. - protected static final String TRUSTED_REFERRER_PKG_EXTRA =
  726. - "com.google.android.gms.instantapps.TRUSTED_REFERRER_PKG";
  727. -
  728. + // this is kept to always remove it from intents
  729. public static final String IS_GOOGLE_SEARCH_REFERRER =
  730. "com.google.android.gms.instantapps.IS_GOOGLE_SEARCH_REFERRER";
  731. - private static final String BROWSER_LAUNCH_REASON =
  732. - "com.google.android.gms.instantapps.BROWSER_LAUNCH_REASON";
  733. -
  734. - private static final String SUPERVISOR_PKG = "com.google.android.instantapps.supervisor";
  735. -
  736. - private static final String[] SUPERVISOR_START_ACTIONS = {
  737. - "com.google.android.instantapps.START", "com.google.android.instantapps.nmr1.INSTALL",
  738. - "com.google.android.instantapps.nmr1.VIEW"};
  739. -
  740. // Only two possible call sources for fallback intents, set boundary at n+1.
  741. private static final int SOURCE_BOUNDARY = 3;
  742. @@ -85,14 +64,6 @@ public class InstantAppsHandler {
  743. * @return Whether the given intent is going to open an Instant App.
  744. */
  745. public static boolean isIntentToInstantApp(Intent intent) {
  746. - if (SUPERVISOR_PKG.equals(intent.getPackage())) return true;
  747. -
  748. - String intentAction = intent.getAction();
  749. - for (String action : SUPERVISOR_START_ACTIONS) {
  750. - if (action.equals(intentAction)) {
  751. - return true;
  752. - }
  753. - }
  754. return false;
  755. }
  756. @@ -127,20 +98,6 @@ public class InstantAppsHandler {
  757. * @param intent The current intent.
  758. */
  759. private void maybeRecordFallbackStats(Intent intent) {
  760. - Long startTime = IntentUtils.safeGetLongExtra(intent, INSTANT_APP_START_TIME_EXTRA, 0);
  761. - if (startTime > 0) {
  762. - RecordHistogram.recordTimesHistogram("Android.InstantApps.FallbackDuration",
  763. - SystemClock.elapsedRealtime() - startTime);
  764. - intent.removeExtra(INSTANT_APP_START_TIME_EXTRA);
  765. - }
  766. - int callSource = IntentUtils.safeGetIntExtra(intent, BROWSER_LAUNCH_REASON, 0);
  767. - if (callSource > 0 && callSource < SOURCE_BOUNDARY) {
  768. - RecordHistogram.recordEnumeratedHistogram(
  769. - "Android.InstantApps.CallSource", callSource, SOURCE_BOUNDARY);
  770. - intent.removeExtra(BROWSER_LAUNCH_REASON);
  771. - } else if (callSource >= SOURCE_BOUNDARY) {
  772. - Log.e(TAG, "Unexpected call source constant for Instant Apps: " + callSource);
  773. - }
  774. }
  775. /**
  776. @@ -175,14 +132,6 @@ public class InstantAppsHandler {
  777. return false;
  778. }
  779. - if (IntentUtils.safeGetBooleanExtra(intent, DO_NOT_LAUNCH_EXTRA, false)
  780. - || (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O
  781. - && (intent.getFlags() & FLAG_DO_NOT_LAUNCH) != 0)) {
  782. - maybeRecordFallbackStats(intent);
  783. - Log.i(TAG, "Not handling with Instant Apps (DO_NOT_LAUNCH_EXTRA)");
  784. - return false;
  785. - }
  786. -
  787. if (IntentUtils.safeGetBooleanExtra(
  788. intent, IntentHandler.EXTRA_OPEN_NEW_INCOGNITO_TAB, false)
  789. || IntentUtils.safeHasExtra(intent, WebappConstants.EXTRA_SOURCE)
  790. @@ -207,7 +156,6 @@ public class InstantAppsHandler {
  791. }
  792. Intent callbackIntent = new Intent(intent);
  793. - callbackIntent.putExtra(DO_NOT_LAUNCH_EXTRA, true);
  794. callbackIntent.putExtra(INSTANT_APP_START_TIME_EXTRA, startTime);
  795. return tryLaunchingInstantApp(context, intent, isCustomTabsIntent, callbackIntent);
  796. @@ -309,12 +257,9 @@ public class InstantAppsHandler {
  797. Intent iaIntent = data.getIntent();
  798. if (data.getReferrer() != null) {
  799. iaIntent.putExtra(Intent.EXTRA_REFERRER, data.getReferrer());
  800. - iaIntent.putExtra(IS_REFERRER_TRUSTED_EXTRA, true);
  801. }
  802. Context appContext = ContextUtils.getApplicationContext();
  803. - iaIntent.putExtra(TRUSTED_REFERRER_PKG_EXTRA, appContext.getPackageName());
  804. - iaIntent.putExtra(IS_USER_CONFIRMED_LAUNCH_EXTRA, true);
  805. try {
  806. appContext.startActivity(iaIntent);
  807. 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
  808. --- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java
  809. +++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java
  810. @@ -17,8 +17,6 @@ import androidx.annotation.IntDef;
  811. import androidx.annotation.NonNull;
  812. import androidx.annotation.Nullable;
  813. -import com.google.android.gms.common.GooglePlayServicesUtil;
  814. -
  815. import org.chromium.base.BuildInfo;
  816. import org.chromium.base.Callback;
  817. import org.chromium.base.ContextUtils;
  818. @@ -328,13 +326,7 @@ public class UpdateStatusProvider {
  819. }
  820. private boolean isGooglePlayStoreAvailable(Context context) {
  821. - try {
  822. - context.getPackageManager().getPackageInfo(
  823. - GooglePlayServicesUtil.GOOGLE_PLAY_STORE_PACKAGE, 0);
  824. - } catch (PackageManager.NameNotFoundException e) {
  825. - return false;
  826. - }
  827. - return true;
  828. + return false;
  829. }
  830. private long getSize(StatFs statFs) {
  831. diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java
  832. --- a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java
  833. +++ b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java
  834. @@ -139,7 +139,6 @@ public class PasswordSettings extends PreferenceFragmentCompat
  835. private boolean mSearchRecorded;
  836. private Menu mMenu;
  837. - private @Nullable PasswordCheck mPasswordCheck;
  838. private @ManagePasswordsReferrer int mManagePasswordsReferrer;
  839. /**
  840. @@ -202,7 +201,6 @@ public class PasswordSettings extends PreferenceFragmentCompat
  841. @Override
  842. public void onCreate(Bundle savedInstanceState) {
  843. super.onCreate(savedInstanceState);
  844. - mPasswordCheck = PasswordCheckFactory.getOrCreate(new SettingsLauncherImpl());
  845. computeTrustedVaultBannerState();
  846. }
  847. @@ -308,9 +306,6 @@ public class PasswordSettings extends PreferenceFragmentCompat
  848. createSavePasswordsSwitch();
  849. createEnableAndroidAutofillSwitch();
  850. createAutoSignInCheckbox();
  851. - if (mPasswordCheck != null) {
  852. - createCheckPasswords();
  853. - }
  854. if (mTrustedVaultBannerState == TrustedVaultBannerState.OPTED_IN) {
  855. createTrustedVaultBanner(R.string.android_trusted_vault_banner_sub_label_opted_in,
  856. @@ -485,10 +480,6 @@ public class PasswordSettings extends PreferenceFragmentCompat
  857. // by the system.
  858. if (getActivity().isFinishing()) {
  859. PasswordManagerHandlerProvider.getInstance().removeObserver(this);
  860. - if (mPasswordCheck != null
  861. - && mManagePasswordsReferrer != ManagePasswordsReferrer.CHROME_SETTINGS) {
  862. - PasswordCheckFactory.destroy();
  863. - }
  864. }
  865. }
  866. diff --git a/chrome/android/modules/chrome_feature_modules.gni b/chrome/android/modules/chrome_feature_modules.gni
  867. --- a/chrome/android/modules/chrome_feature_modules.gni
  868. +++ b/chrome/android/modules/chrome_feature_modules.gni
  869. @@ -8,8 +8,6 @@ import(
  870. import("//chrome/android/features/dev_ui/dev_ui_module.gni")
  871. import("//chrome/android/features/tab_ui/tab_ui_module.gni")
  872. import("//chrome/android/modules/buildflags.gni")
  873. -import(
  874. - "//chrome/android/modules/cablev2_authenticator/cablev2_authenticator_module.gni")
  875. import("//chrome/android/modules/stack_unwinder/stack_unwinder_module.gni")
  876. import("//chrome/android/modules/test_dummy/test_dummy_module.gni")
  877. import("//device/vr/buildflags/buildflags.gni")
  878. @@ -64,7 +62,6 @@ if (!disable_autofill_assistant_dfm) {
  879. if (!disable_tab_ui_dfm) {
  880. monochrome_module_descs += [ tab_ui_module_desc ]
  881. }
  882. -monochrome_module_descs += [ cablev2_authenticator_module_desc ]
  883. # Modules shipped in Trichrome (Android Q+).
  884. trichrome_module_descs = monochrome_module_descs
  885. diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
  886. --- a/chrome/browser/BUILD.gn
  887. +++ b/chrome/browser/BUILD.gn
  888. @@ -6916,8 +6916,6 @@ static_library("browser") {
  889. "offline_pages/offliner_helper.h",
  890. "offline_pages/offliner_user_data.cc",
  891. "offline_pages/offliner_user_data.h",
  892. - "offline_pages/prefetch/gcm_token.cc",
  893. - "offline_pages/prefetch/gcm_token.h",
  894. "offline_pages/prefetch/offline_metrics_collector_impl.cc",
  895. "offline_pages/prefetch/offline_metrics_collector_impl.h",
  896. "offline_pages/prefetch/offline_prefetch_download_client.cc",
  897. diff --git a/chrome/browser/language/android/BUILD.gn b/chrome/browser/language/android/BUILD.gn
  898. --- a/chrome/browser/language/android/BUILD.gn
  899. +++ b/chrome/browser/language/android/BUILD.gn
  900. @@ -9,13 +9,11 @@ android_library("base_module_java") {
  901. sources = [
  902. "java/src/org/chromium/chrome/browser/language/AppLocaleUtils.java",
  903. "java/src/org/chromium/chrome/browser/language/GlobalAppLocaleController.java",
  904. - "java/src/org/chromium/chrome/browser/language/LanguageSplitInstaller.java",
  905. ]
  906. deps = [
  907. "//base:base_java",
  908. "//chrome/browser/preferences:java",
  909. "//components/language/android:java",
  910. - "//third_party/android_deps:com_google_android_play_core_java",
  911. "//third_party/androidx:androidx_annotation_annotation_java",
  912. "//ui/android:ui_no_recycler_view_java",
  913. ]
  914. diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/AppLanguagePromoDialog.java b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/AppLanguagePromoDialog.java
  915. --- a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/AppLanguagePromoDialog.java
  916. +++ b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/AppLanguagePromoDialog.java
  917. @@ -508,12 +508,6 @@ public class AppLanguagePromoDialog {
  918. mLoadingModal.set(ModalDialogProperties.CUSTOM_VIEW, customView);
  919. - // Only show the modal if the selected language is not installed.
  920. - if (!LanguageSplitInstaller.getInstance().isLanguageSplitInstalled(
  921. - selectedLanguage.getCode())) {
  922. - mModalDialogManager.showDialog(mLoadingModal, ModalDialogManager.ModalDialogType.APP);
  923. - }
  924. -
  925. boolean isSelectedCurrentUI = AppLocaleUtils.isAppLanguagePref(selectedLanguage.getCode());
  926. if (!isSelectedCurrentUI) {
  927. // Only record isTopLanguage if the app language has changed.
  928. @@ -521,23 +515,6 @@ public class AppLanguagePromoDialog {
  929. }
  930. AndroidLanguageMetricsBridge.reportAppLanguagePromptLanguage(
  931. selectedLanguage.isSystemDefault() ? "" : selectedLanguage.getCode());
  932. -
  933. - // Create call back for after language split install completes.
  934. - AppLocaleUtils.setAppLanguagePref(selectedLanguage.getCode(), (success) -> {
  935. - if (success) {
  936. - if (!isSelectedCurrentUI) {
  937. - // Only restart if the new language is different than the current UI.
  938. - mRestartAction.restart();
  939. - }
  940. - } else {
  941. - // The loading language modal will always already be shown if a download fails.
  942. - CharSequence failedText = mActivity.getResources().getString(
  943. - R.string.languages_split_failed, selectedLanguage.getDisplayName());
  944. - messageView.setText(failedText);
  945. - mLoadingModal.set(ModalDialogProperties.POSITIVE_BUTTON_TEXT,
  946. - mActivity.getText(R.string.ok).toString());
  947. - }
  948. - });
  949. }
  950. /**
  951. diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/AppLanguagePreferenceDelegate.java b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/AppLanguagePreferenceDelegate.java
  952. --- a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/AppLanguagePreferenceDelegate.java
  953. +++ b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/AppLanguagePreferenceDelegate.java
  954. @@ -87,14 +87,6 @@ public class AppLanguagePreferenceDelegate {
  955. // Disable preference so a second downloaded cannot be started while one is in progress.
  956. mPreference.setEnabled(false);
  957. -
  958. - AppLocaleUtils.setAppLanguagePref(code, (success) -> {
  959. - if (success) {
  960. - languageSplitDownloadComplete();
  961. - } else {
  962. - languageSplitDownloadFailed();
  963. - }
  964. - });
  965. }
  966. /**
  967. diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java
  968. --- a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java
  969. +++ b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/settings/LanguageSettings.java
  970. @@ -19,7 +19,6 @@ import org.chromium.base.Log;
  971. import org.chromium.chrome.browser.flags.ChromeFeatureList;
  972. import org.chromium.chrome.browser.language.AppLocaleUtils;
  973. import org.chromium.chrome.browser.language.GlobalAppLocaleController;
  974. -import org.chromium.chrome.browser.language.LanguageSplitInstaller;
  975. import org.chromium.chrome.browser.language.R;
  976. import org.chromium.chrome.browser.preferences.Pref;
  977. import org.chromium.chrome.browser.preferences.PrefChangeRegistrar;
  978. @@ -101,11 +100,6 @@ public class LanguageSettings extends PreferenceFragmentCompat
  979. * translate target language, and detailed translate preferences.
  980. */
  981. private void createDetailedPreferences(Bundle savedInstanceState, String rootKey) {
  982. - // Log currently installed language splits.
  983. - String installedLanguages =
  984. - TextUtils.join(",", LanguageSplitInstaller.getInstance().getInstalledLanguages());
  985. - Log.i(TAG, TextUtils.concat("Installed Languages: ", installedLanguages).toString());
  986. -
  987. SettingsUtils.addPreferencesFromResource(this, R.xml.languages_detailed_preferences);
  988. setupAppLanguageSection();
  989. diff --git a/chrome/browser/offline_pages/prefetch/prefetch_service_factory.cc b/chrome/browser/offline_pages/prefetch/prefetch_service_factory.cc
  990. --- a/chrome/browser/offline_pages/prefetch/prefetch_service_factory.cc
  991. +++ b/chrome/browser/offline_pages/prefetch/prefetch_service_factory.cc
  992. @@ -18,7 +18,6 @@
  993. #include "chrome/browser/image_fetcher/image_fetcher_service_factory.h"
  994. #include "chrome/browser/net/system_network_context_manager.h"
  995. #include "chrome/browser/offline_pages/offline_page_model_factory.h"
  996. -#include "chrome/browser/offline_pages/prefetch/gcm_token.h"
  997. #include "chrome/browser/offline_pages/prefetch/offline_metrics_collector_impl.h"
  998. #include "chrome/browser/offline_pages/prefetch/prefetch_background_task_handler_impl.h"
  999. #include "chrome/browser/profiles/profile.h"
  1000. @@ -68,21 +67,6 @@ void SwitchToFullBrowserImageFetcher(PrefetchServiceImpl* prefetch_service,
  1001. }
  1002. void OnProfileCreated(PrefetchServiceImpl* prefetch_service, Profile* profile) {
  1003. - if (IsPrefetchingOfflinePagesEnabled()) {
  1004. - // Trigger an update of the cached GCM token. This needs to be post tasked
  1005. - // because otherwise leads to circular dependency between
  1006. - // PrefetchServiceFactory and GCMProfileServiceFactory. See
  1007. - // https://crbug.com/944952
  1008. - // Update is not a priority so make sure it happens after the critical
  1009. - // startup path.
  1010. - content::GetUIThreadTaskRunner({base::TaskPriority::BEST_EFFORT})
  1011. - ->PostTask(FROM_HERE,
  1012. - base::BindOnce(
  1013. - &GetGCMToken, profile, kPrefetchingOfflinePagesAppId,
  1014. - base::BindOnce(&PrefetchServiceImpl::GCMTokenReceived,
  1015. - prefetch_service->GetWeakPtr())));
  1016. - }
  1017. -
  1018. SwitchToFullBrowserImageFetcher(prefetch_service, profile->GetProfileKey());
  1019. }
  1020. diff --git a/chrome/browser/password_manager/android/BUILD.gn b/chrome/browser/password_manager/android/BUILD.gn
  1021. --- a/chrome/browser/password_manager/android/BUILD.gn
  1022. +++ b/chrome/browser/password_manager/android/BUILD.gn
  1023. @@ -84,7 +84,6 @@ android_library("java") {
  1024. ":android_backend_java_enums",
  1025. ":java_resources",
  1026. ":settings_interface_java",
  1027. - "$google_play_services_package:google_play_services_basement_java",
  1028. "//base:base_java",
  1029. "//base:jni_java",
  1030. "//build/android:build_java",
  1031. @@ -179,7 +178,6 @@ junit_binary("password_manager_junit_tests") {
  1032. ":java",
  1033. ":public_impl_java",
  1034. ":settings_interface_java",
  1035. - "$google_play_services_package:google_play_services_basement_java",
  1036. "//base:base_java",
  1037. "//base:base_java_test_support",
  1038. "//base:base_junit_test_support",
  1039. diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerAndroidBackendUtil.java b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerAndroidBackendUtil.java
  1040. --- a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerAndroidBackendUtil.java
  1041. +++ b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordManagerAndroidBackendUtil.java
  1042. @@ -7,9 +7,6 @@ import static org.chromium.chrome.browser.password_manager.PasswordManagerHelper
  1043. import android.app.PendingIntent;
  1044. -import com.google.android.gms.common.api.ApiException;
  1045. -import com.google.android.gms.common.api.ResolvableApiException;
  1046. -
  1047. import org.chromium.base.Log;
  1048. import org.chromium.chrome.browser.password_manager.CredentialManagerLauncher.CredentialManagerError;
  1049. @@ -26,9 +23,6 @@ class PasswordManagerAndroidBackendUtil {
  1050. if (exception instanceof PasswordStoreAndroidBackend.BackendException) {
  1051. return ((PasswordStoreAndroidBackend.BackendException) exception).errorCode;
  1052. }
  1053. - if (exception instanceof ApiException) {
  1054. - return AndroidBackendErrorType.EXTERNAL_ERROR;
  1055. - }
  1056. return AndroidBackendErrorType.UNCATEGORIZED;
  1057. }
  1058. @@ -37,33 +31,10 @@ class PasswordManagerAndroidBackendUtil {
  1059. return ((PasswordCheckupClientHelper.PasswordCheckBackendException) exception)
  1060. .errorCode;
  1061. }
  1062. - if (exception instanceof ApiException) {
  1063. - return CredentialManagerError.API_ERROR;
  1064. - }
  1065. return CredentialManagerError.UNCATEGORIZED;
  1066. }
  1067. static int getApiErrorCode(Exception exception) {
  1068. - if (exception instanceof ApiException) {
  1069. - return ((ApiException) exception).getStatusCode();
  1070. - }
  1071. - return 0; // '0' means SUCCESS.
  1072. - }
  1073. -
  1074. - static void handleResolvableApiException(ResolvableApiException exception) {
  1075. - if (!usesUnifiedPasswordManagerUI()) return;
  1076. -
  1077. - // No special resolution for the authentication errors is needed since the user has already
  1078. - // been prompted to reauthenticate by Google services and Sync in Chrome.
  1079. - if (exception.getStatusCode() == ChromeSyncStatusCode.AUTH_ERROR_RESOLVABLE) return;
  1080. -
  1081. - // For all other resolvable errors, an intent is launched allowing the user to fix the
  1082. - // broken state.
  1083. - PendingIntent pendingIntent = exception.getResolution();
  1084. - try {
  1085. - pendingIntent.send();
  1086. - } catch (PendingIntent.CanceledException e) {
  1087. - Log.e(TAG, "Can not launch error resolution intent", e);
  1088. - }
  1089. + return 13; // '13' means ERROR
  1090. }
  1091. }
  1092. diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordSettingsUpdaterBridge.java b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordSettingsUpdaterBridge.java
  1093. --- a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordSettingsUpdaterBridge.java
  1094. +++ b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordSettingsUpdaterBridge.java
  1095. @@ -9,7 +9,6 @@ import static org.chromium.chrome.browser.password_manager.PasswordManagerSettin
  1096. import android.accounts.Account;
  1097. -import com.google.android.gms.common.api.ResolvableApiException;
  1098. import com.google.common.base.Optional;
  1099. import org.chromium.base.annotations.CalledByNative;
  1100. @@ -118,11 +117,6 @@ public class PasswordSettingsUpdaterBridge {
  1101. int error = PasswordManagerAndroidBackendUtil.getBackendError(exception);
  1102. int apiErrorCode = PasswordManagerAndroidBackendUtil.getApiErrorCode(exception);
  1103. - if (exception instanceof ResolvableApiException) {
  1104. - PasswordManagerAndroidBackendUtil.handleResolvableApiException(
  1105. - (ResolvableApiException) exception);
  1106. - }
  1107. -
  1108. PasswordSettingsUpdaterBridgeJni.get().onSettingFetchingError(
  1109. mNativeSettingsUpdaterBridge, setting, error, apiErrorCode);
  1110. }
  1111. @@ -144,11 +138,6 @@ public class PasswordSettingsUpdaterBridge {
  1112. int error = PasswordManagerAndroidBackendUtil.getBackendError(exception);
  1113. int apiErrorCode = PasswordManagerAndroidBackendUtil.getApiErrorCode(exception);
  1114. - if (exception instanceof ResolvableApiException) {
  1115. - PasswordManagerAndroidBackendUtil.handleResolvableApiException(
  1116. - (ResolvableApiException) exception);
  1117. - }
  1118. -
  1119. PasswordSettingsUpdaterBridgeJni.get().onFailedSettingChange(
  1120. mNativeSettingsUpdaterBridge, setting, error, apiErrorCode);
  1121. }
  1122. diff --git a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordSyncControllerDelegateBridgeImpl.java b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordSyncControllerDelegateBridgeImpl.java
  1123. --- a/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordSyncControllerDelegateBridgeImpl.java
  1124. +++ b/chrome/browser/password_manager/android/java/src/org/chromium/chrome/browser/password_manager/PasswordSyncControllerDelegateBridgeImpl.java
  1125. @@ -4,8 +4,6 @@
  1126. package org.chromium.chrome.browser.password_manager;
  1127. -import com.google.android.gms.common.api.ApiException;
  1128. -
  1129. import org.chromium.base.annotations.CalledByNative;
  1130. import org.chromium.base.annotations.NativeMethods;
  1131. import org.chromium.components.signin.base.CoreAccountInfo;
  1132. @@ -69,11 +67,6 @@ class PasswordSyncControllerDelegateBridgeImpl {
  1133. error = ((PasswordStoreAndroidBackend.BackendException) exception).errorCode;
  1134. }
  1135. - if (exception instanceof ApiException) {
  1136. - error = AndroidBackendErrorType.EXTERNAL_ERROR;
  1137. - apiErrorCode = ((ApiException) exception).getStatusCode();
  1138. - }
  1139. -
  1140. PasswordSyncControllerDelegateBridgeImplJni.get().onCredentialManagerError(
  1141. mNativeDelegateBridgeImpl, error, apiErrorCode);
  1142. }
  1143. diff --git a/chrome/browser/push_messaging/push_messaging_service_factory.cc b/chrome/browser/push_messaging/push_messaging_service_factory.cc
  1144. --- a/chrome/browser/push_messaging/push_messaging_service_factory.cc
  1145. +++ b/chrome/browser/push_messaging/push_messaging_service_factory.cc
  1146. @@ -28,13 +28,7 @@
  1147. // static
  1148. PushMessagingServiceImpl* PushMessagingServiceFactory::GetForProfile(
  1149. content::BrowserContext* context) {
  1150. - // The Push API is not currently supported in incognito mode.
  1151. - // See https://crbug.com/401439.
  1152. - if (context->IsOffTheRecord())
  1153. - return nullptr;
  1154. -
  1155. - return static_cast<PushMessagingServiceImpl*>(
  1156. - GetInstance()->GetServiceForBrowserContext(context, true));
  1157. + return nullptr;
  1158. }
  1159. // static
  1160. diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resources/settings/route.ts
  1161. --- a/chrome/browser/resources/settings/route.ts
  1162. +++ b/chrome/browser/resources/settings/route.ts
  1163. @@ -31,8 +31,6 @@ function addPrivacyChildRoutes(r: SettingsRoutes) {
  1164. if (loadTimeData.getBoolean('enableSecurityKeysSubpage')) {
  1165. r.SECURITY_KEYS = r.SECURITY.createChild('/securityKeys');
  1166. - r.SECURITY_KEYS_PHONES =
  1167. - r.SECURITY_KEYS.createChild('/securityKeys/phones');
  1168. // <if expr="is_win">
  1169. } else {
  1170. r.SECURITY_KEYS_PHONES = r.SECURITY.createChild('/securityKeys/phones');
  1171. diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
  1172. --- a/chrome/browser/ui/BUILD.gn
  1173. +++ b/chrome/browser/ui/BUILD.gn
  1174. @@ -260,8 +260,6 @@ static_library("ui") {
  1175. "webui/flags/flags_ui.h",
  1176. "webui/flags/flags_ui_handler.cc",
  1177. "webui/flags/flags_ui_handler.h",
  1178. - "webui/gcm_internals_ui.cc",
  1179. - "webui/gcm_internals_ui.h",
  1180. "webui/internals/internals_ui.cc",
  1181. "webui/internals/internals_ui.h",
  1182. "webui/interstitials/interstitial_ui.cc",
  1183. @@ -493,7 +491,6 @@ static_library("ui") {
  1184. "//components/feedback/content",
  1185. "//components/find_in_page",
  1186. "//components/flags_ui",
  1187. - "//components/gcm_driver",
  1188. "//components/google/core/common",
  1189. "//components/heap_profiling/multi_process",
  1190. "//components/history/content/browser",
  1191. diff --git a/chrome/browser/ui/views/webauthn/authenticator_qr_sheet_view.cc b/chrome/browser/ui/views/webauthn/authenticator_qr_sheet_view.cc
  1192. --- a/chrome/browser/ui/views/webauthn/authenticator_qr_sheet_view.cc
  1193. +++ b/chrome/browser/ui/views/webauthn/authenticator_qr_sheet_view.cc
  1194. @@ -51,7 +51,7 @@ class AuthenticatorQRViewCentered : public views::View {
  1195. qrcode_generator::mojom::GenerateQRCodeRequest::New();
  1196. request->data = qr_string;
  1197. request->should_render = true;
  1198. - request->render_dino = true;
  1199. + request->render_dino = false;
  1200. request->render_module_style =
  1201. qrcode_generator::mojom::ModuleStyle::CIRCLES;
  1202. diff --git a/chrome/browser/ui/webauthn/sheet_models.cc b/chrome/browser/ui/webauthn/sheet_models.cc
  1203. --- a/chrome/browser/ui/webauthn/sheet_models.cc
  1204. +++ b/chrome/browser/ui/webauthn/sheet_models.cc
  1205. @@ -160,12 +160,7 @@ bool AuthenticatorMechanismSelectorSheetModel::IsManageDevicesButtonVisible()
  1206. const {
  1207. // If any phones are shown then also show a button that goes to the settings
  1208. // page to manage them.
  1209. - return std::any_of(
  1210. - dialog_model()->mechanisms().begin(), dialog_model()->mechanisms().end(),
  1211. - [](const AuthenticatorRequestDialogModel::Mechanism& mechanism) -> bool {
  1212. - return absl::holds_alternative<
  1213. - AuthenticatorRequestDialogModel::Mechanism::Phone>(mechanism.type);
  1214. - });
  1215. + return false;
  1216. }
  1217. void AuthenticatorMechanismSelectorSheetModel::OnManageDevices() {
  1218. diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
  1219. --- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
  1220. +++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
  1221. @@ -42,7 +42,6 @@
  1222. #include "chrome/browser/ui/webui/download_internals/download_internals_ui.h"
  1223. #include "chrome/browser/ui/webui/engagement/site_engagement_ui.h"
  1224. #include "chrome/browser/ui/webui/flags/flags_ui.h"
  1225. -#include "chrome/browser/ui/webui/gcm_internals_ui.h"
  1226. #include "chrome/browser/ui/webui/internals/internals_ui.h"
  1227. #include "chrome/browser/ui/webui/interstitials/interstitial_ui.h"
  1228. #include "chrome/browser/ui/webui/invalidations/invalidations_ui.h"
  1229. @@ -748,8 +747,6 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
  1230. return &NewWebUI<FlagsDeprecatedUI>;
  1231. if (url.host_piece() == chrome::kChromeUIFlagsHost)
  1232. return &NewWebUI<FlagsUI>;
  1233. - if (url.host_piece() == chrome::kChromeUIGCMInternalsHost)
  1234. - return &NewWebUI<GCMInternalsUI>;
  1235. if (url.host_piece() == chrome::kChromeUIInternalsHost)
  1236. return &NewWebUI<InternalsUI>;
  1237. if (url.host_piece() == chrome::kChromeUIInterstitialHost)
  1238. diff --git a/chrome/browser/webauthn/authenticator_request_dialog_model.cc b/chrome/browser/webauthn/authenticator_request_dialog_model.cc
  1239. --- a/chrome/browser/webauthn/authenticator_request_dialog_model.cc
  1240. +++ b/chrome/browser/webauthn/authenticator_request_dialog_model.cc
  1241. @@ -973,10 +973,6 @@ void AuthenticatorRequestDialogModel::PopulateMechanisms(
  1242. if (cable_ui_type_) {
  1243. switch (*cable_ui_type_) {
  1244. case AuthenticatorRequestDialogModel::CableUIType::CABLE_V2_2ND_FACTOR:
  1245. - if (base::Contains(transport_availability_.available_transports,
  1246. - kCable)) {
  1247. - include_add_phone_option = true;
  1248. - }
  1249. break;
  1250. case AuthenticatorRequestDialogModel::CableUIType::CABLE_V2_SERVER_LINK:
  1251. diff --git a/chrome/browser/webauthn/cablev2_devices.cc b/chrome/browser/webauthn/cablev2_devices.cc
  1252. --- a/chrome/browser/webauthn/cablev2_devices.cc
  1253. +++ b/chrome/browser/webauthn/cablev2_devices.cc
  1254. @@ -354,6 +354,9 @@ void AddPairing(Profile* profile, std::unique_ptr<Pairing> pairing) {
  1255. // This is called when doing a QR-code pairing with a phone and the phone
  1256. // sends long-term pairing information during the handshake. The pairing
  1257. // information is saved in preferences for future operations.
  1258. + if ((true)) {
  1259. + return;
  1260. + }
  1261. ListPrefUpdate update(profile->GetPrefs(), kWebAuthnCablePairingsPrefName);
  1262. // Find any existing entries with the same public key and replace them. The
  1263. diff --git a/chrome/test/android/BUILD.gn b/chrome/test/android/BUILD.gn
  1264. --- a/chrome/test/android/BUILD.gn
  1265. +++ b/chrome/test/android/BUILD.gn
  1266. @@ -304,8 +304,6 @@ android_library("chrome_java_test_support") {
  1267. ]
  1268. deps = [
  1269. - "$google_play_services_package:google_play_services_base_java",
  1270. - "$google_play_services_package:google_play_services_basement_java",
  1271. "//base:base_java",
  1272. "//base:base_java_test_support",
  1273. "//build/android:build_java",
  1274. diff --git a/components/background_task_scheduler/BUILD.gn b/components/background_task_scheduler/BUILD.gn
  1275. --- a/components/background_task_scheduler/BUILD.gn
  1276. +++ b/components/background_task_scheduler/BUILD.gn
  1277. @@ -121,11 +121,6 @@ if (is_android) {
  1278. deps = [
  1279. ":background_task_scheduler_task_ids_java",
  1280. - "$google_play_services_package:google_play_services_auth_base_java",
  1281. - "$google_play_services_package:google_play_services_base_java",
  1282. - "$google_play_services_package:google_play_services_basement_java",
  1283. - "$google_play_services_package:google_play_services_gcm_java",
  1284. - "$google_play_services_package:google_play_services_tasks_java",
  1285. "internal:internal_java",
  1286. "internal:proto_java",
  1287. "//base:base_java",
  1288. diff --git a/components/background_task_scheduler/internal/BUILD.gn b/components/background_task_scheduler/internal/BUILD.gn
  1289. --- a/components/background_task_scheduler/internal/BUILD.gn
  1290. +++ b/components/background_task_scheduler/internal/BUILD.gn
  1291. @@ -11,12 +11,10 @@ if (is_android) {
  1292. android_library("internal_java") {
  1293. sources = [
  1294. "android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskBroadcastReceiver.java",
  1295. - "android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskGcmTaskService.java",
  1296. "android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskJobService.java",
  1297. "android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerAlarmManager.java",
  1298. "android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerDelegate.java",
  1299. "android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerFactoryInternal.java",
  1300. - "android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java",
  1301. "android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerImpl.java",
  1302. "android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerJobService.java",
  1303. "android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerPrefs.java",
  1304. @@ -27,10 +25,6 @@ if (is_android) {
  1305. deps = [
  1306. ":proto_java",
  1307. - "$google_play_services_package:google_play_services_base_java",
  1308. - "$google_play_services_package:google_play_services_basement_java",
  1309. - "$google_play_services_package:google_play_services_gcm_java",
  1310. - "$google_play_services_package:google_play_services_tasks_java",
  1311. "//base:base_java",
  1312. "//build/android:build_java",
  1313. "//components/background_task_scheduler:background_task_scheduler_task_ids_java",
  1314. @@ -99,10 +93,6 @@ if (is_android) {
  1315. deps = [
  1316. ":internal_java",
  1317. - "$google_play_services_package:google_play_services_base_java",
  1318. - "$google_play_services_package:google_play_services_basement_java",
  1319. - "$google_play_services_package:google_play_services_gcm_java",
  1320. - "$google_play_services_package:google_play_services_tasks_java",
  1321. "//base:base_java_test_support",
  1322. "//build/android:build_java",
  1323. "//components/background_task_scheduler:background_task_scheduler_task_ids_java",
  1324. diff --git a/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerFactoryInternal.java b/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerFactoryInternal.java
  1325. --- a/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerFactoryInternal.java
  1326. +++ b/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerFactoryInternal.java
  1327. @@ -21,11 +21,7 @@ public final class BackgroundTaskSchedulerFactoryInternal {
  1328. private static BackgroundTaskFactory sBackgroundTaskFactory;
  1329. static BackgroundTaskSchedulerDelegate getSchedulerDelegateForSdk(int sdkInt) {
  1330. - if (sdkInt >= Build.VERSION_CODES.M) {
  1331. - return new BackgroundTaskSchedulerJobService();
  1332. - } else {
  1333. - return new BackgroundTaskSchedulerGcmNetworkManager();
  1334. - }
  1335. + return new BackgroundTaskSchedulerJobService();
  1336. }
  1337. /**
  1338. diff --git a/components/component_updater/android/java/src/org/chromium/components/component_updater/UpdateScheduler.java b/components/component_updater/android/java/src/org/chromium/components/component_updater/UpdateScheduler.java
  1339. --- a/components/component_updater/android/java/src/org/chromium/components/component_updater/UpdateScheduler.java
  1340. +++ b/components/component_updater/android/java/src/org/chromium/components/component_updater/UpdateScheduler.java
  1341. @@ -14,7 +14,6 @@ import org.chromium.components.background_task_scheduler.BackgroundTask.TaskFini
  1342. import org.chromium.components.background_task_scheduler.BackgroundTaskSchedulerFactory;
  1343. import org.chromium.components.background_task_scheduler.TaskIds;
  1344. import org.chromium.components.background_task_scheduler.TaskInfo;
  1345. -import org.chromium.gms.ChromiumPlayServicesAvailability;
  1346. /** Java-side implementation of the component update scheduler using the BackgroundTaskScheduler. */
  1347. @JNINamespace("component_updater")
  1348. diff --git a/components/externalauth/android/BUILD.gn b/components/externalauth/android/BUILD.gn
  1349. --- a/components/externalauth/android/BUILD.gn
  1350. +++ b/components/externalauth/android/BUILD.gn
  1351. @@ -27,8 +27,6 @@ android_library("google_delegate_public_impl_java") {
  1352. android_library("java") {
  1353. deps = [
  1354. ":google_delegate_java",
  1355. - "$google_play_services_package:google_play_services_base_java",
  1356. - "$google_play_services_package:google_play_services_basement_java",
  1357. "//base:base_java",
  1358. "//components/embedder_support/android:util_java",
  1359. "//content/public/android:content_java",
  1360. @@ -49,7 +47,6 @@ android_library("junit") {
  1361. deps = [
  1362. ":java",
  1363. - "$google_play_services_package:google_play_services_basement_java",
  1364. "//base:base_java",
  1365. "//base:base_java_test_support",
  1366. "//base:base_junit_test_support",
  1367. diff --git a/components/externalauth/android/java/src/org/chromium/components/externalauth/ExternalAuthUtils.java b/components/externalauth/android/java/src/org/chromium/components/externalauth/ExternalAuthUtils.java
  1368. --- a/components/externalauth/android/java/src/org/chromium/components/externalauth/ExternalAuthUtils.java
  1369. +++ b/components/externalauth/android/java/src/org/chromium/components/externalauth/ExternalAuthUtils.java
  1370. @@ -15,9 +15,6 @@ import android.text.TextUtils;
  1371. import androidx.annotation.VisibleForTesting;
  1372. import androidx.annotation.WorkerThread;
  1373. -import com.google.android.gms.common.ConnectionResult;
  1374. -import com.google.android.gms.common.GoogleApiAvailability;
  1375. -
  1376. import org.chromium.base.ContextUtils;
  1377. import org.chromium.base.Log;
  1378. import org.chromium.base.StrictModeContext;
  1379. @@ -25,7 +22,6 @@ import org.chromium.base.TraceEvent;
  1380. import org.chromium.base.task.PostTask;
  1381. import org.chromium.components.embedder_support.util.Origin;
  1382. import org.chromium.content_public.browser.UiThreadTaskTraits;
  1383. -import org.chromium.gms.ChromiumPlayServicesAvailability;
  1384. /**
  1385. * Utility class for external authentication tools.
  1386. @@ -171,9 +167,7 @@ public class ExternalAuthUtils {
  1387. * when it is updating.
  1388. */
  1389. public boolean isGooglePlayServicesMissing(final Context context) {
  1390. - final int resultCode = checkGooglePlayServicesAvailable(context);
  1391. - return (resultCode == ConnectionResult.SERVICE_MISSING
  1392. - || resultCode == ConnectionResult.SERVICE_INVALID);
  1393. + return true;
  1394. }
  1395. /**
  1396. @@ -190,7 +184,6 @@ public class ExternalAuthUtils {
  1397. public boolean canUseGooglePlayServices(final UserRecoverableErrorHandler errorHandler) {
  1398. Context context = ContextUtils.getApplicationContext();
  1399. final int resultCode = checkGooglePlayServicesAvailable(context);
  1400. - if (resultCode == ConnectionResult.SUCCESS) return true;
  1401. // resultCode is some kind of error.
  1402. Log.v(TAG, "Unable to use Google Play Services: %s", describeError(resultCode));
  1403. if (isUserRecoverableError(resultCode)) {
  1404. @@ -261,11 +254,7 @@ public class ExternalAuthUtils {
  1405. * @return The code produced by calling the external code
  1406. */
  1407. protected int checkGooglePlayServicesAvailable(final Context context) {
  1408. - // TODO(crbug.com/577190): Temporarily allowing disk access until more permanent fix is in.
  1409. - try (StrictModeContext ignored = StrictModeContext.allowDiskWrites();
  1410. - TraceEvent e = TraceEvent.scoped("checkGooglePlayServicesAvailable")) {
  1411. - return ChromiumPlayServicesAvailability.getGooglePlayServicesConnectionResult(context);
  1412. - }
  1413. + return 1; /*SERVICE_MISSING*/
  1414. }
  1415. /**
  1416. @@ -276,7 +265,7 @@ public class ExternalAuthUtils {
  1417. * @return true If the code represents a user-recoverable error
  1418. */
  1419. protected boolean isUserRecoverableError(final int errorCode) {
  1420. - return GoogleApiAvailability.getInstance().isUserResolvableError(errorCode);
  1421. + return false;
  1422. }
  1423. /**
  1424. @@ -286,7 +275,7 @@ public class ExternalAuthUtils {
  1425. * @return a textual description of the error code
  1426. */
  1427. protected String describeError(final int errorCode) {
  1428. - return GoogleApiAvailability.getInstance().getErrorString(errorCode);
  1429. + return "";
  1430. }
  1431. /**
  1432. diff --git a/components/externalauth/android/java/src/org/chromium/components/externalauth/UserRecoverableErrorHandler.java b/components/externalauth/android/java/src/org/chromium/components/externalauth/UserRecoverableErrorHandler.java
  1433. --- a/components/externalauth/android/java/src/org/chromium/components/externalauth/UserRecoverableErrorHandler.java
  1434. +++ b/components/externalauth/android/java/src/org/chromium/components/externalauth/UserRecoverableErrorHandler.java
  1435. @@ -9,8 +9,6 @@ import android.app.Dialog;
  1436. import android.content.Context;
  1437. import android.content.DialogInterface;
  1438. -import com.google.android.gms.common.GoogleApiAvailability;
  1439. -
  1440. import org.chromium.base.ThreadUtils;
  1441. import org.chromium.base.metrics.RecordUserAction;
  1442. @@ -89,7 +87,6 @@ public abstract class UserRecoverableErrorHandler {
  1443. if (!sNotificationShown.getAndSet(true)) {
  1444. return;
  1445. }
  1446. - GoogleApiAvailability.getInstance().showErrorNotification(context, errorCode);
  1447. }
  1448. }
  1449. @@ -182,11 +179,7 @@ public abstract class UserRecoverableErrorHandler {
  1450. cancelDialog();
  1451. }
  1452. if (mDialog == null) {
  1453. - mDialog = GoogleApiAvailability.getInstance().getErrorDialog(
  1454. - mActivity, errorCode, NO_RESPONSE_REQUIRED);
  1455. mErrorCode = errorCode;
  1456. -
  1457. - DialogUserActionRecorder.createAndAttachToDialog(mDialog);
  1458. }
  1459. // This can happen if |errorCode| is ConnectionResult.SERVICE_INVALID.
  1460. if (mDialog != null && !mDialog.isShowing()) {
  1461. diff --git a/components/gcm_driver/android/java/src/org/chromium/components/gcm_driver/GoogleCloudMessagingV2.java b/components/gcm_driver/android/java/src/org/chromium/components/gcm_driver/GoogleCloudMessagingV2.java
  1462. --- a/components/gcm_driver/android/java/src/org/chromium/components/gcm_driver/GoogleCloudMessagingV2.java
  1463. +++ b/components/gcm_driver/android/java/src/org/chromium/components/gcm_driver/GoogleCloudMessagingV2.java
  1464. @@ -129,6 +129,8 @@ public class GoogleCloudMessagingV2 implements GoogleCloudMessagingSubscriber {
  1465. }
  1466. private Intent registerRpc(Bundle data) throws IOException {
  1467. + if ((true))
  1468. + throw new IOException("Google Play Services missing");
  1469. if (Looper.getMainLooper() == Looper.myLooper()) {
  1470. throw new IOException(ERROR_MAIN_THREAD);
  1471. }
  1472. diff --git a/components/gcm_driver/gcm_client_impl.cc b/components/gcm_driver/gcm_client_impl.cc
  1473. --- a/components/gcm_driver/gcm_client_impl.cc
  1474. +++ b/components/gcm_driver/gcm_client_impl.cc
  1475. @@ -465,6 +465,7 @@ void GCMClientImpl::StartGCM() {
  1476. void GCMClientImpl::InitializeMCSClient() {
  1477. DCHECK(network_connection_tracker_);
  1478. + return;
  1479. std::vector<GURL> endpoints;
  1480. endpoints.push_back(gservices_settings_.GetMCSMainEndpoint());
  1481. GURL fallback_endpoint = gservices_settings_.GetMCSFallbackEndpoint();
  1482. @@ -659,6 +660,7 @@ void GCMClientImpl::AddHeartbeatInterval(const std::string& scope,
  1483. int interval_ms) {
  1484. DCHECK(io_task_runner_->RunsTasksInCurrentSequence());
  1485. DCHECK(mcs_client_);
  1486. + return;
  1487. mcs_client_->AddHeartbeatInterval(scope, interval_ms);
  1488. }
  1489. @@ -670,6 +672,7 @@ void GCMClientImpl::RemoveHeartbeatInterval(const std::string& scope) {
  1490. void GCMClientImpl::StartCheckin() {
  1491. DCHECK(io_task_runner_->RunsTasksInCurrentSequence());
  1492. + return;
  1493. // Make sure no checkin is in progress.
  1494. if (checkin_request_)
  1495. @@ -747,6 +750,7 @@ void GCMClientImpl::SetGServicesSettingsCallback(bool success) {
  1496. void GCMClientImpl::SchedulePeriodicCheckin() {
  1497. DCHECK(io_task_runner_->RunsTasksInCurrentSequence());
  1498. + return;
  1499. // Make sure no checkin is in progress.
  1500. if (checkin_request_.get() || !device_checkin_info_.accounts_set)
  1501. diff --git a/components/gcm_driver/instance_id/android/BUILD.gn b/components/gcm_driver/instance_id/android/BUILD.gn
  1502. --- a/components/gcm_driver/instance_id/android/BUILD.gn
  1503. +++ b/components/gcm_driver/instance_id/android/BUILD.gn
  1504. @@ -15,7 +15,6 @@ generate_jni("test_support_jni_headers") {
  1505. android_library("instance_id_driver_java") {
  1506. deps = [
  1507. - "$google_play_services_package:google_play_services_iid_java",
  1508. "//base:base_java",
  1509. "//base:jni_java",
  1510. "//build/android:build_java",
  1511. @@ -29,14 +28,12 @@ android_library("instance_id_driver_java") {
  1512. sources = [
  1513. "java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDBridge.java",
  1514. - "java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDWithSubtype.java",
  1515. ]
  1516. }
  1517. android_library("instance_id_driver_test_support_java") {
  1518. deps = [
  1519. ":instance_id_driver_java",
  1520. - "$google_play_services_package:google_play_services_iid_java",
  1521. "//base:jni_java",
  1522. ]
  1523. diff --git a/components/gcm_driver/instance_id/android/java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDBridge.java b/components/gcm_driver/instance_id/android/java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDBridge.java
  1524. --- a/components/gcm_driver/instance_id/android/java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDBridge.java
  1525. +++ b/components/gcm_driver/instance_id/android/java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDBridge.java
  1526. @@ -27,7 +27,6 @@ public class InstanceIDBridge {
  1527. * Underlying InstanceIDWithSubtype. May be shared by multiple InstanceIDBridges. Must be
  1528. * initialized on a background thread.
  1529. */
  1530. - private InstanceIDWithSubtype mInstanceID;
  1531. private static boolean sBlockOnAsyncTasksForTesting;
  1532. @@ -72,7 +71,7 @@ public class InstanceIDBridge {
  1533. new BridgeAsyncTask<String>() {
  1534. @Override
  1535. protected String doBackgroundWork() {
  1536. - return mInstanceID.getId();
  1537. + return "";
  1538. }
  1539. @Override
  1540. protected void sendResultToNative(String id) {
  1541. @@ -88,7 +87,7 @@ public class InstanceIDBridge {
  1542. new BridgeAsyncTask<Long>() {
  1543. @Override
  1544. protected Long doBackgroundWork() {
  1545. - return mInstanceID.getCreationTime();
  1546. + return 0L;
  1547. }
  1548. @Override
  1549. protected void sendResultToNative(Long creationTime) {
  1550. @@ -110,21 +109,7 @@ public class InstanceIDBridge {
  1551. new BridgeAsyncTask<String>() {
  1552. @Override
  1553. protected String doBackgroundWork() {
  1554. - try {
  1555. - // TODO(crbug.com/1247170): Migrate stored LazySubscriptionsManager data to
  1556. - // SubscriptionFlagManager.
  1557. - LazySubscriptionsManager.storeLazinessInformation(
  1558. - LazySubscriptionsManager.buildSubscriptionUniqueId(
  1559. - mSubtype, authorizedEntity),
  1560. - (flags & InstanceIDFlags.IS_LAZY) == InstanceIDFlags.IS_LAZY);
  1561. - SubscriptionFlagManager.setFlags(
  1562. - SubscriptionFlagManager.buildSubscriptionUniqueId(
  1563. - mSubtype, authorizedEntity),
  1564. - flags);
  1565. - return mInstanceID.getToken(authorizedEntity, scope);
  1566. - } catch (IOException ex) {
  1567. return "";
  1568. - }
  1569. }
  1570. @Override
  1571. protected void sendResultToNative(String token) {
  1572. @@ -141,21 +126,7 @@ public class InstanceIDBridge {
  1573. new BridgeAsyncTask<Boolean>() {
  1574. @Override
  1575. protected Boolean doBackgroundWork() {
  1576. - try {
  1577. - mInstanceID.deleteToken(authorizedEntity, scope);
  1578. - String subscriptionId = LazySubscriptionsManager.buildSubscriptionUniqueId(
  1579. - mSubtype, authorizedEntity);
  1580. - if (LazySubscriptionsManager.isSubscriptionLazy(subscriptionId)) {
  1581. - LazySubscriptionsManager.deletePersistedMessagesForSubscriptionId(
  1582. - subscriptionId);
  1583. - }
  1584. - SubscriptionFlagManager.clearFlags(
  1585. - SubscriptionFlagManager.buildSubscriptionUniqueId(
  1586. - mSubtype, authorizedEntity));
  1587. - return true;
  1588. - } catch (IOException ex) {
  1589. - return false;
  1590. - }
  1591. + return false;
  1592. }
  1593. @Override
  1594. protected void sendResultToNative(Boolean success) {
  1595. @@ -171,12 +142,7 @@ public class InstanceIDBridge {
  1596. new BridgeAsyncTask<Boolean>() {
  1597. @Override
  1598. protected Boolean doBackgroundWork() {
  1599. - try {
  1600. - mInstanceID.deleteInstanceID();
  1601. - return true;
  1602. - } catch (IOException ex) {
  1603. - return false;
  1604. - }
  1605. + return true;
  1606. }
  1607. @Override
  1608. protected void sendResultToNative(Boolean success) {
  1609. @@ -206,11 +172,6 @@ public class InstanceIDBridge {
  1610. @Override
  1611. @SuppressWarnings("NoSynchronizedThisCheck") // Only used/accessible by native.
  1612. protected Result doInBackground() {
  1613. - synchronized (InstanceIDBridge.this) {
  1614. - if (mInstanceID == null) {
  1615. - mInstanceID = InstanceIDWithSubtype.getInstance(mSubtype);
  1616. - }
  1617. - }
  1618. return doBackgroundWork();
  1619. }
  1620. @Override
  1621. diff --git a/components/media_router/browser/android/BUILD.gn b/components/media_router/browser/android/BUILD.gn
  1622. --- a/components/media_router/browser/android/BUILD.gn
  1623. +++ b/components/media_router/browser/android/BUILD.gn
  1624. @@ -11,10 +11,6 @@ android_library("java") {
  1625. resources_package = "org.chromium.components.media_router"
  1626. deps = [
  1627. ":java_resources",
  1628. - "$google_play_services_package:google_play_services_base_java",
  1629. - "$google_play_services_package:google_play_services_basement_java",
  1630. - "$google_play_services_package:google_play_services_cast_framework_java",
  1631. - "$google_play_services_package:google_play_services_cast_java",
  1632. "//base:base_java",
  1633. "//base:jni_java",
  1634. "//build/android:build_java",
  1635. @@ -76,8 +72,6 @@ android_library("java") {
  1636. android_library("cast_options_provider_java") {
  1637. sources = [ "java/src/org/chromium/components/media_router/caf/CastOptionsProvider.java" ]
  1638. deps = [
  1639. - "$google_play_services_package:google_play_services_cast_framework_java",
  1640. - "$google_play_services_package:google_play_services_cast_java",
  1641. ]
  1642. }
  1643. @@ -144,9 +138,6 @@ java_library("junit") {
  1644. deps = [
  1645. ":java",
  1646. ":test_support_java",
  1647. - "$google_play_services_package:google_play_services_basement_java",
  1648. - "$google_play_services_package:google_play_services_cast_framework_java",
  1649. - "$google_play_services_package:google_play_services_cast_java",
  1650. "//base:base_java",
  1651. "//base:base_java_test_support",
  1652. "//base:base_junit_test_support",
  1653. diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/BrowserMediaRouter.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/BrowserMediaRouter.java
  1654. --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/BrowserMediaRouter.java
  1655. +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/BrowserMediaRouter.java
  1656. @@ -10,9 +10,6 @@ import androidx.annotation.Nullable;
  1657. import androidx.annotation.VisibleForTesting;
  1658. import androidx.mediarouter.media.MediaRouter;
  1659. -import com.google.android.gms.common.ConnectionResult;
  1660. -import com.google.android.gms.common.GoogleApiAvailability;
  1661. -
  1662. import org.chromium.base.ContextUtils;
  1663. import org.chromium.base.Log;
  1664. import org.chromium.base.StrictModeContext;
  1665. @@ -42,20 +39,7 @@ public class BrowserMediaRouter implements MediaRouteManager {
  1666. new MediaRouteProvider.Factory() {
  1667. @Override
  1668. public void addProviders(MediaRouteManager manager) {
  1669. - int googleApiAvailabilityResult =
  1670. - GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(
  1671. - ContextUtils.getApplicationContext(),
  1672. - MIN_GOOGLE_PLAY_SERVICES_APK_VERSION);
  1673. - if (googleApiAvailabilityResult != ConnectionResult.SUCCESS) {
  1674. - GoogleApiAvailability.getInstance().showErrorNotification(
  1675. - ContextUtils.getApplicationContext(), googleApiAvailabilityResult);
  1676. - return;
  1677. - }
  1678. - MediaRouteProvider cafProvider = CafMediaRouteProvider.create(manager);
  1679. - manager.addMediaRouteProvider(cafProvider);
  1680. - MediaRouteProvider remotingProvider =
  1681. - CafRemotingMediaRouteProvider.create(manager);
  1682. - manager.addMediaRouteProvider(remotingProvider);
  1683. + return;
  1684. }
  1685. };
  1686. diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/CastSessionUtil.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/CastSessionUtil.java
  1687. --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/CastSessionUtil.java
  1688. +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/CastSessionUtil.java
  1689. @@ -4,9 +4,6 @@
  1690. package org.chromium.components.media_router;
  1691. -import com.google.android.gms.cast.CastDevice;
  1692. -import com.google.android.gms.cast.RemoteMediaPlayer;
  1693. -
  1694. import org.chromium.components.browser_ui.media.MediaNotificationInfo;
  1695. import org.chromium.services.media_session.MediaMetadata;
  1696. @@ -18,36 +15,4 @@ public class CastSessionUtil {
  1697. // The value is borrowed from the Android Cast SDK code to match their behavior.
  1698. public static final double MIN_VOLUME_LEVEL_DELTA = 1e-7;
  1699. -
  1700. - /**
  1701. - * Builds a MediaMetadata from the given CastDevice and MediaPlayer, and sets it on the builder
  1702. - */
  1703. - public static void setNotificationMetadata(MediaNotificationInfo.Builder builder,
  1704. - CastDevice castDevice, RemoteMediaPlayer mediaPlayer) {
  1705. - MediaMetadata notificationMetadata = new MediaMetadata("", "", "");
  1706. - builder.setMetadata(notificationMetadata);
  1707. -
  1708. - if (castDevice != null) notificationMetadata.setTitle(castDevice.getFriendlyName());
  1709. -
  1710. - if (mediaPlayer == null) return;
  1711. -
  1712. - com.google.android.gms.cast.MediaInfo info = mediaPlayer.getMediaInfo();
  1713. - if (info == null) return;
  1714. -
  1715. - com.google.android.gms.cast.MediaMetadata metadata = info.getMetadata();
  1716. - if (metadata == null) return;
  1717. -
  1718. - String title = metadata.getString(com.google.android.gms.cast.MediaMetadata.KEY_TITLE);
  1719. - if (title != null) notificationMetadata.setTitle(title);
  1720. -
  1721. - String artist = metadata.getString(com.google.android.gms.cast.MediaMetadata.KEY_ARTIST);
  1722. - if (artist == null) {
  1723. - artist = metadata.getString(com.google.android.gms.cast.MediaMetadata.KEY_ALBUM_ARTIST);
  1724. - }
  1725. - if (artist != null) notificationMetadata.setArtist(artist);
  1726. -
  1727. - String album =
  1728. - metadata.getString(com.google.android.gms.cast.MediaMetadata.KEY_ALBUM_TITLE);
  1729. - if (album != null) notificationMetadata.setAlbum(album);
  1730. - }
  1731. }
  1732. diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/MediaSink.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/MediaSink.java
  1733. --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/MediaSink.java
  1734. +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/MediaSink.java
  1735. @@ -8,41 +8,24 @@ import androidx.annotation.Nullable;
  1736. import androidx.mediarouter.media.MediaRouter;
  1737. import androidx.mediarouter.media.MediaRouter.RouteInfo;
  1738. -import com.google.android.gms.cast.CastDevice;
  1739. -
  1740. /**
  1741. * A common descriptor of a device that can present some URI.
  1742. */
  1743. public class MediaSink {
  1744. private static final String CAST_SINK_URN_PREFIX = "urn:x-org.chromium:media:sink:cast-";
  1745. - private final String mId;
  1746. - private final String mName;
  1747. - private final CastDevice mDevice;
  1748. -
  1749. - /**
  1750. - * Constructor.
  1751. - * @param id A unique identifier of the sink.
  1752. - * @param name A user friendly name of the sink.
  1753. - * @param device {@link CastDevice} corresponding to this sink.
  1754. - */
  1755. - public MediaSink(String id, String name, CastDevice device) {
  1756. - mId = id;
  1757. - mName = name;
  1758. - mDevice = device;
  1759. - }
  1760. /**
  1761. * @return The unique identifier of the sink.
  1762. */
  1763. public String getId() {
  1764. - return mId;
  1765. + return "";
  1766. }
  1767. /**
  1768. * @return The user friendly name of the sink.
  1769. */
  1770. public String getName() {
  1771. - return mName;
  1772. + return "";
  1773. }
  1774. /**
  1775. @@ -52,17 +35,8 @@ public class MediaSink {
  1776. return CAST_SINK_URN_PREFIX + getId();
  1777. }
  1778. - public CastDevice getDevice() {
  1779. - return mDevice;
  1780. - }
  1781. -
  1782. @Override
  1783. public boolean equals(Object o) {
  1784. - if (o == this) return true;
  1785. - if (o instanceof MediaSink) {
  1786. - MediaSink other = (MediaSink) o;
  1787. - return mId.equals(other.getId()) && mName.equals(other.getName());
  1788. - }
  1789. return false;
  1790. }
  1791. @@ -70,23 +44,15 @@ public class MediaSink {
  1792. public int hashCode() {
  1793. final int prime = 31;
  1794. int result = 1;
  1795. - result = prime * result + ((mId == null) ? 0 : mId.hashCode());
  1796. - result = prime * result + ((mName == null) ? 0 : mName.hashCode());
  1797. return result;
  1798. }
  1799. - @Override
  1800. - public String toString() {
  1801. - return String.format("MediaSink: %s, %s", getId(), getName());
  1802. - }
  1803. -
  1804. /**
  1805. * @param route The route information provided by Android.
  1806. * @return A new MediaSink instance corresponding to the specified {@link RouteInfo}.
  1807. */
  1808. public static MediaSink fromRoute(MediaRouter.RouteInfo route) {
  1809. - return new MediaSink(
  1810. - route.getId(), route.getName(), CastDevice.getFromBundle(route.getExtras()));
  1811. + return null;
  1812. }
  1813. /**
  1814. @@ -97,10 +63,6 @@ public class MediaSink {
  1815. */
  1816. @Nullable
  1817. public static MediaSink fromSinkId(String sinkId, MediaRouter router) {
  1818. - for (MediaRouter.RouteInfo route : router.getRoutes()) {
  1819. - MediaSink sink = MediaSink.fromRoute(route);
  1820. - if (sink.getId().equals(sinkId)) return sink;
  1821. - }
  1822. return null;
  1823. }
  1824. }
  1825. diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/MediaStatusBridge.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/MediaStatusBridge.java
  1826. --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/MediaStatusBridge.java
  1827. +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/MediaStatusBridge.java
  1828. @@ -4,10 +4,6 @@
  1829. package org.chromium.components.media_router;
  1830. -import com.google.android.gms.cast.MediaInfo;
  1831. -import com.google.android.gms.cast.MediaMetadata;
  1832. -import com.google.android.gms.cast.MediaStatus;
  1833. -
  1834. import org.chromium.base.annotations.CalledByNative;
  1835. import org.chromium.base.annotations.JNINamespace;
  1836. @@ -17,11 +13,6 @@ import org.chromium.base.annotations.JNINamespace;
  1837. */
  1838. @JNINamespace("media_router")
  1839. public class MediaStatusBridge {
  1840. - private MediaStatus mStatus;
  1841. -
  1842. - public MediaStatusBridge(MediaStatus status) {
  1843. - mStatus = status;
  1844. - }
  1845. /**
  1846. * Gets the play state of the stream. Return values are defined as such:
  1847. @@ -34,7 +25,7 @@ public class MediaStatusBridge {
  1848. */
  1849. @CalledByNative
  1850. public int playerState() {
  1851. - return mStatus.getPlayerState();
  1852. + return 0;
  1853. }
  1854. /**
  1855. @@ -48,7 +39,7 @@ public class MediaStatusBridge {
  1856. */
  1857. @CalledByNative
  1858. public int idleReason() {
  1859. - return mStatus.getIdleReason();
  1860. + return 0;
  1861. }
  1862. /**
  1863. @@ -57,13 +48,7 @@ public class MediaStatusBridge {
  1864. */
  1865. @CalledByNative
  1866. public String title() {
  1867. - MediaInfo info = mStatus.getMediaInfo();
  1868. - if (info == null) return "";
  1869. -
  1870. - MediaMetadata metadata = info.getMetadata();
  1871. - if (metadata == null) return "";
  1872. -
  1873. - return metadata.getString(MediaMetadata.KEY_TITLE);
  1874. + return "";
  1875. }
  1876. /**
  1877. @@ -71,7 +56,7 @@ public class MediaStatusBridge {
  1878. */
  1879. @CalledByNative
  1880. public boolean canPlayPause() {
  1881. - return mStatus.isMediaCommandSupported(MediaStatus.COMMAND_PAUSE);
  1882. + return false;
  1883. }
  1884. /**
  1885. @@ -79,7 +64,7 @@ public class MediaStatusBridge {
  1886. */
  1887. @CalledByNative
  1888. public boolean canMute() {
  1889. - return mStatus.isMediaCommandSupported(MediaStatus.COMMAND_TOGGLE_MUTE);
  1890. + return false;
  1891. }
  1892. /**
  1893. @@ -87,7 +72,7 @@ public class MediaStatusBridge {
  1894. */
  1895. @CalledByNative
  1896. public boolean canSetVolume() {
  1897. - return mStatus.isMediaCommandSupported(MediaStatus.COMMAND_SET_VOLUME);
  1898. + return false;
  1899. }
  1900. /**
  1901. @@ -95,7 +80,7 @@ public class MediaStatusBridge {
  1902. */
  1903. @CalledByNative
  1904. public boolean canSeek() {
  1905. - return mStatus.isMediaCommandSupported(MediaStatus.COMMAND_SEEK);
  1906. + return false;
  1907. }
  1908. /**
  1909. @@ -103,7 +88,7 @@ public class MediaStatusBridge {
  1910. */
  1911. @CalledByNative
  1912. public boolean isMuted() {
  1913. - return mStatus.isMute();
  1914. + return false;
  1915. }
  1916. /**
  1917. @@ -113,7 +98,7 @@ public class MediaStatusBridge {
  1918. */
  1919. @CalledByNative
  1920. public double volume() {
  1921. - return mStatus.getStreamVolume();
  1922. + return 0.0;
  1923. }
  1924. /**
  1925. @@ -122,10 +107,7 @@ public class MediaStatusBridge {
  1926. */
  1927. @CalledByNative
  1928. public long duration() {
  1929. - MediaInfo info = mStatus.getMediaInfo();
  1930. - if (info == null) return 0;
  1931. -
  1932. - return info.getStreamDuration();
  1933. + return 0;
  1934. }
  1935. /**
  1936. @@ -133,6 +115,6 @@ public class MediaStatusBridge {
  1937. */
  1938. @CalledByNative
  1939. public long currentTime() {
  1940. - return mStatus.getStreamPosition();
  1941. + return 0;
  1942. }
  1943. }
  1944. diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseNotificationController.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseNotificationController.java
  1945. --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseNotificationController.java
  1946. +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseNotificationController.java
  1947. @@ -6,10 +6,6 @@ package org.chromium.components.media_router.caf;
  1948. import android.content.Intent;
  1949. -import com.google.android.gms.cast.CastDevice;
  1950. -import com.google.android.gms.cast.MediaStatus;
  1951. -import com.google.android.gms.cast.framework.media.RemoteMediaClient;
  1952. -
  1953. import org.chromium.components.browser_ui.media.MediaNotificationInfo;
  1954. import org.chromium.components.browser_ui.media.MediaNotificationListener;
  1955. import org.chromium.components.browser_ui.media.MediaNotificationManager;
  1956. @@ -62,20 +58,6 @@ public abstract class BaseNotificationController
  1957. public void onStatusUpdated() {
  1958. if (mNotificationBuilder == null) return;
  1959. if (!mSessionController.isConnected()) return;
  1960. -
  1961. - MediaStatus mediaStatus = mSessionController.getRemoteMediaClient().getMediaStatus();
  1962. - if (mediaStatus == null) return;
  1963. -
  1964. - int playerState = mediaStatus.getPlayerState();
  1965. - if (playerState == MediaStatus.PLAYER_STATE_PAUSED
  1966. - || playerState == MediaStatus.PLAYER_STATE_PLAYING) {
  1967. - mNotificationBuilder.setPaused(playerState != MediaStatus.PLAYER_STATE_PLAYING);
  1968. - mNotificationBuilder.setActions(
  1969. - MediaNotificationInfo.ACTION_STOP | MediaNotificationInfo.ACTION_PLAY_PAUSE);
  1970. - } else {
  1971. - mNotificationBuilder.setActions(MediaNotificationInfo.ACTION_STOP);
  1972. - }
  1973. - MediaRouterClient.getInstance().showNotification(mNotificationBuilder.build());
  1974. }
  1975. /** Called when media metadata updated. */
  1976. @@ -91,30 +73,6 @@ public abstract class BaseNotificationController
  1977. mNotificationBuilder.setMetadata(notificationMetadata);
  1978. if (!mSessionController.isConnected()) return;
  1979. -
  1980. - CastDevice castDevice = mSessionController.getSession().getCastDevice();
  1981. - if (castDevice != null) notificationMetadata.setTitle(castDevice.getFriendlyName());
  1982. -
  1983. - RemoteMediaClient remoteMediaClient = mSessionController.getRemoteMediaClient();
  1984. -
  1985. - com.google.android.gms.cast.MediaInfo info = remoteMediaClient.getMediaInfo();
  1986. - if (info == null) return;
  1987. -
  1988. - com.google.android.gms.cast.MediaMetadata metadata = info.getMetadata();
  1989. - if (metadata == null) return;
  1990. -
  1991. - String title = metadata.getString(com.google.android.gms.cast.MediaMetadata.KEY_TITLE);
  1992. - if (title != null) notificationMetadata.setTitle(title);
  1993. -
  1994. - String artist = metadata.getString(com.google.android.gms.cast.MediaMetadata.KEY_ARTIST);
  1995. - if (artist == null) {
  1996. - artist = metadata.getString(com.google.android.gms.cast.MediaMetadata.KEY_ALBUM_ARTIST);
  1997. - }
  1998. - if (artist != null) notificationMetadata.setArtist(artist);
  1999. -
  2000. - String album =
  2001. - metadata.getString(com.google.android.gms.cast.MediaMetadata.KEY_ALBUM_TITLE);
  2002. - if (album != null) notificationMetadata.setAlbum(album);
  2003. }
  2004. /////////////////////////////////////////////////////////////////////////////////////////////
  2005. @@ -122,20 +80,10 @@ public abstract class BaseNotificationController
  2006. @Override
  2007. public void onPlay(int actionSource) {
  2008. - if (!mSessionController.isConnected()) return;
  2009. -
  2010. - mSessionController.getRemoteMediaClient().play();
  2011. - MediaRouteUmaRecorder.recordCastNotificationControlsAction(
  2012. - MediaRouteUmaRecorder.CastNotificationControls.RESUME);
  2013. }
  2014. @Override
  2015. public void onPause(int actionSource) {
  2016. - if (!mSessionController.isConnected()) return;
  2017. -
  2018. - mSessionController.getRemoteMediaClient().pause();
  2019. - MediaRouteUmaRecorder.recordCastNotificationControlsAction(
  2020. - MediaRouteUmaRecorder.CastNotificationControls.PAUSE);
  2021. }
  2022. @Override
  2023. diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseSessionController.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseSessionController.java
  2024. --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseSessionController.java
  2025. +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/BaseSessionController.java
  2026. @@ -6,12 +6,7 @@ package org.chromium.components.media_router.caf;
  2027. import androidx.annotation.Nullable;
  2028. -import com.google.android.gms.cast.CastDevice;
  2029. -import com.google.android.gms.cast.framework.CastSession;
  2030. -import com.google.android.gms.cast.framework.media.RemoteMediaClient;
  2031. -
  2032. import org.chromium.base.Log;
  2033. -import org.chromium.components.media_router.CastSessionUtil;
  2034. import org.chromium.components.media_router.FlingingController;
  2035. import org.chromium.components.media_router.MediaSink;
  2036. import org.chromium.components.media_router.MediaSource;
  2037. @@ -42,15 +37,12 @@ public abstract class BaseSessionController {
  2038. void onMetadataUpdated();
  2039. }
  2040. - private CastSession mCastSession;
  2041. private final CafBaseMediaRouteProvider mProvider;
  2042. private CreateRouteRequestInfo mRouteCreationInfo;
  2043. - private final RemoteMediaClient.Callback mRemoteMediaClientCallback;
  2044. private final List<Callback> mCallbacks = new ArrayList<>();
  2045. public BaseSessionController(CafBaseMediaRouteProvider provider) {
  2046. mProvider = provider;
  2047. - mRemoteMediaClientCallback = new RemoteMediaClientCallback();
  2048. }
  2049. public void addCallback(Callback callback) {
  2050. @@ -63,9 +55,6 @@ public abstract class BaseSessionController {
  2051. public void requestSessionLaunch() {
  2052. mRouteCreationInfo = mProvider.getPendingCreateRouteRequestInfo();
  2053. - CastUtils.getCastContext().setReceiverApplicationId(
  2054. - mRouteCreationInfo.source.getApplicationId());
  2055. -
  2056. // When the user clicks a route on the MediaRouteChooserDialog, we intercept the click event
  2057. // and do not select the route. Instead the route selection is postponed to here. This will
  2058. // trigger CAF to launch the session.
  2059. @@ -84,69 +73,22 @@ public abstract class BaseSessionController {
  2060. return mRouteCreationInfo;
  2061. }
  2062. - public CastSession getSession() {
  2063. - return mCastSession;
  2064. - }
  2065. -
  2066. - public RemoteMediaClient getRemoteMediaClient() {
  2067. - return isConnected() ? mCastSession.getRemoteMediaClient() : null;
  2068. - }
  2069. -
  2070. public abstract BaseNotificationController getNotificationController();
  2071. public void endSession() {
  2072. - CastUtils.getCastContext().getSessionManager().endCurrentSession(/* stopCasting= */ true);
  2073. - CastUtils.getCastContext().setReceiverApplicationId(null);
  2074. }
  2075. public List<String> getCapabilities() {
  2076. List<String> capabilities = new ArrayList<>();
  2077. - if (mCastSession == null || !mCastSession.isConnected()) return capabilities;
  2078. - CastDevice device = mCastSession.getCastDevice();
  2079. - if (device.hasCapability(CastDevice.CAPABILITY_AUDIO_IN)) {
  2080. - capabilities.add("audio_in");
  2081. - }
  2082. - if (device.hasCapability(CastDevice.CAPABILITY_AUDIO_OUT)) {
  2083. - capabilities.add("audio_out");
  2084. - }
  2085. - if (device.hasCapability(CastDevice.CAPABILITY_VIDEO_IN)) {
  2086. - capabilities.add("video_in");
  2087. - }
  2088. - if (device.hasCapability(CastDevice.CAPABILITY_VIDEO_OUT)) {
  2089. - capabilities.add("video_out");
  2090. - }
  2091. return capabilities;
  2092. }
  2093. public boolean isConnected() {
  2094. - return mCastSession != null && mCastSession.isConnected();
  2095. + return false;
  2096. }
  2097. private void updateRemoteMediaClient(String message) {
  2098. if (!isConnected()) return;
  2099. -
  2100. - mCastSession.getRemoteMediaClient().onMessageReceived(
  2101. - mCastSession.getCastDevice(), CastSessionUtil.MEDIA_NAMESPACE, message);
  2102. - }
  2103. -
  2104. - /** Attaches the controller to the current {@link CastSession}. */
  2105. - public void attachToCastSession(CastSession session) {
  2106. - mCastSession = session;
  2107. - RemoteMediaClient uncheckedRemoteMediaClient = mCastSession.getRemoteMediaClient();
  2108. - if (uncheckedRemoteMediaClient != null) {
  2109. - uncheckedRemoteMediaClient.registerCallback(mRemoteMediaClientCallback);
  2110. - }
  2111. - }
  2112. -
  2113. - /** Detaches the controller from any {@link CastSession}. */
  2114. - public void detachFromCastSession() {
  2115. - if (mCastSession == null) return;
  2116. -
  2117. - RemoteMediaClient uncheckedRemoteMediaClient = mCastSession.getRemoteMediaClient();
  2118. - if (uncheckedRemoteMediaClient != null) {
  2119. - uncheckedRemoteMediaClient.unregisterCallback(mRemoteMediaClientCallback);
  2120. - }
  2121. - mCastSession = null;
  2122. }
  2123. /** Called when session started. */
  2124. @@ -163,50 +105,12 @@ public abstract class BaseSessionController {
  2125. return mProvider;
  2126. }
  2127. - /**
  2128. - * All sub-classes need to register this method to listen to messages of the namespaces they are
  2129. - * interested in.
  2130. - */
  2131. - protected void onMessageReceived(CastDevice castDevice, String namespace, String message) {
  2132. - Log.d(TAG,
  2133. - "Received message from Cast device: namespace=\"" + namespace + "\" message=\""
  2134. - + message + "\"");
  2135. - if (CastSessionUtil.MEDIA_NAMESPACE.equals(namespace)) {
  2136. - updateRemoteMediaClient(message);
  2137. - }
  2138. - }
  2139. -
  2140. - private class RemoteMediaClientCallback extends RemoteMediaClient.Callback {
  2141. - @Override
  2142. - public void onStatusUpdated() {
  2143. - BaseSessionController.this.onStatusUpdated();
  2144. - }
  2145. -
  2146. - @Override
  2147. - public void onMetadataUpdated() {
  2148. - BaseSessionController.this.onMetadataUpdated();
  2149. - }
  2150. - }
  2151. -
  2152. - protected void onStatusUpdated() {
  2153. - notifyCallback((Callback callback) -> callback.onStatusUpdated());
  2154. - }
  2155. -
  2156. - protected void onMetadataUpdated() {
  2157. - notifyCallback((Callback callback) -> callback.onMetadataUpdated());
  2158. - }
  2159. -
  2160. - @Nullable
  2161. - public FlingingController getFlingingController() {
  2162. - return null;
  2163. - }
  2164. -
  2165. /**
  2166. * Helper message to get the session ID of the attached session. For stubbing in tests as
  2167. * {@link CastSession#getSessionId()} is final.
  2168. */
  2169. public String getSessionId() {
  2170. - return isConnected() ? getSession().getSessionId() : null;
  2171. + return null;
  2172. }
  2173. private void notifyCallback(NotifyCallbackAction action) {
  2174. diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafBaseMediaRouteProvider.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafBaseMediaRouteProvider.java
  2175. --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafBaseMediaRouteProvider.java
  2176. +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafBaseMediaRouteProvider.java
  2177. @@ -12,10 +12,6 @@ import androidx.mediarouter.media.MediaRouteSelector;
  2178. import androidx.mediarouter.media.MediaRouter;
  2179. import androidx.mediarouter.media.MediaRouter.RouteInfo;
  2180. -import com.google.android.gms.cast.framework.CastSession;
  2181. -import com.google.android.gms.cast.framework.SessionManagerListener;
  2182. -import com.google.android.gms.cast.framework.media.RemoteMediaClient;
  2183. -
  2184. import org.chromium.base.Log;
  2185. import org.chromium.components.media_router.DiscoveryCallback;
  2186. import org.chromium.components.media_router.DiscoveryDelegate;
  2187. @@ -39,7 +35,7 @@ import java.util.Set;
  2188. * A base provider containing common implementation for CAF-based {@link MediaRouteProvider}s.
  2189. */
  2190. public abstract class CafBaseMediaRouteProvider
  2191. - implements MediaRouteProvider, DiscoveryDelegate, SessionManagerListener<CastSession> {
  2192. + implements MediaRouteProvider, DiscoveryDelegate {
  2193. private static final String TAG = "CafMR";
  2194. protected static final List<MediaSink> NO_SINKS = Collections.emptyList();
  2195. @@ -155,7 +151,6 @@ public abstract class CafBaseMediaRouteProvider
  2196. // current session and clean up the routes (can't wait for session ending as the signal
  2197. // might be delayed).
  2198. sessionController().endSession();
  2199. - handleSessionEnd();
  2200. }
  2201. if (mPendingCreateRouteRequestInfo != null) {
  2202. cancelPendingRequest("Request replaced");
  2203. @@ -184,9 +179,6 @@ public abstract class CafBaseMediaRouteProvider
  2204. mManager.onCreateRouteRequestError("The sink does not exist", nativeRequestId);
  2205. }
  2206. - CastUtils.getCastContext().getSessionManager().addSessionManagerListener(
  2207. - this, CastSession.class);
  2208. -
  2209. mPendingCreateRouteRequestInfo = new CreateRouteRequestInfo(source, sink, presentationId,
  2210. origin, tabId, isOffTheRecord, nativeRequestId, targetRouteInfo);
  2211. @@ -213,110 +205,6 @@ public abstract class CafBaseMediaRouteProvider
  2212. removeRoute(routeId, /* error= */ null);
  2213. }
  2214. - ///////////////////////////////////////////////////////
  2215. - // SessionManagerListener implementation begin
  2216. - ///////////////////////////////////////////////////////
  2217. -
  2218. - @Override
  2219. - public final void onSessionStarting(CastSession session) {
  2220. - // The session is not connected yet at this point so this is no-op.
  2221. - }
  2222. -
  2223. - @Override
  2224. - public void onSessionStartFailed(CastSession session, int error) {
  2225. - removeAllRoutes("Launch error");
  2226. - cancelPendingRequest("Launch error");
  2227. - }
  2228. -
  2229. - @Override
  2230. - public void onSessionStarted(CastSession session, String sessionId) {
  2231. - Log.d(TAG, "onSessionStarted");
  2232. -
  2233. - if (session != CastUtils.getCastContext().getSessionManager().getCurrentCastSession()) {
  2234. - // Sometimes the session start signal might come in for an earlier launch request, which
  2235. - // should be ignored.
  2236. - return;
  2237. - }
  2238. -
  2239. - if (session == sessionController().getSession() || mPendingCreateRouteRequestInfo == null) {
  2240. - // Early return for any possible case that the session start signal comes in twice for
  2241. - // the same session.
  2242. - return;
  2243. - }
  2244. - handleSessionStart(session, sessionId);
  2245. - }
  2246. -
  2247. - @Override
  2248. - public final void onSessionResumed(CastSession session, boolean wasSuspended) {
  2249. - sessionController().attachToCastSession(session);
  2250. - }
  2251. -
  2252. - @Override
  2253. - public final void onSessionResuming(CastSession session, String sessionId) {}
  2254. -
  2255. - @Override
  2256. - public final void onSessionResumeFailed(CastSession session, int error) {}
  2257. -
  2258. - @Override
  2259. - public final void onSessionEnding(CastSession session) {
  2260. - RemoteMediaClient client = session.getRemoteMediaClient();
  2261. - if (client != null) {
  2262. - MediaRouteUmaRecorder.castEndedTimeRemaining(
  2263. - client.getApproximateStreamPosition(), client.getStreamDuration());
  2264. - }
  2265. - handleSessionEnd();
  2266. - }
  2267. -
  2268. - @Override
  2269. - public final void onSessionEnded(CastSession session, int error) {
  2270. - Log.d(TAG, "Session ended with error code " + error);
  2271. - RemoteMediaClient client = session.getRemoteMediaClient();
  2272. - if (client != null) {
  2273. - MediaRouteUmaRecorder.castEndedTimeRemaining(
  2274. - client.getApproximateStreamPosition(), client.getStreamDuration());
  2275. - }
  2276. - handleSessionEnd();
  2277. - }
  2278. -
  2279. - @Override
  2280. - public final void onSessionSuspended(CastSession session, int reason) {
  2281. - sessionController().detachFromCastSession();
  2282. - }
  2283. -
  2284. - ///////////////////////////////////////////////////////
  2285. - // SessionManagerListener implementation end
  2286. - ///////////////////////////////////////////////////////
  2287. -
  2288. - protected void handleSessionStart(CastSession session, String sessionId) {
  2289. - sessionController().attachToCastSession(session);
  2290. - sessionController().onSessionStarted();
  2291. -
  2292. - MediaSink sink = mPendingCreateRouteRequestInfo.sink;
  2293. - MediaSource source = mPendingCreateRouteRequestInfo.source;
  2294. - MediaRoute route = new MediaRoute(
  2295. - sink.getId(), source.getSourceId(), mPendingCreateRouteRequestInfo.presentationId);
  2296. - addRoute(route, mPendingCreateRouteRequestInfo.origin, mPendingCreateRouteRequestInfo.tabId,
  2297. - mPendingCreateRouteRequestInfo.nativeRequestId, /* wasLaunched= */ true);
  2298. -
  2299. - mPendingCreateRouteRequestInfo = null;
  2300. - }
  2301. -
  2302. - private void handleSessionEnd() {
  2303. - if (mPendingCreateRouteRequestInfo != null) {
  2304. - // The Cast SDK notifies about session ending when a route is unselected, even when
  2305. - // there's no current session. Because CastSessionController unselects the route to set
  2306. - // the receiver app ID, this needs to be guarded by a pending request null check to make
  2307. - // sure the listener is not unregistered during a session relaunch.
  2308. - return;
  2309. - }
  2310. - sessionController().onSessionEnded();
  2311. - sessionController().detachFromCastSession();
  2312. - getAndroidMediaRouter().selectRoute(getAndroidMediaRouter().getDefaultRoute());
  2313. - terminateAllRoutes();
  2314. - CastUtils.getCastContext().getSessionManager().removeSessionManagerListener(
  2315. - this, CastSession.class);
  2316. - }
  2317. -
  2318. private void cancelPendingRequest(String error) {
  2319. if (mPendingCreateRouteRequestInfo == null) return;
  2320. diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafMediaRouteProvider.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafMediaRouteProvider.java
  2321. --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafMediaRouteProvider.java
  2322. +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafMediaRouteProvider.java
  2323. @@ -11,8 +11,6 @@ import androidx.annotation.Nullable;
  2324. import androidx.annotation.VisibleForTesting;
  2325. import androidx.mediarouter.media.MediaRouter;
  2326. -import com.google.android.gms.cast.framework.CastSession;
  2327. -
  2328. import org.chromium.base.Log;
  2329. import org.chromium.components.media_router.BrowserMediaRouter;
  2330. import org.chromium.components.media_router.ClientRecord;
  2331. @@ -150,20 +148,6 @@ public class CafMediaRouteProvider extends CafBaseMediaRouteProvider {
  2332. return mMessageHandler;
  2333. }
  2334. - @Override
  2335. - protected void handleSessionStart(CastSession session, String sessionId) {
  2336. - super.handleSessionStart(session, sessionId);
  2337. -
  2338. - for (ClientRecord clientRecord : mClientIdToRecords.values()) {
  2339. - // Should be exactly one instance of MediaRoute/ClientRecord at this moment.
  2340. - mMessageHandler.sendReceiverActionToClient(clientRecord.routeId,
  2341. - sessionController().getSink(), clientRecord.clientId, "cast");
  2342. - }
  2343. -
  2344. - mMessageHandler.onSessionStarted();
  2345. - sessionController().getSession().getRemoteMediaClient().requestStatus();
  2346. - }
  2347. -
  2348. @Override
  2349. protected void addRoute(
  2350. MediaRoute route, String origin, int tabId, int nativeRequestId, boolean wasLaunched) {
  2351. diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafMessageHandler.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafMessageHandler.java
  2352. --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafMessageHandler.java
  2353. +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CafMessageHandler.java
  2354. @@ -13,10 +13,6 @@ import android.util.SparseArray;
  2355. import androidx.annotation.VisibleForTesting;
  2356. import androidx.collection.ArrayMap;
  2357. -import com.google.android.gms.cast.ApplicationMetadata;
  2358. -import com.google.android.gms.common.api.PendingResult;
  2359. -import com.google.android.gms.common.api.Status;
  2360. -
  2361. import org.json.JSONArray;
  2362. import org.json.JSONException;
  2363. import org.json.JSONObject;
  2364. @@ -345,49 +341,7 @@ public class CafMessageHandler {
  2365. final int sequenceNumber) throws JSONException {
  2366. if (volumeMessage == null) return false;
  2367. if (!mSessionController.isConnected()) return false;
  2368. - boolean shouldWaitForVolumeChange = false;
  2369. - try {
  2370. - if (!volumeMessage.isNull("muted")) {
  2371. - boolean newMuted = volumeMessage.getBoolean("muted");
  2372. - if (mSessionController.getSession().isMute() != newMuted) {
  2373. - mSessionController.getSession().setMute(newMuted);
  2374. - shouldWaitForVolumeChange = true;
  2375. - }
  2376. - }
  2377. - if (!volumeMessage.isNull("level")) {
  2378. - double newLevel = volumeMessage.getDouble("level");
  2379. - double currentLevel = mSessionController.getSession().getVolume();
  2380. - if (!Double.isNaN(currentLevel)
  2381. - && Math.abs(currentLevel - newLevel)
  2382. - > CastSessionUtil.MIN_VOLUME_LEVEL_DELTA) {
  2383. - mSessionController.getSession().setVolume(newLevel);
  2384. - shouldWaitForVolumeChange = true;
  2385. - }
  2386. - }
  2387. - } catch (IOException | IllegalStateException e) {
  2388. - Log.e(TAG, "Failed to send volume command: " + e);
  2389. - return false;
  2390. - }
  2391. -
  2392. - // For each successful volume message we need to respond with an empty "v2_message" so the
  2393. - // Cast Web SDK can call the success callback of the page. If we expect the volume to change
  2394. - // as the result of the command, we're relying on {@link Cast.CastListener#onVolumeChanged}
  2395. - // to get called by the Android Cast SDK when the receiver status is updated. We keep the
  2396. - // sequence number until then. If the volume doesn't change as the result of the command, we
  2397. - // won't get notified by the Android SDK
  2398. - if (shouldWaitForVolumeChange) {
  2399. - mVolumeRequests.add(new RequestRecord(clientId, sequenceNumber));
  2400. - } else {
  2401. - // It's usually bad to have request and response on the same call stack so post the
  2402. - // response to the Android message loop.
  2403. - mHandler.post(new Runnable() {
  2404. - @Override
  2405. - public void run() {
  2406. - onVolumeChanged(clientId, sequenceNumber);
  2407. - }
  2408. - });
  2409. - }
  2410. - return true;
  2411. + return false;
  2412. }
  2413. @VisibleForTesting
  2414. @@ -675,19 +629,11 @@ public class CafMessageHandler {
  2415. try {
  2416. // "volume" is a part of "receiver" initialized below.
  2417. JSONObject jsonVolume = new JSONObject();
  2418. - jsonVolume.put("level", mSessionController.getSession().getVolume());
  2419. - jsonVolume.put("muted", mSessionController.getSession().isMute());
  2420. // "receiver" is a part of "message" initialized below.
  2421. JSONObject jsonReceiver = new JSONObject();
  2422. - jsonReceiver.put(
  2423. - "label", mSessionController.getSession().getCastDevice().getDeviceId());
  2424. - jsonReceiver.put("friendlyName",
  2425. - mSessionController.getSession().getCastDevice().getFriendlyName());
  2426. jsonReceiver.put("capabilities", toJSONArray(mSessionController.getCapabilities()));
  2427. jsonReceiver.put("volume", jsonVolume);
  2428. - jsonReceiver.put(
  2429. - "isActiveInput", mSessionController.getSession().getActiveInputState());
  2430. jsonReceiver.put("displayStatus", null);
  2431. jsonReceiver.put("receiverType", "cast");
  2432. @@ -700,23 +646,14 @@ public class CafMessageHandler {
  2433. JSONObject jsonMessage = new JSONObject();
  2434. jsonMessage.put("sessionId", mSessionController.getSessionId());
  2435. - jsonMessage.put("statusText", mSessionController.getSession().getApplicationStatus());
  2436. jsonMessage.put("receiver", jsonReceiver);
  2437. jsonMessage.put("namespaces", jsonNamespaces);
  2438. jsonMessage.put("media", toJSONArray(new ArrayList<>()));
  2439. jsonMessage.put("status", "connected");
  2440. jsonMessage.put("transportId", "web-4");
  2441. - ApplicationMetadata applicationMetadata =
  2442. - mSessionController.getSession().getApplicationMetadata();
  2443. - if (applicationMetadata != null) {
  2444. - jsonMessage.put("appId", applicationMetadata.getApplicationId());
  2445. - } else {
  2446. - jsonMessage.put("appId",
  2447. - mSessionController.getRouteCreationInfo().source.getApplicationId());
  2448. - }
  2449. - jsonMessage.put("displayName",
  2450. - mSessionController.getSession().getCastDevice().getFriendlyName());
  2451. + jsonMessage.put("appId",
  2452. + mSessionController.getRouteCreationInfo().source.getApplicationId());
  2453. return jsonMessage.toString();
  2454. } catch (JSONException e) {
  2455. @@ -797,32 +734,6 @@ public class CafMessageHandler {
  2456. boolean sendStringCastMessage(
  2457. String message, String namespace, String clientId, int sequenceNumber) {
  2458. if (!mSessionController.isConnected()) return false;
  2459. -
  2460. - PendingResult<Status> pendingResult =
  2461. - mSessionController.getSession().sendMessage(namespace, message);
  2462. - if (!TextUtils.equals(namespace, CastSessionUtil.MEDIA_NAMESPACE)) {
  2463. - // Media commands wait for the media status update as a result.
  2464. - pendingResult.setResultCallback(
  2465. - (Status result) -> onSendAppMessageResult(result, clientId, sequenceNumber));
  2466. - }
  2467. - return true;
  2468. - }
  2469. -
  2470. - /**
  2471. - * Notifies a client that an app message has been sent.
  2472. - * @param clientId The client id the message is sent from.
  2473. - * @param sequenceNumber The sequence number of the message.
  2474. - */
  2475. - void onSendAppMessageResult(Status result, String clientId, int sequenceNumber) {
  2476. - if (!result.isSuccess()) {
  2477. - // TODO(avayvod): should actually report back to the page.
  2478. - // See https://crbug.com/550445.
  2479. - Log.e(TAG, "Failed to send the message: " + result);
  2480. - return;
  2481. - }
  2482. -
  2483. - // App messages wait for the empty message with the sequence
  2484. - // number.
  2485. - sendEnclosedMessageToClient(clientId, "app_message", null, sequenceNumber);
  2486. + return false;
  2487. }
  2488. }
  2489. diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastMediaSource.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastMediaSource.java
  2490. --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastMediaSource.java
  2491. +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastMediaSource.java
  2492. @@ -9,8 +9,6 @@ import android.net.Uri;
  2493. import androidx.annotation.Nullable;
  2494. import androidx.mediarouter.media.MediaRouteSelector;
  2495. -import com.google.android.gms.cast.CastMediaControlIntent;
  2496. -
  2497. import org.chromium.components.media_router.MediaSource;
  2498. import java.util.Arrays;
  2499. @@ -106,13 +104,7 @@ public class CastMediaSource implements MediaSource {
  2500. */
  2501. @Override
  2502. public MediaRouteSelector buildRouteSelector() {
  2503. - try {
  2504. - return new MediaRouteSelector.Builder()
  2505. - .addControlCategory(CastMediaControlIntent.categoryForCast(mApplicationId))
  2506. - .build();
  2507. - } catch (IllegalArgumentException e) {
  2508. - return null;
  2509. - }
  2510. + return null;
  2511. }
  2512. /**
  2513. diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastOptionsProvider.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastOptionsProvider.java
  2514. --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastOptionsProvider.java
  2515. +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastOptionsProvider.java
  2516. @@ -6,28 +6,8 @@ package org.chromium.components.media_router.caf;
  2517. import android.content.Context;
  2518. -import com.google.android.gms.cast.LaunchOptions;
  2519. -import com.google.android.gms.cast.framework.CastOptions;
  2520. -import com.google.android.gms.cast.framework.OptionsProvider;
  2521. -import com.google.android.gms.cast.framework.SessionProvider;
  2522. -
  2523. import java.util.List;
  2524. /** {@link OptionsProvider} implementation for Chrome MR. */
  2525. -public class CastOptionsProvider implements OptionsProvider {
  2526. - @Override
  2527. - public CastOptions getCastOptions(Context context) {
  2528. - return new CastOptions.Builder()
  2529. - .setCastMediaOptions(null)
  2530. - .setEnableReconnectionService(false)
  2531. - .setLaunchOptions(new LaunchOptions.Builder().setRelaunchIfRunning(true).build())
  2532. - .setResumeSavedSession(false)
  2533. - .setStopReceiverApplicationWhenEndingSession(true)
  2534. - .build();
  2535. - }
  2536. -
  2537. - @Override
  2538. - public List<SessionProvider> getAdditionalSessionProviders(Context context) {
  2539. - return null;
  2540. - }
  2541. +public class CastOptionsProvider {
  2542. }
  2543. diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastSessionController.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastSessionController.java
  2544. --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastSessionController.java
  2545. +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastSessionController.java
  2546. @@ -7,11 +7,6 @@ package org.chromium.components.media_router.caf;
  2547. import androidx.annotation.NonNull;
  2548. import androidx.annotation.VisibleForTesting;
  2549. -import com.google.android.gms.cast.ApplicationMetadata;
  2550. -import com.google.android.gms.cast.Cast;
  2551. -import com.google.android.gms.cast.CastDevice;
  2552. -import com.google.android.gms.cast.framework.CastSession;
  2553. -
  2554. import org.chromium.base.Log;
  2555. import java.util.ArrayList;
  2556. @@ -24,12 +19,10 @@ public class CastSessionController extends BaseSessionController {
  2557. private static final String TAG = "CafSessionCtrl";
  2558. private List<String> mNamespaces = new ArrayList<String>();
  2559. - private CastListener mCastListener;
  2560. private CafNotificationController mNotificationController;
  2561. public CastSessionController(CafBaseMediaRouteProvider provider) {
  2562. super(provider);
  2563. - mCastListener = new CastListener();
  2564. mNotificationController = new CafNotificationController(this);
  2565. }
  2566. @@ -37,30 +30,6 @@ public class CastSessionController extends BaseSessionController {
  2567. return mNamespaces;
  2568. }
  2569. - /**
  2570. - * Init nested fields for testing. The reason is that nested classes are bound to the original
  2571. - * instance instead of the spyed instance.
  2572. - */
  2573. - void initNestedFieldsForTesting() {
  2574. - mCastListener = new CastListener();
  2575. - }
  2576. -
  2577. - @Override
  2578. - public void attachToCastSession(CastSession session) {
  2579. - super.attachToCastSession(session);
  2580. - getSession().addCastListener(mCastListener);
  2581. - updateNamespaces();
  2582. - }
  2583. -
  2584. - @Override
  2585. - public void detachFromCastSession() {
  2586. - if (getSession() == null) return;
  2587. -
  2588. - mNamespaces.clear();
  2589. - getSession().removeCastListener(mCastListener);
  2590. - super.detachFromCastSession();
  2591. - }
  2592. -
  2593. @Override
  2594. public void onSessionEnded() {
  2595. getMessageHandler().onSessionEnded();
  2596. @@ -72,24 +41,6 @@ public class CastSessionController extends BaseSessionController {
  2597. return mNotificationController;
  2598. }
  2599. - private class CastListener extends Cast.Listener {
  2600. - @Override
  2601. - public void onApplicationStatusChanged() {
  2602. - CastSessionController.this.onApplicationStatusChanged();
  2603. - }
  2604. -
  2605. - @Override
  2606. - public void onApplicationMetadataChanged(ApplicationMetadata metadata) {
  2607. - CastSessionController.this.onApplicationStatusChanged();
  2608. - }
  2609. -
  2610. - @Override
  2611. - public void onVolumeChanged() {
  2612. - CastSessionController.this.onApplicationStatusChanged();
  2613. - getMessageHandler().onVolumeChanged();
  2614. - }
  2615. - }
  2616. -
  2617. private void onApplicationStatusChanged() {
  2618. updateNamespaces();
  2619. @@ -100,53 +51,18 @@ public class CastSessionController extends BaseSessionController {
  2620. @VisibleForTesting
  2621. void updateNamespaces() {
  2622. if (!isConnected()) return;
  2623. -
  2624. - if (getSession().getApplicationMetadata() == null
  2625. - || getSession().getApplicationMetadata().getSupportedNamespaces() == null) {
  2626. - return;
  2627. - }
  2628. -
  2629. - Set<String> namespacesToAdd =
  2630. - new HashSet<>(getSession().getApplicationMetadata().getSupportedNamespaces());
  2631. - Set<String> namespacesToRemove = new HashSet<String>(mNamespaces);
  2632. -
  2633. - namespacesToRemove.removeAll(namespacesToAdd);
  2634. - namespacesToAdd.removeAll(mNamespaces);
  2635. -
  2636. - for (String namespace : namespacesToRemove) unregisterNamespace(namespace);
  2637. - for (String namespace : namespacesToAdd) registerNamespace(namespace);
  2638. }
  2639. private void registerNamespace(String namespace) {
  2640. assert !mNamespaces.contains(namespace);
  2641. if (!isConnected()) return;
  2642. -
  2643. - try {
  2644. - getSession().setMessageReceivedCallbacks(namespace, this::onMessageReceived);
  2645. - mNamespaces.add(namespace);
  2646. - } catch (Exception e) {
  2647. - Log.e(TAG, "Failed to register namespace listener for %s", namespace, e);
  2648. - }
  2649. }
  2650. private void unregisterNamespace(String namespace) {
  2651. assert mNamespaces.contains(namespace);
  2652. if (!isConnected()) return;
  2653. -
  2654. - try {
  2655. - getSession().removeMessageReceivedCallbacks(namespace);
  2656. - mNamespaces.remove(namespace);
  2657. - } catch (Exception e) {
  2658. - Log.e(TAG, "Failed to remove the namespace listener for %s", namespace, e);
  2659. - }
  2660. - }
  2661. -
  2662. - @Override
  2663. - protected void onMessageReceived(CastDevice castDevice, String namespace, String message) {
  2664. - super.onMessageReceived(castDevice, namespace, message);
  2665. - getMessageHandler().onMessageReceived(namespace, message);
  2666. }
  2667. @NonNull
  2668. diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastUtils.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastUtils.java
  2669. --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastUtils.java
  2670. +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/CastUtils.java
  2671. @@ -4,18 +4,10 @@
  2672. package org.chromium.components.media_router.caf;
  2673. -import com.google.android.gms.cast.framework.CastContext;
  2674. -
  2675. import org.chromium.components.media_router.MediaRouterClient;
  2676. /** Utility methods for Cast. */
  2677. public class CastUtils {
  2678. - /** Helper method to return the {@link CastContext} instance. */
  2679. - public static CastContext getCastContext() {
  2680. - return CastContext.getSharedInstance(
  2681. - MediaRouterClient.getInstance().getContextForRemoting());
  2682. - }
  2683. -
  2684. /**
  2685. * Compares two origins. Empty origin strings correspond to unique origins in
  2686. * url::Origin.
  2687. diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafExpandedControllerActivity.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafExpandedControllerActivity.java
  2688. --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafExpandedControllerActivity.java
  2689. +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafExpandedControllerActivity.java
  2690. @@ -45,60 +45,35 @@ public class CafExpandedControllerActivity
  2691. private MediaController.Delegate mControllerDelegate = new MediaController.Delegate() {
  2692. @Override
  2693. public void play() {
  2694. - if (!mSessionController.isConnected()) return;
  2695. -
  2696. - mSessionController.getSession().getRemoteMediaClient().play();
  2697. - MediaRouteUmaRecorder.recordFullscreenControlsAction(
  2698. - MediaRouteUmaRecorder.FullScreenControls.RESUME);
  2699. }
  2700. @Override
  2701. public void pause() {
  2702. - if (!mSessionController.isConnected()) return;
  2703. -
  2704. - mSessionController.getSession().getRemoteMediaClient().pause();
  2705. - MediaRouteUmaRecorder.recordFullscreenControlsAction(
  2706. - MediaRouteUmaRecorder.FullScreenControls.PAUSE);
  2707. }
  2708. @Override
  2709. public long getDuration() {
  2710. - if (!mSessionController.isConnected()) return 0;
  2711. - return mSessionController.getFlingingController().getDuration();
  2712. + return 0;
  2713. }
  2714. @Override
  2715. public long getPosition() {
  2716. - if (!mSessionController.isConnected()) return 0;
  2717. - return mSessionController.getFlingingController().getApproximateCurrentTime();
  2718. + return 0;
  2719. }
  2720. @Override
  2721. public void seekTo(long pos) {
  2722. - if (!mSessionController.isConnected()) return;
  2723. -
  2724. - mSessionController.getSession().getRemoteMediaClient().seek(pos);
  2725. - MediaRouteUmaRecorder.recordFullscreenControlsAction(
  2726. - MediaRouteUmaRecorder.FullScreenControls.SEEK);
  2727. }
  2728. @Override
  2729. public boolean isPlaying() {
  2730. - if (!mSessionController.isConnected()) return false;
  2731. -
  2732. - return mSessionController.getSession().getRemoteMediaClient().isPlaying();
  2733. + return false;
  2734. }
  2735. @Override
  2736. public long getActionFlags() {
  2737. long flags =
  2738. PlaybackStateCompat.ACTION_REWIND | PlaybackStateCompat.ACTION_FAST_FORWARD;
  2739. - if (mSessionController.isConnected()
  2740. - && mSessionController.getSession().getRemoteMediaClient().isPlaying()) {
  2741. - flags |= PlaybackStateCompat.ACTION_PAUSE;
  2742. - } else {
  2743. - flags |= PlaybackStateCompat.ACTION_PLAY;
  2744. - }
  2745. return flags;
  2746. }
  2747. };
  2748. @@ -187,20 +162,10 @@ public class CafExpandedControllerActivity
  2749. private void updateUi() {
  2750. if (!mSessionController.isConnected()) return;
  2751. - String deviceName = mSessionController.getSession().getCastDevice().getFriendlyName();
  2752. - String titleText = "";
  2753. - if (deviceName != null) {
  2754. - titleText = getResources().getString(R.string.cast_casting_video, deviceName);
  2755. - }
  2756. - mTitleView.setText(titleText);
  2757. -
  2758. mMediaController.refresh();
  2759. mMediaController.updateProgress();
  2760. cancelProgressUpdateTask();
  2761. - if (mSessionController.getSession().getRemoteMediaClient().isPlaying()) {
  2762. - scheduleProgressUpdateTask();
  2763. - }
  2764. }
  2765. private void scheduleProgressUpdateTask() {
  2766. diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafRemotingMediaRouteProvider.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafRemotingMediaRouteProvider.java
  2767. --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafRemotingMediaRouteProvider.java
  2768. +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/CafRemotingMediaRouteProvider.java
  2769. @@ -49,9 +49,6 @@ public class CafRemotingMediaRouteProvider extends CafBaseMediaRouteProvider {
  2770. @Override
  2771. public void detachRoute(String routeId) {
  2772. super.detachRoute(routeId);
  2773. - MediaRouteUmaRecorder.recordRemoteSessionTimeWithoutMediaElementPercentage(
  2774. - mSessionController.getFlingingController().getApproximateCurrentTime(),
  2775. - mSessionController.getFlingingController().getDuration());
  2776. }
  2777. @Override
  2778. @@ -74,6 +71,6 @@ public class CafRemotingMediaRouteProvider extends CafBaseMediaRouteProvider {
  2779. if (!mRoutes.containsKey(routeId)) return null;
  2780. - return sessionController().getFlingingController();
  2781. + return null;
  2782. }
  2783. }
  2784. diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/FlingingControllerAdapter.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/FlingingControllerAdapter.java
  2785. --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/FlingingControllerAdapter.java
  2786. +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/FlingingControllerAdapter.java
  2787. @@ -4,11 +4,6 @@
  2788. package org.chromium.components.media_router.caf.remoting;
  2789. -import com.google.android.gms.cast.MediaInfo;
  2790. -import com.google.android.gms.cast.MediaStatus;
  2791. -import com.google.android.gms.cast.framework.media.RemoteMediaClient;
  2792. -import com.google.android.gms.common.api.Result;
  2793. -
  2794. import org.chromium.base.Log;
  2795. import org.chromium.components.media_router.FlingingController;
  2796. import org.chromium.components.media_router.MediaController;
  2797. @@ -69,14 +64,6 @@ public class FlingingControllerAdapter implements FlingingController, MediaContr
  2798. /** Starts loading the media URL, from the given position. */
  2799. public void load(long position) {
  2800. if (!mSessionController.isConnected()) return;
  2801. -
  2802. - mLoaded = true;
  2803. -
  2804. - MediaInfo mediaInfo = new MediaInfo.Builder(mMediaUrl)
  2805. - .setContentType("*/*")
  2806. - .setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
  2807. - .build();
  2808. - mSessionController.getRemoteMediaClient().load(mediaInfo, /* autoplay= */ true, position);
  2809. }
  2810. ////////////////////////////////////////////
  2811. @@ -91,89 +78,28 @@ public class FlingingControllerAdapter implements FlingingController, MediaContr
  2812. load(/* position= */ 0);
  2813. return;
  2814. }
  2815. -
  2816. - mSessionController.getRemoteMediaClient().play().setResultCallback(
  2817. - this::onMediaCommandResult);
  2818. }
  2819. @Override
  2820. public void pause() {
  2821. if (!mSessionController.isConnected()) return;
  2822. - mSessionController.getRemoteMediaClient().pause().setResultCallback(
  2823. - this::onMediaCommandResult);
  2824. }
  2825. @Override
  2826. public void setMute(boolean mute) {
  2827. if (!mSessionController.isConnected()) return;
  2828. - mSessionController.getRemoteMediaClient().setStreamMute(mute).setResultCallback(
  2829. - this::onMediaCommandResult);
  2830. }
  2831. @Override
  2832. public void setVolume(double volume) {
  2833. if (!mSessionController.isConnected()) return;
  2834. - mSessionController.getRemoteMediaClient().setStreamVolume(volume).setResultCallback(
  2835. - this::onMediaCommandResult);
  2836. }
  2837. @Override
  2838. public void seek(long position) {
  2839. - if (!mSessionController.isConnected()) return;
  2840. -
  2841. - if (!mLoaded) {
  2842. - load(position);
  2843. - return;
  2844. - }
  2845. -
  2846. - mSessionController.getRemoteMediaClient().seek(position).setResultCallback(
  2847. - this::onMediaCommandResult);
  2848. - mStreamPositionExtrapolator.onSeek(position);
  2849. }
  2850. ////////////////////////////////////////////
  2851. // MediaController implementation end
  2852. ////////////////////////////////////////////
  2853. -
  2854. - public void onStatusUpdated() {
  2855. - if (mMediaStatusObserver == null) return;
  2856. -
  2857. - RemoteMediaClient remoteMediaClient = mSessionController.getRemoteMediaClient();
  2858. -
  2859. - MediaStatus mediaStatus = remoteMediaClient.getMediaStatus();
  2860. - if (mediaStatus != null) {
  2861. - mHasEverReceivedValidMediaSession = true;
  2862. - if (mediaStatus.getPlayerState() == MediaStatus.PLAYER_STATE_IDLE
  2863. - && mediaStatus.getIdleReason() == MediaStatus.IDLE_REASON_FINISHED) {
  2864. - mLoaded = false;
  2865. - mStreamPositionExtrapolator.onFinish();
  2866. - } else {
  2867. - mStreamPositionExtrapolator.update(remoteMediaClient.getStreamDuration(),
  2868. - remoteMediaClient.getApproximateStreamPosition(),
  2869. - remoteMediaClient.isPlaying(), mediaStatus.getPlaybackRate());
  2870. - }
  2871. -
  2872. - mMediaStatusObserver.onMediaStatusUpdate(new MediaStatusBridge(mediaStatus));
  2873. -
  2874. - } else if (mHasEverReceivedValidMediaSession) {
  2875. - // We can receive a null |mediaStatus| while we are in the process of loading the video.
  2876. - // We should wait until we receive one valid media status before considering the video
  2877. - // unloaded. Otherwise, the first call to seek or play will reload the video.
  2878. - // See b/144325733.
  2879. - mLoaded = false;
  2880. - mStreamPositionExtrapolator.clear();
  2881. - }
  2882. - }
  2883. -
  2884. - private void onMediaCommandResult(Result result) {
  2885. - // When multiple API calls are made in quick succession, "Results have already been set"
  2886. - // IllegalStateExceptions might be thrown from GMS code. We prefer to catch the exception
  2887. - // and noop it, than to crash. This might lead to some API calls never getting their
  2888. - // onResult() called, so we should not rely on onResult() being called for every API call.
  2889. - // See https://crbug.com/853923.
  2890. - if (!result.getStatus().isSuccess()) {
  2891. - Log.e(TAG, "Error when sending command. Status code: %d",
  2892. - result.getStatus().getStatusCode());
  2893. - }
  2894. - }
  2895. }
  2896. diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/RemotingMediaSource.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/RemotingMediaSource.java
  2897. --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/RemotingMediaSource.java
  2898. +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/RemotingMediaSource.java
  2899. @@ -13,8 +13,6 @@ import android.util.Base64;
  2900. import androidx.annotation.Nullable;
  2901. import androidx.mediarouter.media.MediaRouteSelector;
  2902. -import com.google.android.gms.cast.CastMediaControlIntent;
  2903. -
  2904. import org.chromium.base.ContextUtils;
  2905. import org.chromium.base.Log;
  2906. import org.chromium.components.media_router.MediaSource;
  2907. @@ -84,9 +82,7 @@ public class RemotingMediaSource implements MediaSource {
  2908. */
  2909. @Override
  2910. public MediaRouteSelector buildRouteSelector() {
  2911. - return new MediaRouteSelector.Builder()
  2912. - .addControlCategory(CastMediaControlIntent.categoryForCast(getApplicationId()))
  2913. - .build();
  2914. + return null;
  2915. }
  2916. /**
  2917. @@ -113,7 +109,7 @@ public class RemotingMediaSource implements MediaSource {
  2918. sApplicationId = (customAppId != null && !customAppId.isEmpty())
  2919. ? customAppId
  2920. - : CastMediaControlIntent.DEFAULT_MEDIA_RECEIVER_APPLICATION_ID;
  2921. + : "CC1AD845"; /*DEFAULT_MEDIA_RECEIVER_APPLICATION_ID*/
  2922. }
  2923. return sApplicationId;
  2924. diff --git a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/RemotingSessionController.java b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/RemotingSessionController.java
  2925. --- a/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/RemotingSessionController.java
  2926. +++ b/components/media_router/browser/android/java/src/org/chromium/components/media_router/caf/remoting/RemotingSessionController.java
  2927. @@ -4,8 +4,6 @@
  2928. package org.chromium.components.media_router.caf.remoting;
  2929. -import com.google.android.gms.cast.framework.CastSession;
  2930. -
  2931. import org.chromium.base.Log;
  2932. import org.chromium.components.media_router.CastSessionUtil;
  2933. import org.chromium.components.media_router.caf.BaseNotificationController;
  2934. @@ -33,19 +31,6 @@ public class RemotingSessionController extends BaseSessionController {
  2935. sInstance = new WeakReference<>(this);
  2936. }
  2937. - @Override
  2938. - public void attachToCastSession(CastSession session) {
  2939. - super.attachToCastSession(session);
  2940. -
  2941. - try {
  2942. - getSession().setMessageReceivedCallbacks(
  2943. - CastSessionUtil.MEDIA_NAMESPACE, this::onMessageReceived);
  2944. - } catch (Exception e) {
  2945. - Log.e(TAG, "Failed to register namespace listener for %s",
  2946. - CastSessionUtil.MEDIA_NAMESPACE, e);
  2947. - }
  2948. - }
  2949. -
  2950. @Override
  2951. public void onSessionStarted() {
  2952. super.onSessionStarted();
  2953. @@ -53,17 +38,6 @@ public class RemotingSessionController extends BaseSessionController {
  2954. mFlingingControllerAdapter = new FlingingControllerAdapter(this, source.getMediaUrl());
  2955. }
  2956. - @Override
  2957. - protected void onStatusUpdated() {
  2958. - mFlingingControllerAdapter.onStatusUpdated();
  2959. - super.onStatusUpdated();
  2960. - }
  2961. -
  2962. - @Override
  2963. - public FlingingControllerAdapter getFlingingController() {
  2964. - return mFlingingControllerAdapter;
  2965. - }
  2966. -
  2967. @Override
  2968. public BaseNotificationController getNotificationController() {
  2969. return mNotificationController;
  2970. diff --git a/components/media_router/test/android/cast_emulator/BUILD.gn b/components/media_router/test/android/cast_emulator/BUILD.gn
  2971. --- a/components/media_router/test/android/cast_emulator/BUILD.gn
  2972. +++ b/components/media_router/test/android/cast_emulator/BUILD.gn
  2973. @@ -20,7 +20,6 @@ android_library("cast_emulator_java") {
  2974. "src/org/chromium/components/media_router/cast_emulator/router/DummyRoutePublisher.java",
  2975. ]
  2976. deps = [
  2977. - "$google_play_services_package:google_play_services_cast_java",
  2978. "//base:base_java",
  2979. "//build/android:build_java",
  2980. "//third_party/androidx:androidx_mediarouter_mediarouter_java",
  2981. diff --git a/components/module_installer/android/BUILD.gn b/components/module_installer/android/BUILD.gn
  2982. --- a/components/module_installer/android/BUILD.gn
  2983. +++ b/components/module_installer/android/BUILD.gn
  2984. @@ -36,7 +36,6 @@ android_library("module_installer_java") {
  2985. "//base:jni_java",
  2986. "//build/android:build_java",
  2987. "//components/crash/android:java",
  2988. - "//third_party/android_deps:com_google_android_play_core_java",
  2989. "//third_party/androidx:androidx_annotation_annotation_java",
  2990. ]
  2991. @@ -62,7 +61,6 @@ junit_binary("module_installer_junit_tests") {
  2992. "//base:base_java",
  2993. "//base:base_java_test_support",
  2994. "//base:base_junit_test_support",
  2995. - "//third_party/android_deps:com_google_android_play_core_java",
  2996. "//third_party/hamcrest:hamcrest_java",
  2997. ]
  2998. }
  2999. diff --git a/components/signin/public/android/BUILD.gn b/components/signin/public/android/BUILD.gn
  3000. --- a/components/signin/public/android/BUILD.gn
  3001. +++ b/components/signin/public/android/BUILD.gn
  3002. @@ -2,8 +2,6 @@ import("//build/config/android/rules.gni")
  3003. android_library("java") {
  3004. deps = [
  3005. - "$google_play_services_package:google_play_services_auth_base_java",
  3006. - "$google_play_services_package:google_play_services_base_java",
  3007. "//base:base_java",
  3008. "//base:jni_java",
  3009. "//build/android:build_java",
  3010. @@ -164,7 +162,6 @@ java_library("junit") {
  3011. deps = [
  3012. ":java",
  3013. ":signin_java_test_support",
  3014. - "$google_play_services_package:google_play_services_auth_base_java",
  3015. "//base:base_java",
  3016. "//base:base_java_test_support",
  3017. "//base:base_junit_test_support",
  3018. diff --git a/components/signin/public/android/java/src/org/chromium/components/signin/AccountRenameChecker.java b/components/signin/public/android/java/src/org/chromium/components/signin/AccountRenameChecker.java
  3019. --- a/components/signin/public/android/java/src/org/chromium/components/signin/AccountRenameChecker.java
  3020. +++ b/components/signin/public/android/java/src/org/chromium/components/signin/AccountRenameChecker.java
  3021. @@ -11,10 +11,6 @@ import androidx.annotation.Nullable;
  3022. import androidx.annotation.VisibleForTesting;
  3023. import androidx.annotation.WorkerThread;
  3024. -import com.google.android.gms.auth.AccountChangeEvent;
  3025. -import com.google.android.gms.auth.GoogleAuthException;
  3026. -import com.google.android.gms.auth.GoogleAuthUtil;
  3027. -
  3028. import org.chromium.base.ContextUtils;
  3029. import org.chromium.base.Log;
  3030. import org.chromium.base.Promise;
  3031. @@ -51,18 +47,6 @@ public final class AccountRenameChecker {
  3032. */
  3033. @Override
  3034. public @Nullable String getNewNameOfRenamedAccount(String accountEmail) {
  3035. - final Context context = ContextUtils.getApplicationContext();
  3036. - try {
  3037. - final List<AccountChangeEvent> accountChangeEvents =
  3038. - GoogleAuthUtil.getAccountChangeEvents(context, 0, accountEmail);
  3039. - for (AccountChangeEvent event : accountChangeEvents) {
  3040. - if (event.getChangeType() == GoogleAuthUtil.CHANGE_TYPE_ACCOUNT_RENAMED_TO) {
  3041. - return event.getChangeData();
  3042. - }
  3043. - }
  3044. - } catch (IOException | GoogleAuthException e) {
  3045. - Log.w(TAG, "Failed to get change events", e);
  3046. - }
  3047. return null;
  3048. }
  3049. }
  3050. diff --git a/components/webauthn/android/BUILD.gn b/components/webauthn/android/BUILD.gn
  3051. --- a/components/webauthn/android/BUILD.gn
  3052. +++ b/components/webauthn/android/BUILD.gn
  3053. @@ -6,7 +6,6 @@ import("//build/config/android/rules.gni")
  3054. generate_jni("jni_headers") {
  3055. sources = [
  3056. - "java/src/org/chromium/components/webauthn/Fido2Api.java",
  3057. "java/src/org/chromium/components/webauthn/InternalAuthenticator.java",
  3058. ]
  3059. }
  3060. @@ -15,12 +14,7 @@ android_library("java") {
  3061. sources = [
  3062. "java/src/org/chromium/components/webauthn/AuthenticatorFactory.java",
  3063. "java/src/org/chromium/components/webauthn/AuthenticatorImpl.java",
  3064. - "java/src/org/chromium/components/webauthn/Fido2Api.java",
  3065. - "java/src/org/chromium/components/webauthn/Fido2ApiCall.java",
  3066. "java/src/org/chromium/components/webauthn/Fido2ApiCallHelper.java",
  3067. - "java/src/org/chromium/components/webauthn/Fido2ApiHandler.java",
  3068. - "java/src/org/chromium/components/webauthn/Fido2CredentialRequest.java",
  3069. - "java/src/org/chromium/components/webauthn/FidoErrorResponseCallback.java",
  3070. "java/src/org/chromium/components/webauthn/GetAssertionResponseCallback.java",
  3071. "java/src/org/chromium/components/webauthn/InternalAuthenticator.java",
  3072. "java/src/org/chromium/components/webauthn/IsUvpaaResponseCallback.java",
  3073. @@ -29,9 +23,6 @@ android_library("java") {
  3074. ]
  3075. annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
  3076. deps = [
  3077. - "$google_play_services_package:google_play_services_base_java",
  3078. - "$google_play_services_package:google_play_services_basement_java",
  3079. - "$google_play_services_package:google_play_services_tasks_java",
  3080. "//base:base_java",
  3081. "//base:jni_java",
  3082. "//build/android:build_java",
  3083. @@ -66,7 +57,6 @@ android_library("test_support_java") {
  3084. source_set("android") {
  3085. sources = [
  3086. - "fido2api_native_android.cc",
  3087. "internal_authenticator_android.cc",
  3088. "internal_authenticator_android.h",
  3089. ]
  3090. diff --git a/components/webauthn/android/java/src/org/chromium/components/webauthn/AuthenticatorImpl.java b/components/webauthn/android/java/src/org/chromium/components/webauthn/AuthenticatorImpl.java
  3091. --- a/components/webauthn/android/java/src/org/chromium/components/webauthn/AuthenticatorImpl.java
  3092. +++ b/components/webauthn/android/java/src/org/chromium/components/webauthn/AuthenticatorImpl.java
  3093. @@ -116,18 +116,7 @@ public final class AuthenticatorImpl implements Authenticator {
  3094. mMakeCredentialCallback = callback;
  3095. mIsOperationPending = true;
  3096. - Context context = ContextUtils.getApplicationContext();
  3097. - if (PackageUtils.getPackageVersion(context, GMSCORE_PACKAGE_NAME)
  3098. - < Fido2ApiHandler.GMSCORE_MIN_VERSION) {
  3099. onError(AuthenticatorStatus.NOT_IMPLEMENTED);
  3100. - return;
  3101. - }
  3102. -
  3103. - Fido2ApiHandler.getInstance().makeCredential(options, mIntentSender, mRenderFrameHost,
  3104. - mOrigin, mSupportLevel,
  3105. - (status, response)
  3106. - -> onRegisterResponse(status, response),
  3107. - status -> onError(status));
  3108. }
  3109. @Override
  3110. @@ -140,17 +129,7 @@ public final class AuthenticatorImpl implements Authenticator {
  3111. mGetAssertionCallback = callback;
  3112. mIsOperationPending = true;
  3113. - Context context = ContextUtils.getApplicationContext();
  3114. -
  3115. - if (PackageUtils.getPackageVersion(context, GMSCORE_PACKAGE_NAME)
  3116. - < Fido2ApiHandler.GMSCORE_MIN_VERSION) {
  3117. onError(AuthenticatorStatus.NOT_IMPLEMENTED);
  3118. - return;
  3119. - }
  3120. -
  3121. - Fido2ApiHandler.getInstance().getAssertion(options, mIntentSender, mRenderFrameHost,
  3122. - mOrigin, mPayment, mSupportLevel,
  3123. - (status, response) -> onSignResponse(status, response), status -> onError(status));
  3124. }
  3125. @Override
  3126. @@ -170,16 +149,7 @@ public final class AuthenticatorImpl implements Authenticator {
  3127. return;
  3128. }
  3129. - if (PackageUtils.getPackageVersion(context, GMSCORE_PACKAGE_NAME)
  3130. - < Fido2ApiHandler.GMSCORE_MIN_VERSION) {
  3131. decoratedCallback.call(false);
  3132. - return;
  3133. - }
  3134. -
  3135. - mIsUserVerifyingPlatformAuthenticatorAvailableCallbackQueue.add(decoratedCallback);
  3136. - Fido2ApiHandler.getInstance().isUserVerifyingPlatformAuthenticatorAvailable(mIntentSender,
  3137. - mRenderFrameHost, mSupportLevel,
  3138. - isUvpaa -> onIsUserVerifyingPlatformAuthenticatorAvailableResponse(isUvpaa));
  3139. }
  3140. @Override
  3141. diff --git a/components/webauthn/android/java/src/org/chromium/components/webauthn/Fido2ApiCallHelper.java b/components/webauthn/android/java/src/org/chromium/components/webauthn/Fido2ApiCallHelper.java
  3142. --- a/components/webauthn/android/java/src/org/chromium/components/webauthn/Fido2ApiCallHelper.java
  3143. +++ b/components/webauthn/android/java/src/org/chromium/components/webauthn/Fido2ApiCallHelper.java
  3144. @@ -8,10 +8,6 @@ import android.os.Parcel;
  3145. import androidx.annotation.VisibleForTesting;
  3146. -import com.google.android.gms.tasks.OnFailureListener;
  3147. -import com.google.android.gms.tasks.OnSuccessListener;
  3148. -import com.google.android.gms.tasks.Task;
  3149. -
  3150. import org.chromium.base.ContextUtils;
  3151. import org.chromium.content_public.browser.WebAuthnCredentialDetails;
  3152. @@ -38,21 +34,4 @@ public class Fido2ApiCallHelper {
  3153. }
  3154. return sInstance;
  3155. }
  3156. -
  3157. - public void invokeFido2GetCredentials(String relyingPartyId, int supportLevel,
  3158. - OnSuccessListener<List<WebAuthnCredentialDetails>> successCallback,
  3159. - OnFailureListener failureCallback) {
  3160. - Fido2ApiCall call = new Fido2ApiCall(ContextUtils.getApplicationContext(), supportLevel);
  3161. - Parcel args = call.start();
  3162. - Fido2ApiCall.WebAuthnCredentialDetailsListResult result =
  3163. - new Fido2ApiCall.WebAuthnCredentialDetailsListResult();
  3164. - args.writeStrongBinder(result);
  3165. - args.writeString(relyingPartyId);
  3166. -
  3167. - Task<List<WebAuthnCredentialDetails>> task =
  3168. - call.run(Fido2ApiCall.METHOD_BROWSER_GETCREDENTIALS,
  3169. - Fido2ApiCall.TRANSACTION_GETCREDENTIALS, args, result);
  3170. - task.addOnSuccessListener(successCallback);
  3171. - task.addOnFailureListener(failureCallback);
  3172. - }
  3173. -}
  3174. \ No newline at end of file
  3175. +}
  3176. diff --git a/content/browser/push_messaging/push_messaging_manager.cc b/content/browser/push_messaging/push_messaging_manager.cc
  3177. --- a/content/browser/push_messaging/push_messaging_manager.cc
  3178. +++ b/content/browser/push_messaging/push_messaging_manager.cc
  3179. @@ -791,7 +791,7 @@ void PushMessagingManager::GetSubscriptionInfo(
  3180. }
  3181. PushMessagingService* PushMessagingManager::GetService() {
  3182. - return render_process_host_.GetBrowserContext()->GetPushMessagingService();
  3183. + return nullptr;
  3184. }
  3185. } // namespace content
  3186. diff --git a/content/public/android/BUILD.gn b/content/public/android/BUILD.gn
  3187. --- a/content/public/android/BUILD.gn
  3188. +++ b/content/public/android/BUILD.gn
  3189. @@ -137,10 +137,6 @@ android_library("content_main_dex_java") {
  3190. android_library("content_full_java") {
  3191. deps = [
  3192. ":content_main_dex_java",
  3193. - "$google_play_services_package:google_play_services_auth_api_phone_java",
  3194. - "$google_play_services_package:google_play_services_base_java",
  3195. - "$google_play_services_package:google_play_services_basement_java",
  3196. - "$google_play_services_package:google_play_services_tasks_java",
  3197. "//base:base_java",
  3198. "//base:jni_java",
  3199. "//build:chromeos_buildflags",
  3200. diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
  3201. --- a/content/public/common/content_features.cc
  3202. +++ b/content/public/common/content_features.cc
  3203. @@ -1071,8 +1071,8 @@ const base::Feature kWebAssemblyTrapHandler {
  3204. // Controls whether CTAP2 devices can communicate via the WebAuthentication API
  3205. // using pairingless BLE protocol.
  3206. // https://w3c.github.io/webauthn
  3207. -const base::Feature kWebAuthCable{"WebAuthenticationCable",
  3208. - base::FEATURE_ENABLED_BY_DEFAULT};
  3209. +const base::Feature kWebAuthCable{"WebAuthenticationCable", // disabled in Bromite
  3210. + base::FEATURE_DISABLED_BY_DEFAULT};
  3211. // Controls whether WebAuthn conditional UI requests are supported.
  3212. const base::Feature kWebAuthConditionalUI{"WebAuthenticationConditionalUI",
  3213. diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
  3214. --- a/content/test/BUILD.gn
  3215. +++ b/content/test/BUILD.gn
  3216. @@ -2979,10 +2979,6 @@ if (is_android) {
  3217. testonly = true
  3218. sources = content_java_sources_needing_jni
  3219. deps = [
  3220. - "$google_play_services_package:google_play_services_auth_api_phone_java",
  3221. - "$google_play_services_package:google_play_services_base_java",
  3222. - "$google_play_services_package:google_play_services_basement_java",
  3223. - "$google_play_services_package:google_play_services_tasks_java",
  3224. "//base:base_java",
  3225. "//base:jni_java",
  3226. "//build/android:build_java",
  3227. diff --git a/device/BUILD.gn b/device/BUILD.gn
  3228. --- a/device/BUILD.gn
  3229. +++ b/device/BUILD.gn
  3230. @@ -457,9 +457,6 @@ if (is_android) {
  3231. "gamepad/android/junit/src/org/chromium/device/gamepad/GamepadMappingsTest.java",
  3232. ]
  3233. deps = [
  3234. - "$google_play_services_package:google_play_services_base_java",
  3235. - "$google_play_services_package:google_play_services_basement_java",
  3236. - "$google_play_services_package:google_play_services_location_java",
  3237. "//base:base_java_test_support",
  3238. "//base:base_junit_test_support",
  3239. "//build/android:build_java",
  3240. diff --git a/remoting/android/client_java_tmpl.gni b/remoting/android/client_java_tmpl.gni
  3241. --- a/remoting/android/client_java_tmpl.gni
  3242. +++ b/remoting/android/client_java_tmpl.gni
  3243. @@ -105,9 +105,6 @@ template("remoting_android_client_java_tmpl") {
  3244. if (defined(invoker.play_services_package)) {
  3245. deps += [
  3246. - "${invoker.play_services_package}:google_play_services_auth_base_java",
  3247. - "${invoker.play_services_package}:google_play_services_base_java",
  3248. - "${invoker.play_services_package}:google_play_services_basement_java",
  3249. ]
  3250. }
  3251. diff --git a/services/BUILD.gn b/services/BUILD.gn
  3252. --- a/services/BUILD.gn
  3253. +++ b/services/BUILD.gn
  3254. @@ -114,11 +114,6 @@ if (is_android) {
  3255. "shape_detection/android/junit/src/org/chromium/shape_detection/BitmapUtilsTest.java",
  3256. ]
  3257. deps = [
  3258. - "$google_play_services_package:google_play_services_base_java",
  3259. - "$google_play_services_package:google_play_services_basement_java",
  3260. - "$google_play_services_package:google_play_services_location_java",
  3261. - "$google_play_services_package:google_play_services_vision_common_java",
  3262. - "$google_play_services_package:google_play_services_vision_java",
  3263. "//base:base_java",
  3264. "//base:base_java_test_support",
  3265. "//base:base_junit_test_support",
  3266. @@ -147,10 +142,6 @@ if (is_android) {
  3267. "shape_detection/android/javatests/src/org/chromium/shape_detection/TextDetectionImplTest.java",
  3268. ]
  3269. deps = [
  3270. - "$google_play_services_package:google_play_services_base_java",
  3271. - "$google_play_services_package:google_play_services_basement_java",
  3272. - "$google_play_services_package:google_play_services_vision_common_java",
  3273. - "$google_play_services_package:google_play_services_vision_java",
  3274. "//base:base_java",
  3275. "//base:base_java_test_support",
  3276. "//build/android:build_java",
  3277. diff --git a/services/device/geolocation/BUILD.gn b/services/device/geolocation/BUILD.gn
  3278. --- a/services/device/geolocation/BUILD.gn
  3279. +++ b/services/device/geolocation/BUILD.gn
  3280. @@ -163,9 +163,6 @@ if (is_android) {
  3281. deps = [
  3282. ":geolocation_jni_headers",
  3283. - "$google_play_services_package:google_play_services_base_java",
  3284. - "$google_play_services_package:google_play_services_basement_java",
  3285. - "$google_play_services_package:google_play_services_location_java",
  3286. "//base:base_java",
  3287. "//base:jni_java",
  3288. "//build/android:build_java",
  3289. diff --git a/services/shape_detection/BUILD.gn b/services/shape_detection/BUILD.gn
  3290. --- a/services/shape_detection/BUILD.gn
  3291. +++ b/services/shape_detection/BUILD.gn
  3292. @@ -115,10 +115,6 @@ if (is_android) {
  3293. ]
  3294. deps = [
  3295. - "$google_play_services_package:google_play_services_base_java",
  3296. - "$google_play_services_package:google_play_services_basement_java",
  3297. - "$google_play_services_package:google_play_services_vision_common_java",
  3298. - "$google_play_services_package:google_play_services_vision_java",
  3299. "//base:base_java",
  3300. "//base:jni_java",
  3301. "//mojo/public/java:base_java",
  3302. diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.gn
  3303. --- a/third_party/android_deps/BUILD.gn
  3304. +++ b/third_party/android_deps/BUILD.gn
  3305. @@ -45,7 +45,6 @@ if (!limit_android_deps) {
  3306. ":org_robolectric_shadowapi_java",
  3307. ":org_robolectric_shadows_framework_java",
  3308. ":org_robolectric_shadows_multidex_java",
  3309. - ":org_robolectric_shadows_playservices_java",
  3310. ":org_robolectric_utils_java",
  3311. ":org_robolectric_utils_reflector_java",
  3312. @@ -64,7 +63,7 @@ if (!limit_android_deps) {
  3313. android_library("chromium_play_services_availability_java") {
  3314. sources = [ "util/org/chromium/gms/ChromiumPlayServicesAvailability.java" ]
  3315. - deps = [ "$google_play_services_package:google_play_services_base_java" ]
  3316. + deps = [ ]
  3317. }
  3318. android_library("chromium_play_services_availability_shadows_java") {
  3319. @@ -982,210 +981,6 @@ if (!limit_android_deps) {
  3320. ]
  3321. }
  3322. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3323. - android_aar_prebuilt("google_play_services_auth_java") {
  3324. - aar_path = "libs/com_google_android_gms_play_services_auth/play-services-auth-20.1.0.aar"
  3325. - info_path = "libs/com_google_android_gms_play_services_auth/com_google_android_gms_play_services_auth.info"
  3326. - deps = [
  3327. - ":google_play_services_auth_api_phone_java",
  3328. - ":google_play_services_auth_base_java",
  3329. - ":google_play_services_base_java",
  3330. - ":google_play_services_basement_java",
  3331. - ":google_play_services_tasks_java",
  3332. - "//third_party/androidx:androidx_fragment_fragment_java",
  3333. - "//third_party/androidx:androidx_loader_loader_java",
  3334. - ]
  3335. - }
  3336. -
  3337. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3338. - android_aar_prebuilt("google_play_services_auth_api_phone_java") {
  3339. - aar_path = "libs/com_google_android_gms_play_services_auth_api_phone/play-services-auth-api-phone-18.0.1.aar"
  3340. - info_path = "libs/com_google_android_gms_play_services_auth_api_phone/com_google_android_gms_play_services_auth_api_phone.info"
  3341. - deps = [
  3342. - ":google_play_services_base_java",
  3343. - ":google_play_services_basement_java",
  3344. - ":google_play_services_tasks_java",
  3345. - ]
  3346. - }
  3347. -
  3348. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3349. - android_aar_prebuilt("google_play_services_auth_base_java") {
  3350. - aar_path = "libs/com_google_android_gms_play_services_auth_base/play-services-auth-base-18.0.2.aar"
  3351. - info_path = "libs/com_google_android_gms_play_services_auth_base/com_google_android_gms_play_services_auth_base.info"
  3352. - deps = [
  3353. - ":google_play_services_base_java",
  3354. - ":google_play_services_basement_java",
  3355. - ":google_play_services_tasks_java",
  3356. - "//third_party/androidx:androidx_collection_collection_java",
  3357. - ]
  3358. - }
  3359. -
  3360. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3361. - android_aar_prebuilt("google_play_services_base_java") {
  3362. - aar_path = "libs/com_google_android_gms_play_services_base/play-services-base-18.0.1.aar"
  3363. - info_path = "libs/com_google_android_gms_play_services_base/com_google_android_gms_play_services_base.info"
  3364. - deps = [
  3365. - ":google_play_services_basement_java",
  3366. - ":google_play_services_tasks_java",
  3367. - "//third_party/androidx:androidx_collection_collection_java",
  3368. - "//third_party/androidx:androidx_core_core_java",
  3369. - "//third_party/androidx:androidx_fragment_fragment_java",
  3370. - ]
  3371. - bytecode_rewriter_target =
  3372. - "//build/android/bytecode:fragment_activity_replacer"
  3373. - }
  3374. -
  3375. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3376. - android_aar_prebuilt("google_play_services_basement_java") {
  3377. - aar_path = "libs/com_google_android_gms_play_services_basement/play-services-basement-18.0.1.aar"
  3378. - info_path = "libs/com_google_android_gms_play_services_basement/com_google_android_gms_play_services_basement.info"
  3379. - deps = [
  3380. - "//third_party/androidx:androidx_collection_collection_java",
  3381. - "//third_party/androidx:androidx_core_core_java",
  3382. - "//third_party/androidx:androidx_fragment_fragment_java",
  3383. - ]
  3384. -
  3385. - jar_excluded_patterns = []
  3386. - if (!enable_java_asserts) {
  3387. - # Omit the file since we use our own copy.
  3388. - jar_excluded_patterns +=
  3389. - [ "com/google/android/gms/common/internal/Preconditions.class" ]
  3390. - deps += [ "//third_party/android_deps/local_modifications/preconditions:gms_stub_preconditions_java" ]
  3391. - }
  3392. -
  3393. - # https://crbug.com/989505
  3394. - jar_excluded_patterns += [ "META-INF/proguard/*" ]
  3395. - input_jars_paths = [ "$android_sdk/optional/org.apache.http.legacy.jar" ]
  3396. - bytecode_rewriter_target =
  3397. - "//build/android/bytecode:fragment_activity_replacer"
  3398. - }
  3399. -
  3400. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3401. - android_aar_prebuilt("google_play_services_cast_java") {
  3402. - aar_path = "libs/com_google_android_gms_play_services_cast/play-services-cast-17.0.0.aar"
  3403. - info_path = "libs/com_google_android_gms_play_services_cast/com_google_android_gms_play_services_cast.info"
  3404. - deps = [
  3405. - ":google_play_services_base_java",
  3406. - ":google_play_services_basement_java",
  3407. - ":google_play_services_flags_java",
  3408. - ":google_play_services_tasks_java",
  3409. - "//third_party/androidx:androidx_core_core_java",
  3410. - "//third_party/androidx:androidx_mediarouter_mediarouter_java",
  3411. - ]
  3412. - }
  3413. -
  3414. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3415. - android_aar_prebuilt("google_play_services_cast_framework_java") {
  3416. - aar_path = "libs/com_google_android_gms_play_services_cast_framework/play-services-cast-framework-17.0.0.aar"
  3417. - info_path = "libs/com_google_android_gms_play_services_cast_framework/com_google_android_gms_play_services_cast_framework.info"
  3418. - deps = [
  3419. - ":google_play_services_base_java",
  3420. - ":google_play_services_basement_java",
  3421. - ":google_play_services_cast_java",
  3422. - "//third_party/androidx:androidx_appcompat_appcompat_java",
  3423. - "//third_party/androidx:androidx_collection_collection_java",
  3424. - "//third_party/androidx:androidx_core_core_java",
  3425. - "//third_party/androidx:androidx_fragment_fragment_java",
  3426. - "//third_party/androidx:androidx_media_media_java",
  3427. - "//third_party/androidx:androidx_mediarouter_mediarouter_java",
  3428. - "//third_party/androidx:androidx_recyclerview_recyclerview_java",
  3429. - ]
  3430. - }
  3431. -
  3432. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3433. - android_aar_prebuilt("google_play_services_fido_java") {
  3434. - aar_path = "libs/com_google_android_gms_play_services_fido/play-services-fido-19.0.0-beta.aar"
  3435. - info_path = "libs/com_google_android_gms_play_services_fido/com_google_android_gms_play_services_fido.info"
  3436. - deps = [
  3437. - ":google_play_services_base_java",
  3438. - ":google_play_services_basement_java",
  3439. - ":google_play_services_tasks_java",
  3440. - ]
  3441. - }
  3442. -
  3443. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3444. - android_aar_prebuilt("google_play_services_gcm_java") {
  3445. - aar_path = "libs/com_google_android_gms_play_services_gcm/play-services-gcm-17.0.0.aar"
  3446. - info_path = "libs/com_google_android_gms_play_services_gcm/com_google_android_gms_play_services_gcm.info"
  3447. - deps = [
  3448. - ":google_play_services_base_java",
  3449. - ":google_play_services_basement_java",
  3450. - ":google_play_services_iid_java",
  3451. - ":google_play_services_stats_java",
  3452. - "//third_party/androidx:androidx_collection_collection_java",
  3453. - "//third_party/androidx:androidx_core_core_java",
  3454. - "//third_party/androidx:androidx_legacy_legacy_support_core_utils_java",
  3455. - ]
  3456. - }
  3457. -
  3458. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3459. - android_aar_prebuilt("google_play_services_iid_java") {
  3460. - aar_path = "libs/com_google_android_gms_play_services_iid/play-services-iid-17.0.0.aar"
  3461. - info_path = "libs/com_google_android_gms_play_services_iid/com_google_android_gms_play_services_iid.info"
  3462. - deps = [
  3463. - ":google_play_services_base_java",
  3464. - ":google_play_services_basement_java",
  3465. - ":google_play_services_stats_java",
  3466. - ":google_play_services_tasks_java",
  3467. - "//third_party/androidx:androidx_collection_collection_java",
  3468. - "//third_party/androidx:androidx_core_core_java",
  3469. - ]
  3470. - }
  3471. -
  3472. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3473. - android_aar_prebuilt("google_play_services_instantapps_java") {
  3474. - aar_path = "libs/com_google_android_gms_play_services_instantapps/play-services-instantapps-18.0.1.aar"
  3475. - info_path = "libs/com_google_android_gms_play_services_instantapps/com_google_android_gms_play_services_instantapps.info"
  3476. - deps = [
  3477. - ":google_play_services_base_java",
  3478. - ":google_play_services_basement_java",
  3479. - ":google_play_services_tasks_java",
  3480. - ]
  3481. - }
  3482. -
  3483. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3484. - android_aar_prebuilt("google_play_services_location_java") {
  3485. - aar_path = "libs/com_google_android_gms_play_services_location/play-services-location-19.0.1.aar"
  3486. - info_path = "libs/com_google_android_gms_play_services_location/com_google_android_gms_play_services_location.info"
  3487. - deps = [
  3488. - ":google_play_services_base_java",
  3489. - ":google_play_services_basement_java",
  3490. - ":google_play_services_places_placereport_java",
  3491. - ":google_play_services_tasks_java",
  3492. - ]
  3493. - }
  3494. -
  3495. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3496. - android_aar_prebuilt("google_play_services_tasks_java") {
  3497. - aar_path = "libs/com_google_android_gms_play_services_tasks/play-services-tasks-18.0.1.aar"
  3498. - info_path = "libs/com_google_android_gms_play_services_tasks/com_google_android_gms_play_services_tasks.info"
  3499. - deps = [ ":google_play_services_basement_java" ]
  3500. - }
  3501. -
  3502. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3503. - android_aar_prebuilt("google_play_services_vision_java") {
  3504. - aar_path = "libs/com_google_android_gms_play_services_vision/play-services-vision-20.1.3.aar"
  3505. - info_path = "libs/com_google_android_gms_play_services_vision/com_google_android_gms_play_services_vision.info"
  3506. - deps = [
  3507. - ":google_play_services_base_java",
  3508. - ":google_play_services_basement_java",
  3509. - ":google_play_services_vision_common_java",
  3510. - ]
  3511. - }
  3512. -
  3513. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3514. - android_aar_prebuilt("google_play_services_vision_common_java") {
  3515. - aar_path = "libs/com_google_android_gms_play_services_vision_common/play-services-vision-common-19.1.3.aar"
  3516. - info_path = "libs/com_google_android_gms_play_services_vision_common/com_google_android_gms_play_services_vision_common.info"
  3517. - deps = [
  3518. - ":google_play_services_base_java",
  3519. - ":google_play_services_basement_java",
  3520. - ":google_play_services_clearcut_java",
  3521. - ":google_play_services_flags_java",
  3522. - ":google_play_services_phenotype_java",
  3523. - ]
  3524. - }
  3525. -
  3526. # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3527. android_aar_prebuilt("com_google_android_material_material_java") {
  3528. aar_path =
  3529. @@ -1231,60 +1026,6 @@ if (!limit_android_deps) {
  3530. ]
  3531. }
  3532. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3533. - android_aar_prebuilt("com_google_android_play_core_java") {
  3534. - aar_path = "libs/com_google_android_play_core/core-1.10.0.aar"
  3535. - info_path =
  3536. - "libs/com_google_android_play_core/com_google_android_play_core.info"
  3537. - }
  3538. -
  3539. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3540. - android_aar_prebuilt("google_firebase_firebase_iid_java") {
  3541. - aar_path = "libs/com_google_firebase_firebase_iid/firebase-iid-21.0.1.aar"
  3542. - info_path = "libs/com_google_firebase_firebase_iid/com_google_firebase_firebase_iid.info"
  3543. - deps = [
  3544. - ":google_firebase_firebase_common_java",
  3545. - ":google_firebase_firebase_components_java",
  3546. - ":google_firebase_firebase_iid_interop_java",
  3547. - ":google_firebase_firebase_installations_interop_java",
  3548. - ":google_firebase_firebase_installations_java",
  3549. - ":google_play_services_basement_java",
  3550. - ":google_play_services_cloud_messaging_java",
  3551. - ":google_play_services_stats_java",
  3552. - ":google_play_services_tasks_java",
  3553. - "//third_party/androidx:androidx_collection_collection_java",
  3554. - "//third_party/androidx:androidx_core_core_java",
  3555. - "//third_party/androidx:androidx_legacy_legacy_support_core_utils_java",
  3556. - ]
  3557. - }
  3558. -
  3559. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3560. - android_aar_prebuilt("google_firebase_firebase_messaging_java") {
  3561. - aar_path = "libs/com_google_firebase_firebase_messaging/firebase-messaging-21.0.1.aar"
  3562. - info_path = "libs/com_google_firebase_firebase_messaging/com_google_firebase_firebase_messaging.info"
  3563. - deps = [
  3564. - ":google_android_datatransport_transport_api_java",
  3565. - ":google_firebase_firebase_common_java",
  3566. - ":google_firebase_firebase_components_java",
  3567. - ":google_firebase_firebase_encoders_java",
  3568. - ":google_firebase_firebase_encoders_json_java",
  3569. - ":google_firebase_firebase_iid_java",
  3570. - ":google_firebase_firebase_installations_interop_java",
  3571. - ":google_firebase_firebase_installations_java",
  3572. - ":google_firebase_firebase_measurement_connector_java",
  3573. - ":google_play_services_basement_java",
  3574. - ":google_play_services_cloud_messaging_java",
  3575. - ":google_play_services_stats_java",
  3576. - ":google_play_services_tasks_java",
  3577. - "//third_party/androidx:androidx_collection_collection_java",
  3578. - "//third_party/androidx:androidx_core_core_java",
  3579. - ]
  3580. -
  3581. - # We removed the datatransport dependency to reduce binary size.
  3582. - # The library works without it as it's only used for logging.
  3583. - enable_bytecode_checks = false
  3584. - }
  3585. -
  3586. # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3587. java_prebuilt("com_google_flatbuffers_flatbuffers_java_java") {
  3588. jar_path = "libs/com_google_flatbuffers_flatbuffers_java/flatbuffers-java-2.0.3.jar"
  3589. @@ -1483,19 +1224,6 @@ if (!limit_android_deps) {
  3590. deps += [ ":com_android_support_multidex_java" ]
  3591. }
  3592. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3593. - java_prebuilt("org_robolectric_shadows_playservices_java") {
  3594. - jar_path = "libs/org_robolectric_shadows_playservices/shadows-playservices-4.7.3.jar"
  3595. - output_name = "org_robolectric_shadows_playservices"
  3596. - enable_bytecode_checks = false
  3597. - testonly = true
  3598. - deps = [
  3599. - ":com_google_guava_guava_java",
  3600. - ":org_robolectric_annotations_java",
  3601. - ]
  3602. - bypass_platform_checks = true
  3603. - }
  3604. -
  3605. # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3606. java_prebuilt("org_robolectric_utils_java") {
  3607. jar_path = "libs/org_robolectric_utils/utils-4.7.3.jar"
  3608. @@ -1842,272 +1570,6 @@ if (!limit_android_deps) {
  3609. deps = [ "//third_party/androidx:androidx_annotation_annotation_java" ]
  3610. }
  3611. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3612. - android_aar_prebuilt("google_play_services_clearcut_java") {
  3613. - aar_path = "libs/com_google_android_gms_play_services_clearcut/play-services-clearcut-17.0.0.aar"
  3614. - info_path = "libs/com_google_android_gms_play_services_clearcut/com_google_android_gms_play_services_clearcut.info"
  3615. -
  3616. - # To remove visibility constraint, add this dependency to
  3617. - # //third_party/android_deps/build.gradle.
  3618. - visibility = [
  3619. - ":*",
  3620. - "//third_party/androidx:*",
  3621. - ]
  3622. - deps = [
  3623. - ":google_play_services_base_java",
  3624. - ":google_play_services_basement_java",
  3625. - ":google_play_services_phenotype_java",
  3626. - ":google_play_services_tasks_java",
  3627. - "//third_party/androidx:androidx_core_core_java",
  3628. - ]
  3629. - }
  3630. -
  3631. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3632. - android_aar_prebuilt("google_play_services_cloud_messaging_java") {
  3633. - aar_path = "libs/com_google_android_gms_play_services_cloud_messaging/play-services-cloud-messaging-16.0.0.aar"
  3634. - info_path = "libs/com_google_android_gms_play_services_cloud_messaging/com_google_android_gms_play_services_cloud_messaging.info"
  3635. -
  3636. - # To remove visibility constraint, add this dependency to
  3637. - # //third_party/android_deps/build.gradle.
  3638. - visibility = [
  3639. - ":*",
  3640. - "//third_party/androidx:*",
  3641. - ]
  3642. - deps = [
  3643. - ":google_play_services_basement_java",
  3644. - ":google_play_services_tasks_java",
  3645. - ]
  3646. - }
  3647. -
  3648. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3649. - android_aar_prebuilt("google_play_services_flags_java") {
  3650. - aar_path = "libs/com_google_android_gms_play_services_flags/play-services-flags-17.0.0.aar"
  3651. - info_path = "libs/com_google_android_gms_play_services_flags/com_google_android_gms_play_services_flags.info"
  3652. -
  3653. - # To remove visibility constraint, add this dependency to
  3654. - # //third_party/android_deps/build.gradle.
  3655. - visibility = [
  3656. - ":*",
  3657. - "//third_party/androidx:*",
  3658. - ]
  3659. - deps = [
  3660. - ":google_play_services_base_java",
  3661. - ":google_play_services_basement_java",
  3662. - ]
  3663. - }
  3664. -
  3665. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3666. - android_aar_prebuilt("google_play_services_phenotype_java") {
  3667. - aar_path = "libs/com_google_android_gms_play_services_phenotype/play-services-phenotype-17.0.0.aar"
  3668. - info_path = "libs/com_google_android_gms_play_services_phenotype/com_google_android_gms_play_services_phenotype.info"
  3669. -
  3670. - # To remove visibility constraint, add this dependency to
  3671. - # //third_party/android_deps/build.gradle.
  3672. - visibility = [
  3673. - ":*",
  3674. - "//third_party/androidx:*",
  3675. - ]
  3676. - deps = [
  3677. - ":google_play_services_base_java",
  3678. - ":google_play_services_basement_java",
  3679. - ":google_play_services_tasks_java",
  3680. - "//third_party/androidx:androidx_core_core_java",
  3681. - ]
  3682. - }
  3683. -
  3684. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3685. - android_aar_prebuilt("google_play_services_places_placereport_java") {
  3686. - aar_path = "libs/com_google_android_gms_play_services_places_placereport/play-services-places-placereport-17.0.0.aar"
  3687. - info_path = "libs/com_google_android_gms_play_services_places_placereport/com_google_android_gms_play_services_places_placereport.info"
  3688. -
  3689. - # To remove visibility constraint, add this dependency to
  3690. - # //third_party/android_deps/build.gradle.
  3691. - visibility = [
  3692. - ":*",
  3693. - "//third_party/androidx:*",
  3694. - ]
  3695. - deps = [ ":google_play_services_basement_java" ]
  3696. - }
  3697. -
  3698. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3699. - android_aar_prebuilt("google_play_services_stats_java") {
  3700. - aar_path = "libs/com_google_android_gms_play_services_stats/play-services-stats-17.0.0.aar"
  3701. - info_path = "libs/com_google_android_gms_play_services_stats/com_google_android_gms_play_services_stats.info"
  3702. -
  3703. - # To remove visibility constraint, add this dependency to
  3704. - # //third_party/android_deps/build.gradle.
  3705. - visibility = [
  3706. - ":*",
  3707. - "//third_party/androidx:*",
  3708. - ]
  3709. - deps = [
  3710. - ":google_play_services_basement_java",
  3711. - "//third_party/androidx:androidx_legacy_legacy_support_core_utils_java",
  3712. - ]
  3713. - }
  3714. -
  3715. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3716. - java_prebuilt("google_firebase_firebase_annotations_java") {
  3717. - jar_path = "libs/com_google_firebase_firebase_annotations/firebase-annotations-16.0.0.jar"
  3718. - output_name = "com_google_firebase_firebase_annotations"
  3719. - supports_android = true
  3720. -
  3721. - # To remove visibility constraint, add this dependency to
  3722. - # //third_party/android_deps/build.gradle.
  3723. - visibility = [
  3724. - ":*",
  3725. - "//third_party/androidx:*",
  3726. - ]
  3727. - }
  3728. -
  3729. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3730. - android_aar_prebuilt("google_firebase_firebase_common_java") {
  3731. - aar_path =
  3732. - "libs/com_google_firebase_firebase_common/firebase-common-19.5.0.aar"
  3733. - info_path = "libs/com_google_firebase_firebase_common/com_google_firebase_firebase_common.info"
  3734. -
  3735. - # To remove visibility constraint, add this dependency to
  3736. - # //third_party/android_deps/build.gradle.
  3737. - visibility = [
  3738. - ":*",
  3739. - "//third_party/androidx:*",
  3740. - ]
  3741. - deps = [
  3742. - ":google_firebase_firebase_components_java",
  3743. - ":google_play_services_basement_java",
  3744. - ":google_play_services_tasks_java",
  3745. - ]
  3746. -
  3747. - # Ignore missing kotlin.KotlinVersion definition in
  3748. - # com.google.firebase.platforminfo.KotlinDetector.
  3749. - enable_bytecode_checks = false
  3750. - }
  3751. -
  3752. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3753. - android_aar_prebuilt("google_firebase_firebase_components_java") {
  3754. - aar_path = "libs/com_google_firebase_firebase_components/firebase-components-16.1.0.aar"
  3755. - info_path = "libs/com_google_firebase_firebase_components/com_google_firebase_firebase_components.info"
  3756. -
  3757. - # To remove visibility constraint, add this dependency to
  3758. - # //third_party/android_deps/build.gradle.
  3759. - visibility = [
  3760. - ":*",
  3761. - "//third_party/androidx:*",
  3762. - ]
  3763. - deps = [
  3764. - ":google_firebase_firebase_annotations_java",
  3765. - "//third_party/androidx:androidx_annotation_annotation_java",
  3766. - ]
  3767. -
  3768. - # Can't find com.google.firebase.components.Component$ComponentType.
  3769. - enable_bytecode_checks = false
  3770. - }
  3771. -
  3772. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3773. - java_prebuilt("google_firebase_firebase_encoders_java") {
  3774. - jar_path = "libs/com_google_firebase_firebase_encoders/firebase-encoders-16.1.0.jar"
  3775. - output_name = "com_google_firebase_firebase_encoders"
  3776. - supports_android = true
  3777. -
  3778. - # To remove visibility constraint, add this dependency to
  3779. - # //third_party/android_deps/build.gradle.
  3780. - visibility = [
  3781. - ":*",
  3782. - "//third_party/androidx:*",
  3783. - ]
  3784. - deps = [ "//third_party/androidx:androidx_annotation_annotation_java" ]
  3785. - }
  3786. -
  3787. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3788. - android_aar_prebuilt("google_firebase_firebase_encoders_json_java") {
  3789. - aar_path = "libs/com_google_firebase_firebase_encoders_json/firebase-encoders-json-17.1.0.aar"
  3790. - info_path = "libs/com_google_firebase_firebase_encoders_json/com_google_firebase_firebase_encoders_json.info"
  3791. -
  3792. - # To remove visibility constraint, add this dependency to
  3793. - # //third_party/android_deps/build.gradle.
  3794. - visibility = [
  3795. - ":*",
  3796. - "//third_party/androidx:*",
  3797. - ]
  3798. - deps = [
  3799. - ":google_firebase_firebase_encoders_java",
  3800. - "//third_party/androidx:androidx_annotation_annotation_java",
  3801. - ]
  3802. - }
  3803. -
  3804. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3805. - android_aar_prebuilt("google_firebase_firebase_iid_interop_java") {
  3806. - aar_path = "libs/com_google_firebase_firebase_iid_interop/firebase-iid-interop-17.0.0.aar"
  3807. - info_path = "libs/com_google_firebase_firebase_iid_interop/com_google_firebase_firebase_iid_interop.info"
  3808. -
  3809. - # To remove visibility constraint, add this dependency to
  3810. - # //third_party/android_deps/build.gradle.
  3811. - visibility = [
  3812. - ":*",
  3813. - "//third_party/androidx:*",
  3814. - ]
  3815. - deps = [
  3816. - ":google_play_services_base_java",
  3817. - ":google_play_services_basement_java",
  3818. - ]
  3819. - }
  3820. -
  3821. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3822. - android_aar_prebuilt("google_firebase_firebase_installations_java") {
  3823. - aar_path = "libs/com_google_firebase_firebase_installations/firebase-installations-16.3.5.aar"
  3824. - info_path = "libs/com_google_firebase_firebase_installations/com_google_firebase_firebase_installations.info"
  3825. -
  3826. - # To remove visibility constraint, add this dependency to
  3827. - # //third_party/android_deps/build.gradle.
  3828. - visibility = [
  3829. - ":*",
  3830. - "//third_party/androidx:*",
  3831. - ]
  3832. - deps = [
  3833. - ":google_firebase_firebase_common_java",
  3834. - ":google_firebase_firebase_components_java",
  3835. - ":google_firebase_firebase_installations_interop_java",
  3836. - ":google_play_services_tasks_java",
  3837. - ]
  3838. -
  3839. - # Can't find com.google.auto.value.AutoValue$Builder.
  3840. - enable_bytecode_checks = false
  3841. - }
  3842. -
  3843. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3844. - android_aar_prebuilt("google_firebase_firebase_installations_interop_java") {
  3845. - aar_path = "libs/com_google_firebase_firebase_installations_interop/firebase-installations-interop-16.0.1.aar"
  3846. - info_path = "libs/com_google_firebase_firebase_installations_interop/com_google_firebase_firebase_installations_interop.info"
  3847. -
  3848. - # To remove visibility constraint, add this dependency to
  3849. - # //third_party/android_deps/build.gradle.
  3850. - visibility = [
  3851. - ":*",
  3852. - "//third_party/androidx:*",
  3853. - ]
  3854. - deps = [
  3855. - ":google_firebase_firebase_annotations_java",
  3856. - ":google_play_services_tasks_java",
  3857. - ]
  3858. -
  3859. - # Can't find com.google.auto.value.AutoValue$Builder.
  3860. - enable_bytecode_checks = false
  3861. - }
  3862. -
  3863. - # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3864. - android_aar_prebuilt("google_firebase_firebase_measurement_connector_java") {
  3865. - aar_path = "libs/com_google_firebase_firebase_measurement_connector/firebase-measurement-connector-18.0.0.aar"
  3866. - info_path = "libs/com_google_firebase_firebase_measurement_connector/com_google_firebase_firebase_measurement_connector.info"
  3867. -
  3868. - # To remove visibility constraint, add this dependency to
  3869. - # //third_party/android_deps/build.gradle.
  3870. - visibility = [
  3871. - ":*",
  3872. - "//third_party/androidx:*",
  3873. - ]
  3874. - deps = [ ":google_play_services_basement_java" ]
  3875. - }
  3876. -
  3877. # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
  3878. java_prebuilt("com_google_protobuf_protobuf_lite_java") {
  3879. jar_path = "libs/com_google_protobuf_protobuf_lite/protobuf-lite-3.0.1.jar"
  3880. diff --git a/third_party/android_deps/local_modifications/preconditions/javatests/BUILD.gn b/third_party/android_deps/local_modifications/preconditions/javatests/BUILD.gn
  3881. --- a/third_party/android_deps/local_modifications/preconditions/javatests/BUILD.gn
  3882. +++ b/third_party/android_deps/local_modifications/preconditions/javatests/BUILD.gn
  3883. @@ -8,7 +8,6 @@ android_library("javatests") {
  3884. testonly = true
  3885. sources = [ "org/chromium/preconditions/PreconditionsTest.java" ]
  3886. deps = [
  3887. - "$google_play_services_package:google_play_services_basement_java",
  3888. "//base:base_java_test_support",
  3889. "//base/test:test_support_java",
  3890. "//build/android:build_java",
  3891. diff --git a/third_party/android_deps/util/org/chromium/gms/ChromiumPlayServicesAvailability.java b/third_party/android_deps/util/org/chromium/gms/ChromiumPlayServicesAvailability.java
  3892. --- a/third_party/android_deps/util/org/chromium/gms/ChromiumPlayServicesAvailability.java
  3893. +++ b/third_party/android_deps/util/org/chromium/gms/ChromiumPlayServicesAvailability.java
  3894. @@ -5,9 +5,6 @@ package org.chromium.gms;
  3895. import android.content.Context;
  3896. -import com.google.android.gms.common.ConnectionResult;
  3897. -import com.google.android.gms.common.GoogleApiAvailability;
  3898. -
  3899. // Refer to go/doubledown-play-services#new-apis for more detail.
  3900. public final class ChromiumPlayServicesAvailability {
  3901. /**
  3902. @@ -30,9 +27,7 @@ public final class ChromiumPlayServicesAvailability {
  3903. * PM/UX.
  3904. */
  3905. public static boolean isGooglePlayServicesAvailable(final Context context) {
  3906. - return GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(
  3907. - context, GMS_VERSION_NUMBER)
  3908. - == ConnectionResult.SUCCESS;
  3909. + return false;
  3910. }
  3911. /**
  3912. @@ -50,7 +45,6 @@ public final class ChromiumPlayServicesAvailability {
  3913. * PM/UX.
  3914. */
  3915. public static int getGooglePlayServicesConnectionResult(final Context context) {
  3916. - return GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(
  3917. - context, GMS_VERSION_NUMBER);
  3918. + return 16; // API_UNAVAILABLE
  3919. }
  3920. }
  3921. --
  3922. 2.25.1