/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 7 ĠL iz ha ot ail ang Ċ Ġ* Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ċ Ġ* Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ċ Ġ* Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ċ Ġ* Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ċ Ġ* Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ċ Ġ* Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ċ Ġ* Ġall Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR Ċ Ġ* ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , Ċ Ġ* ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE Ċ Ġ* ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER Ċ Ġ* ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , Ċ Ġ* ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN Ċ Ġ* ĠTHE ĠSOFTWARE . Ċ Ġ*/ Ċ Ċ package Ġio . github . ton ny l . m ango . data . remote Ċ Ċ import Ġandroid . content . Context Ċ import Ġio . github . ton ny l . m ango . data . AccessToken Ċ import Ġio . github . ton ny l . m ango . data . datasource . AccessToken DataSource Ċ import Ġio . github . ton ny l . m ango . ret rofit . AccessToken Service Ċ import Ġio . github . ton ny l . m ango . ret rofit . Api Constants Ċ import Ġio . github . ton ny l . m ango . ret rofit . Ret rofit Client Ċ import Ġio . reactivex . Observable Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġli z ha ot ail ang Ġon Ġ 2 0 1 7 / 6 / 2 7 . Ċ Ġ* Ċ Ġ* ĠImplementation Ġof Ġthe Ġdata Ġsource Ġthat Ġaccessing Ġnetwork . Ċ Ġ*/ Ċ Ċ object ĠAccess Token Remote DataSource : ĠAccess Token DataSource Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġinit ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠNot Ġrequired Ġfor Ġthe Ġremote Ġdata Ġsource Ġbecause Ġthe Ġ[ io . github . ton ny l . m ango . data . repository . AccessToken Repository ] ĊĠĠĠĠĠĠĠ Ġ// Ġhandle Ġthe Ġinitialization . ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget AccessToken ( id : ĠLong ?, Ġcode : ĠString ?): ĠObservable < AccessToken > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRet rofit Client . create Service ( AccessToken Service :: class . java , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get AccessToken ( Api Constants . DR IB BB LE _ GET _ ACCESS _ TOKEN _ URL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApi Constants . CLIENT _ ID , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApi Constants . CLIENT _ SECRET , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApi Constants . DR IB BB LE _ AUTHOR IZE _ CALLBACK _ URI ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsave AccessToken ( accessToken : ĠAccess Token ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠNot Ġrequired Ġfor Ġthe Ġremote Ġdata Ġsource Ġbecause Ġthe Ġ[ io . github . ton ny l . m ango . data . repository . AccessToken Repository ] ĊĠĠĠĠĠĠĠ Ġ// Ġhandle Ġthe Ġsaving Ġdata Ġto Ġcache Ġand Ġdatabase . ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġremove AccessToken ( accessToken : ĠAccess Token ): ĠObservable < Unit > Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠNot Ġrequired Ġfor Ġthe Ġremote Ġdata Ġsource Ġbecause Ġthe Ġ[ io . github . ton ny l . m ango . data . repository . AccessToken Repository ] ĊĠĠĠĠĠĠĠ Ġ// Ġhandle Ġthe Ġremoving Ġdata Ġfrom Ġcache Ġand Ġdatabase . ĊĠĠĠĠĠĠĠ Ġreturn ĠObservable . empty () ĊĠĠĠ Ġ} Ċ }