package Ġcom . so ble mp rol ved . interface o fo u rown . service Ċ Ċ import Ġcom . so ble mp rol ved . interface o fo u rown . model . Bookmark Filter Parameters Ċ import Ġcom . so ble mp rol ved . interface o fo u rown . model . Collection Filter Parameters Ċ import Ġcom . so ble mp rol ved . interface o fo u rown . model . Work Filter Parameters Ċ import Ġcom . so ble mp rol ved . interface o fo u rown . service . converters . AO 3 Converter Factory Ċ import Ġcom . so ble mp rol ved . interface o fo u rown . service . converters . response body .* Ċ import Ġcom . so ble mp rol ved . interface o fo u rown . service . models .* Ċ import Ġcom . so ble mp rol ved . interface o fo u rown . service . models . Login Field Map Ċ import Ġcom . so ble mp rol ved . interface o fo u rown . service . models . Tag Ċ import Ġokhttp 3 . Interceptor Ċ import Ġokhttp 3 . Java Net Cookie Jar Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġretrofit 2 . Call Adapter Ċ import Ġretrofit 2 . Converter Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . http .* Ċ import Ġjava . net . Cookie Manager Ċ import Ġjava . net . Cookie Policy Ċ Ċ /** Ċ Ġ* ĠThis Ġis Ġthe Ġretrofit Ġinterface Ġfor Ġgenerating Ġthe Ġretrofit Ġservice Ġthat Ġinteract s Ġwith ĠA O 3 . Ċ Ġ* Ċ Ġ* ĠAll Ġfunctions Ġin Ġhere Ġare Ġsus pending Ġfor Ġnow . ĠCalls Ġwill Ġbe Ġincluded Ġat Ġa Ġlater Ġdate . Ċ Ġ*/ Ċ interface ĠA O 3 Service Ġ{ ĊĠĠĠ Ġ/* ĊĠĠĠ ĠThere Ġis Ġa Ġspecific Ġnaming Ġsystem Ġfor Ġthe Ġmethods . ĊĠĠĠ ĠMethods Ġbeginning Ġwith Ġ" browse ..." Ġreturn Ġa Ġset Ġof Ġresults , Ġand Ġcan Ġaccept Ġ* optional * Ġparameters Ġfor Ġfiltering . ĊĠĠĠ ĠMethods Ġbeginning Ġwith Ġ" search ..." Ġrequire Ġall Ġparameters Ġto Ġbe Ġpresent . ĊĠĠĠ ĠFIXME : Ġthis Ġis Ġa Ġbad Ġexplanation ĊĠĠĠĠ Ġ*/ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRetrieves Ġa Ġlist Ġof Ġup Ġto Ġ 2 0 Ġbookmark Ġblur bs Ġat Ġthe Ġspecified Ġ[ page ] Ġthat Ġare Ġassociated Ġwith Ġthe Ġspecified Ġtag . ĊĠĠĠĠ Ġ* ĠAdditional Ġarguments Ġcan Ġbe Ġspecified Ġin Ġ[ parameters ] Ġwith Ġa Ġ[ Work Filter Parameters ] Ġobject . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ GET (" tags /{ tag }/ bookmarks ") ĊĠĠĠ Ġsuspend Ġfun Ġbrowse Book marks By Tag ( ĊĠĠĠĠĠĠĠ Ġ@ Path (" tag ") Ġtag : ĠTag , Ġ// ĠTODO : Ġconsider Ġusing Ġintercept ors Ġto Ġencode Ġtags Ġinstead ĊĠĠĠĠĠĠĠ Ġ@ Query (" page ") Ġpage : ĠInt , ĊĠĠĠĠĠĠĠ Ġ@ Query Map Ġparameters : ĠBook mark Filter Parameters Ġ= ĠBook mark Filter Parameters () ĊĠĠĠ Ġ): ĠA O 3 Response < Book marks By Tag Converter . Result > ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRetrieves Ġa Ġlist Ġof Ġup Ġto Ġ 2 0 Ġwork Ġblur bs Ġat Ġthe Ġspecified Ġ[ page ] Ġthat Ġare Ġassociated Ġwith Ġthe Ġspecified Ġtag . ĊĠĠĠĠ Ġ* ĠAdditional Ġarguments Ġcan Ġbe Ġspecified Ġin Ġ[ parameters ] Ġwith Ġa Ġ[ Work Filter Parameters ] Ġobject . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ GET (" tags /{ tag }/ works ") ĊĠĠĠ Ġsuspend Ġfun Ġbrowse Work sBy Tag ( ĊĠĠĠĠĠĠĠ Ġ@ Path (" tag ") Ġtag : ĠTag , ĊĠĠĠĠĠĠĠ Ġ@ Query (" page ") Ġpage : ĠInt , ĊĠĠĠĠĠĠĠ Ġ@ Query Map Ġparameters : ĠWork Filter Parameters Ġ= ĠWork Filter Parameters () ĊĠĠĠ Ġ): ĠA O 3 Response < Work sBy Tag Converter . Result > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRetrieves Ġa Ġlist Ġof Ġup Ġto Ġ 2 0 Ġcollection Ġblur bs Ġat Ġthe Ġspecified Ġ[ page ] Ġfrom Ġall Ġcollections . ĊĠĠĠĠ Ġ* ĠAdditional Ġarguments Ġcan Ġbe Ġspecified Ġin Ġ[ parameters ] Ġwith Ġa Ġ[ Collection Filter Parameters ] Ġobject . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ GET (" collections ") ĊĠĠĠ Ġsuspend Ġfun Ġbrowse Collections ( ĊĠĠĠĠĠĠĠ Ġ@ Query (" page ") Ġpage : ĠInt , ĊĠĠĠĠĠĠĠ Ġ@ Query Map Ġparameters : ĠCollection Filter Parameters Ġ= ĠCollection Filter Parameters () ĊĠĠĠ Ġ): ĠA O 3 Response < Collections Search Converter . Result > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRetrieves Ġa ĠCSRF Ġtoken Ġand Ġsets Ġthe Ġsession Ġcookie Ġto Ġmatch Ġthe Ġtoken . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Headers (" Accept : Ġapplication / json ") ĊĠĠĠ Ġ@ GET (" token _ dis pen ser . json ") ĊĠĠĠ Ġsuspend Ġfun Ġget Cs rf Token (): ĠA O 3 Response < Cs rf > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRetrieves Ġthe Ġwork Ġwith Ġthe Ġspecified Ġ[ id ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠMay Ġthrow Ġan Ġerror Ġif Ġthe Ġuser Ġis Ġnot Ġlogged Ġin , Ġand Ġis Ġtrying Ġto Ġaccess Ġa Ġrestricted Ġwork . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ GET (" works /{ id }? view _ ad ult = true & view _ full _ work = true ") ĊĠĠĠ Ġsuspend Ġfun Ġget Work (@ Path (" id ") Ġid : ĠLong ): ĠA O 3 Response < Work Converter . Result > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠLogs Ġin Ġto ĠA O 3 Ġwith Ġthe Ġspecified Ġusername Ġand Ġpassword . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠAll Ġfurther Ġnetwork Ġcalls Ġto ĠA O 3 Ġmade Ġusing Ġthe Ġbacking Ġ[ Ok HttpClient ] Ġ( e . g . Ġthis Ġ[ AO 3 Service ] Ġinstance ) ĊĠĠĠĠ Ġ* Ġwill Ġbe Ġtreated Ġas Ġif Ġthe Ġuser Ġis Ġlogged Ġin , Ġuntil Ġ[ logout ] Ġis Ġcalled . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Form Url Encoded ĊĠĠĠ Ġ@ POST (" users / login ") ĊĠĠĠ Ġsuspend Ġfun Ġlogin ( ĊĠĠĠĠĠĠĠ Ġ@ Field (" user [ login ]") Ġusername : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Field (" user [ password ]") Ġpassword : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Field (" auth entic ity _ token ") Ġcsrf : ĠC s rf , ĊĠĠĠĠĠĠĠ Ġ@ Field Map ( encoded Ġ= Ġfalse ) Ġdefault Form Parameters : ĠLogin Field Map Ġ= ĠLogin Field Map () ĊĠĠĠ Ġ): ĠA O 3 Response < Login > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠLogs Ġout Ġof ĠA O 3 . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠAll Ġfurther Ġnetwork Ġcalls Ġto ĠA O 3 Ġmade Ġusing Ġthe Ġbacking Ġ[ Ok HttpClient ] Ġ( e . g . Ġthis Ġ[ AO 3 Service ] Ġinstance ĊĠĠĠĠ Ġ* Ġwill Ġbe Ġtreated Ġas Ġif Ġthe Ġuser Ġis Ġlogged Ġout . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Form Url Encoded ĊĠĠĠ Ġ@ POST (" users / logout ") ĊĠĠĠ Ġsuspend Ġfun Ġlogout ( ĊĠĠĠĠĠĠĠ Ġ@ Field (" auth entic ity _ token ") Ġcsrf : ĠC s rf , ĊĠĠĠĠĠĠĠ Ġ@ Field Map ( encoded Ġ= Ġfalse ) Ġdefault Form Parameters : ĠLogout Field Map Ġ= ĠLogout Field Map () ĊĠĠĠ Ġ): ĠA O 3 Response < Logout > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRetrieves Ġa Ġlist Ġof Ġup Ġto Ġ 1 5 Ġtags Ġthat Ġmatch Ġthe Ġsearch Ġ[ query ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠThe Ġtypes Ġof Ġthe Ġreturned Ġtags Ġare Ġconstr ained Ġby Ġthe Ġ[ type ] Ġspecified . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Headers (" Accept : Ġapplication / json ") ĊĠĠĠ Ġ@ GET (" autocomplete /{ type }") ĊĠĠĠ Ġsuspend Ġfun Ġsearch Autocomplete ( ĊĠĠĠĠĠĠĠ Ġ@ Path (" type ") Ġtype : ĠAuto complete Type , ĊĠĠĠĠĠĠĠ Ġ@ Query (" term ") Ġquery : ĠString ĊĠĠĠ Ġ): ĠA O 3 Response < Autocomplete Converter . Result > ĊĊĠĠĠ Ġ/* ĊĠĠĠ Ġ// ĠI 'm Ġgoing Ġto Ġlist Ġall Ġthe Ġfunctions Ġin Ġthe Ġfinal ĠAPI Ġhere , Ġeven Ġif Ġthere Ġis Ġno Ġrequest Ġanalog / not Ġcomplete ĊĠĠĠ Ġ// ĠTODO : Ġwe Ġwill Ġmake Ġthis Ġa Ġsus pending Ġinterface ĊĊĠĠĠ Ġ/* ĠUser Ġaccounts Ġ*/ ĊĠĠĠ Ġfun Ġlogin () ĠĠĠĠ Ġ// Ġusers / login ĠĠĠĠĠ ĠTODO : ĠIn Ġprogress ĊĠĠĠ Ġfun Ġlogout () ĠĠĠ Ġ// Ġusers / logout ĠĠĠĠ ĠTODO : ĠIn Ġprogress ĊĊĠĠĠ Ġ/* ĠAccount - exclusive Ġactions Ġ*/ ĊĊĠĠĠ Ġ/* ĠF andom s Ġ*/ ĊĠĠĠ Ġfun Ġget F andom Categories () ĠĠ Ġ// Ġmedia ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNote : Ġthis Ġis Ġquite Ġuseless ĊĠĠĠ Ġfun Ġget F andom sBy Category () Ġ Ġ// Ġmedia /$ CATEGORY _ NAME / f andom s ĠĠĠĠ ĠTODO ĊĊĠĠĠ Ġ/* ĠB rowsing Ġby Ġtag Ġ*/ ĊĠĠĠ Ġfun Ġget Tag Info () ĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġtags /$ TAG _ NAME ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTODO ĊĠĠĠ Ġfun Ġbrowse Work sBy Tag () ĠĠĠĠĠ Ġ// Ġtags /$ TAG _ NAME / works ĠĠĠĠĠĠĠĠ ĠCompleted ĊĠĠĠ Ġfun Ġbrowse Book marks By Tag () Ġ Ġ// Ġtags /$ TAG _ NAME / bookmarks ĠĠĠĠ ĠCompleted ĊĊĠĠĠ Ġ/* ĠB rowsing Ġ*/ ĊĠĠĠ Ġ// ĠThese Ġfunctional ities Ġare Ġquite Ġuseless Ġim o , Ġso ĠI Ġwill Ġassign Ġthem Ġto Ġthe Ġlowest Ġpriority ĊĠĠĠ Ġ// Ġthese Ġare Ġnon - pag inated Ġfunctions Ġthat Ġonly Ġget Ġa Ġfixed Ġamount Ġof Ġitems ĊĠĠĠ Ġfun Ġget Recent Works () ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġworks ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTODO ĊĠĠĠ Ġfun Ġget Recent Book marks () ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġbook marks ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTODO ĊĠĠĠ Ġfun Ġget Most Pop ular Tags () ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġtags ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTODO ĊĠĠĠ Ġfun ĠgetRandom Tags () ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġtags ? show = random ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTODO ĊĠĠĠ Ġfun Ġget Open Ch allenges Closing So on est () ĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcollections / list _ challenges ĠĠĠĠĠ ĠTODO ĊĠĠĠ Ġfun Ġget Gift Exchange Ch allenges Closing So on est () ĠĠ Ġ// Ġcollections / list _ ge _ challenges ĠĠ ĠTODO ĊĠĠĠ Ġfun Ġget Prompt Me me Ch allenges Closing So on est () ĠĠĠĠ Ġ// Ġcollections / list _ pm _ challenges ĠĠ ĠTODO ĊĊĠĠĠ Ġ// ĠThese Ġare Ġmore Ġuseful , Ġas Ġthey Ġare Ġactually Ġpag inated ĊĠĠĠ Ġfun Ġbrowse Tag Sets () ĠĠĠĠĠĠĠĠ Ġ// Ġtag _ sets ĠĠĠĠĠĠĠĠ ĠTODO ĊĠĠĠ Ġfun Ġbrowse Collections () ĠĠĠĠ Ġ// Ġcollections ĠĠĠĠĠ ĠCompleted ĊĊĠĠĠ Ġ/* ĠSearch ing Ġ*/ ĊĠĠĠ Ġfun Ġsearch Works () ĠĠĠĠĠĠ Ġ// Ġworks / search ĠĠĠĠĠĠĠĠ ĠTODO ĊĠĠĠ Ġfun Ġsearch Book marks () ĠĠ Ġ// Ġbook marks / search ĠĠĠĠ ĠTODO ĊĠĠĠ Ġfun Ġsearch Tags () ĠĠĠĠĠĠĠ Ġ// Ġtags / search ĠĠĠĠĠĠĠĠĠ ĠTODO ĊĠĠĠ Ġfun Ġsearch Users () ĠĠĠĠĠĠ Ġ// Ġpeople / search ĠĠĠĠĠĠĠ ĠTODO ĊĊĠĠĠ Ġ/* ĠUser ĠPro files Ġ*/ ĊĠĠĠ Ġfun ĠgetUser Profile () ĠĠĠĠĠĠĠ Ġ// Ġusers /$ USER _ NAME / p seud s /$ PSE UD _ NAME ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTODO ĊĠĠĠ Ġfun Ġget Work sBy User () ĠĠĠĠĠĠĠ Ġ// Ġusers /$ USER _ NAME / p seud s /$ PSE UD _ NAME / works ĠĠĠĠĠĠĠ ĠTODO ĊĠĠĠ Ġfun Ġget Book marks ByUser () ĠĠĠ Ġ// Ġusers /$ USER _ NAME / p seud s /$ PSE UD _ NAME / bookmarks ĠĠĠ ĠTODO ĊĊĠĠĠ Ġ/* ĠWorks Ġand Ġwork - related Ġstuff Ġ*/ ĊĠĠĠ Ġfun Ġget Work () ĊĠĠĠ Ġfun Ġget Work Comments () ĊĠĠĠ Ġfun Ġget Chapter Comments () ĊĠĠĠ Ġfun Ġcomment On Work () ĊĠĠĠ Ġfun Ġgive K ud os To Work () ĊĠĠĠ Ġfun Ġbookmark Work () ĊĊĠĠĠ Ġ/* ĠComments Ġ*/ ĊĠĠĠ Ġfun Ġview Child Comments () ĊĠĠĠ Ġfun Ġreply To Comment () ĊĊĠĠĠ Ġ/* ĠSeries Ġ*/ ĊĠĠĠ Ġfun Ġget Work sBy Series () ĠĠĠĠĠ Ġ// Ġseries /$ SER IES _ ID ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTODO : Ġalso Ġreturn Ġseries Ġinfo ĊĠĠĠ Ġfun Ġsubscribe To Series () ĠĠĠĠ Ġ// Ġusers /$ USER _ NAME / subscriptions ĠĠ ĠTODO : ĠMembers Ġonly ĊĠĠĠ Ġfun Ġbookmark Series () ĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTODO : ĠMembers Ġonly ĊĊĠĠĠ Ġ/* ĠCollections Ġand Ġcollection - related Ġstuff Ġ*/ ĊĠĠĠ Ġ*/ ĊĊĠĠĠ Ġcompanion Ġobject ĠFactory Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠFactory Ġmethod Ġto Ġcreate Ġan Ġinstance Ġof Ġan Ġ[ AO 3 Service ]. ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* ĠSpecify Ġthe Ġ[ baseUrl ] Ġif Ġyou Ġwish Ġto Ġuse Ġthis Ġto Ġperform Ġtesting . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* ĠSpecify Ġthe Ġ[ ok HttpClient ] Ġif Ġyou Ġhave Ġan Ġexisting Ġ[ Ok HttpClient ] Ġin Ġyour Ġapplication . ĠRet rofit Ġwill Ġshare Ġresources ĊĠĠĠĠĠĠĠĠ Ġ* Ġwith Ġthe Ġexisting Ġclient , Ġbut Ġit Ġwill Ġuse Ġits Ġown Ġconfiguration Ġfor Ġits Ġown Ġrequests . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠbaseUrl : ĠString Ġ= Ġ" https :// archive o fo u rown . org /", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġok HttpClient : ĠOk HttpClient ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintercept ors : ĠList < Interceptor > Ġ= ĠlistOf (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconverter Factories : ĠList < Converter . Factory > Ġ= ĠlistOf (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcall Adapter Factories : ĠList < Call Adapter . Factory > Ġ= ĠlistOf () ĊĠĠĠĠĠĠĠ Ġ) Ġ: ĠA O 3 Service Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcookie Manager Ġ= ĠCookie Manager () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcookie Manager . set Cookie Policy ( Cookie Policy . ACCEPT _ ALL ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġclient Ġ= Ġ( ok HttpClient ?. newBuilder () Ġ?: ĠOk HttpClient . Builder ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( interceptor Ġin Ġintercept ors ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . add Interceptor ( interceptor ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. follow Redirect s ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. cookie Jar ( Java Net Cookie Jar ( cookie Manager )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġretrofit Ġ= ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( baseUrl ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. client ( client ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( AO 3 Converter Factory ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Call Adapter Factory ( AO 3 Response Call Adapter Factory ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( converter Factory Ġin Ġconverter Factories ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . add Converter Factory ( converter Factory ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( call Adapter Factory Ġin Ġcall Adapter Factories ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . add Call Adapter Factory ( call Adapter Factory ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġretrofit . create ( AO 3 Service :: class . java ) Ġ// ĠTODO : Ġshould ĠI Ġalso Ġreturn Ġthe Ġretrofit Ġand Ġokhttp Ġclient ? ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ