/** Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠThe ĠT ari ĠProject Ċ Ġ* Ċ Ġ* ĠRedistribution Ġand Ġuse Ġin Ġsource Ġand Ġbinary Ġforms , Ġwith Ġor Ċ Ġ* Ġwithout Ġmodification , Ġare Ġpermitted Ġprovided Ġthat Ġthe Ċ Ġ* Ġfollowing Ġconditions Ġare Ġmet : Ċ Ġ* Ċ Ġ* Ġ 1 . ĠRedistributions Ġof Ġsource Ġcode Ġmust Ġretain Ġthe Ġabove Ġcopyright Ġnotice , Ċ Ġ* Ġthis Ġlist Ġof Ġconditions Ġand Ġthe Ġfollowing Ġdisclaimer . Ċ Ġ* Ċ Ġ* Ġ 2 . ĠRedistributions Ġin Ġbinary Ġform Ġmust Ġreproduce Ġthe Ġabove Ċ Ġ* Ġcopyright Ġnotice , Ġthis Ġlist Ġof Ġconditions Ġand Ġthe Ġfollowing Ġdisclaimer Ġin Ġthe Ċ Ġ* Ġdocumentation Ġand / or Ġother Ġmaterials Ġprovided Ġwith Ġthe Ġdistribution . Ċ Ġ* Ċ Ġ* Ġ 3 . ĠNeither Ġthe Ġname Ġof Ġthe Ġcopyright Ġholder Ġnor Ġthe Ġnames Ġof Ċ Ġ* Ġits Ġcontributors Ġmay Ġbe Ġused Ġto Ġendorse Ġor Ġpromote Ġproducts Ċ Ġ* Ġderived Ġfrom Ġthis Ġsoftware Ġwithout Ġspecific Ġprior Ġwritten Ġpermission . Ċ Ġ* Ċ Ġ* ĠTHIS ĠSOFTWARE ĠIS ĠPROVIDED ĠBY ĠTHE ĠCOPYRIGHT ĠHOLDERS ĠAND Ċ Ġ* ĠCONTRIBUTORS Ġ" AS ĠIS " ĠAND ĠANY ĠEXPRESS ĠOR ĠIMPLIED ĠWARRANTIES , Ċ Ġ* ĠINCLUDING , ĠBUT ĠNOT ĠLIMITED ĠTO , ĠTHE ĠIMPLIED ĠWARRANTIES Ċ Ġ* ĠOF ĠMERCHANTABILITY ĠAND ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠARE Ċ Ġ* ĠDISCLAIMED . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE ĠCOPYRIGHT ĠHOLDER ĠOR Ċ Ġ* ĠCONTRIBUTORS ĠBE ĠLIABLE ĠFOR ĠANY ĠDIRECT , ĠINDIRECT , ĠINCIDENTAL , Ċ Ġ* ĠSPECIAL , ĠEXEMPLARY , ĠOR ĠCONSEQUENTIAL ĠDAMAGES Ġ( INCLUDING , ĠBUT Ċ Ġ* ĠNOT ĠLIMITED ĠTO , ĠPROCUREMENT ĠOF ĠSUBSTITUTE ĠGOODS ĠOR ĠSERVICES ; Ċ Ġ* ĠLOSS ĠOF ĠUSE , ĠDATA , ĠOR ĠPROFITS ; ĠOR ĠBUSINESS ĠINTERRUPTION ) Ċ Ġ* ĠHOWEVER ĠCAUSED ĠAND ĠON ĠANY ĠTHEORY ĠOF ĠLIABILITY , ĠWHETHER ĠIN Ċ Ġ* ĠCONTRACT , ĠSTRICT ĠLIABILITY , ĠOR ĠTORT Ġ( INCLUDING ĠNEGLIGENCE Ċ Ġ* ĠOR ĠOTHERWISE ) ĠARISING ĠIN ĠANY ĠWAY ĠOUT ĠOF ĠTHE ĠUSE ĠOF ĠTHIS Ċ Ġ* ĠSOFTWARE , ĠEVEN ĠIF ĠADVISED ĠOF ĠTHE ĠPOSSIBILITY ĠOF ĠSUCH ĠDAMAGE . Ċ Ġ*/ Ċ package Ġcom . t ari . android . wallet . di Ċ Ċ import Ġcom . t ari . android . wallet . Build Config Ċ import Ġcom . t ari . android . wallet . data . network . Network Repository Ċ import Ġcom . t ari . android . wallet . service . fa uc et . Test net Fa uc et REST Gateway Ċ import Ġcom . t ari . android . wallet . service . fa uc et . Test net Fa uc et REST Service Ċ import Ġcom . t ari . android . wallet . service . fa uc et . Test net Fa uc et Service Ċ import Ġcom . t ari . android . wallet . service . notification . Notification Service Ċ import Ġcom . t ari . android . wallet . service . notification . Push Notification REST Gateway Ċ import Ġcom . t ari . android . wallet . service . notification . Push Notification REST Service Ċ import Ġcom . t ari . android . wallet . util . Constants Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġokhttp 3 . logging . Http Logging Interceptor Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . converter . gson . Gson Converter Factory Ċ import Ġjavax . inject . Named Ċ import Ġjavax . inject . Singleton Ċ Ċ /** Ċ Ġ* ĠD agger Ġmodule Ġto Ġinject ĠREST Ġservice Ġdependencies . Ċ Ġ* Ċ Ġ* Ġ@ author ĠThe ĠT ari ĠDevelopment ĠTeam Ċ Ġ*/ Ċ @ Module Ċ internal Ġclass ĠREST Module Ġ{ ĊĊĠĠĠ Ġobject ĠField Name Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġfauc et HttpClient Ġ= Ġ" fa uc et _ http _ client " ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġfauc et Ret rofit Ġ= Ġ" fa uc et _ ret rofit " ĊĊĠĠĠĠĠĠĠ Ġconst Ġval Ġpush Notification HttpClient Ġ= Ġ" push _ notification _ http _ client " ĊĠĠĠĠĠĠĠ Ġconst Ġval Ġpush Notification Ret rofit Ġ= Ġ" push _ notification _ ret rofit " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġinterceptor Ġ= ĠHttp Logging Interceptor () ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Named ( FieldName . fa uc et HttpClient ) ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Fa uc et HttpClient (): ĠOk HttpClient Ġ= ĠOk HttpClient . Builder (). build () ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Named ( FieldName . fa uc et Ret rofit ) ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Test net Fa uc et Ret rofit ( ĊĠĠĠĠĠĠĠ Ġnetwork Repository : ĠNetwork Repository , ĊĠĠĠĠĠĠĠ Ġ@ Named ( FieldName . fa uc et HttpClient ) Ġok HttpClient : ĠOk HttpClient ĊĠĠĠ Ġ): ĠRet rofit Ġ= ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠ Ġ// cant Ġlive Ġwithout Ġempty Ġbase Ġurl ĊĠĠĠĠĠĠĠ Ġ. baseUrl ( network Repository . current Network ?. fa uc et Url Ġ?: Ġ" https :// localhost /") ĊĠĠĠĠĠĠĠ Ġ. client ( ok HttpClient ) ĊĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Test net Fa uc et REST Gateway ( ĊĠĠĠĠĠĠĠ Ġ@ Named ( FieldName . fa uc et Ret rofit ) Ġretrofit : ĠRet rofit ĊĠĠĠ Ġ): ĠTest net Fa uc et REST Gateway Ġ= Ġretrofit . create ( Test net Fa uc et REST Gateway :: class . java ) ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Test net Fa uc et Service ( gateway : ĠTest net Fa uc et REST Gateway ): ĠTest net Fa uc et Service Ġ= ĊĠĠĠĠĠĠĠ ĠTest net Fa uc et REST Service ( gateway ) ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Named ( FieldName . push Notification HttpClient ) ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Push Notification HttpClient (): ĠOk HttpClient Ġ{ ĊĠĠĠĠĠĠĠ Ġinterceptor . level Ġ= ĠHttp Logging Interceptor . Level . BODY ĊĠĠĠĠĠĠĠ Ġreturn ĠOk HttpClient . Builder (). add Interceptor ( interceptor ). build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Named ( FieldName . push Notification Ret rofit ) ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Push Notification Ret rofit ( ĊĠĠĠĠĠĠĠ Ġ@ Named ( FieldName . push Notification HttpClient ) Ġok HttpClient : ĠOk HttpClient ĊĠĠĠ Ġ): ĠRet rofit Ġ= ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠ Ġ. baseUrl ( Constants . Wallet . push Notification Server Url ) ĊĠĠĠĠĠĠĠ Ġ. client ( ok HttpClient ) ĊĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Push Notification REST Service ( ĊĠĠĠĠĠĠĠ Ġ@ Named ( FieldName . push Notification Ret rofit ) Ġretrofit : ĠRet rofit ĊĠĠĠ Ġ): ĠPush Notification REST Gateway Ġ= Ġretrofit . create ( Push Notification REST Gateway :: class . java ) ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Notification Service ( gateway : ĠPush Notification REST Gateway ): ĠNotification Service Ġ= ĊĠĠĠĠĠĠĠ ĠPush Notification REST Service ( gateway , ĠBuild Config . NOTIFICATION S _ API _ KEY ) Ċ Ċ } Ċ