package Ġcom . trainer app . di . module Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroidx . fragment . app . Fragment Activity Ċ import Ġcom . google . android . gms . auth . api . signin . Google SignIn Ċ import Ġcom . google . android . gms . auth . api . signin . Google SignIn Client Ċ import Ġcom . google . android . gms . auth . api . signin . Google SignIn Options Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . google . gson . Gson Builder Ċ import Ġcom . t br uy elle . rx permissions 2 . Rx Permissions Ċ import Ġcom . trainer app . R Ċ import Ġcom . trainer app . base . Base Activity Ċ import Ġcom . trainer app . di . Per Activity Scope Ċ import Ġcom . trainer app . manager . Loading Manager Ċ import Ġcom . trainer app . manager . Loading ManagerImpl Ċ import Ġcom . trainer app . service . Permission Service Ċ import Ġcom . trainer app . service . Permission ServiceImpl Ċ import Ġcom . trainer app . web . api . WebService Token Interceptor Ċ import Ġcom . trainer app . web . web service . Event WebService Ċ import Ġcom . trainer app . web . web service . User WebService Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġio . reactivex . schedul ers . Schedulers Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . adapter . rx java 2 . Rx Java 2 Call Adapter Factory Ċ import Ġretrofit 2 . converter . gson . Gson Converter Factory Ċ Ċ @ Module Ċ class ĠActivity Module ( private Ġvar Ġactivity : ĠBase Activity ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠBASE _ URL Ġ= Ġ" https :// training - 2 2 2 1 0 6 . app spot . com /" ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovide Ok HttpClient (): ĠOk HttpClient Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠOk HttpClient . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( WebService Token Interceptor ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovide Gson (): ĠGson Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠGson Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Len ient () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set DateFormat (" yyyy - MM - dd ' T ' HH : mm : ss ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovide Ret rofit ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgson : ĠGson , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġok HttpClient : ĠOk HttpClient ĊĠĠĠ Ġ): ĠRet rofit Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. client ( ok HttpClient ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( BASE _ URL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ( gson )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Call Adapter Factory ( Rx Java 2 Call Adapter Factory . create With Scheduler ( Schedulers . io ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Per Activity Scope ĊĠĠĠ Ġfun Ġprovide Loading Manager ( activity : ĠBase Activity ): ĠLoading Manager Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠLoading ManagerImpl ( activity ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovides Google SignIn (): ĠGoogle SignIn Client Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġg so Ġ= ĠGoogle SignIn Options . Builder ( Google SignIn Options . DEFAULT _ SIGN _ IN ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. requestId Token ( activity . getString (( R . string . default _ web _ client _ id ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. request Email () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġ// Ġ[ END Ġconfig _ signin ] ĊĊĠĠĠĠĠĠĠ Ġreturn ĠGoogle SignIn . getClient ( activity , Ġg so ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovides Event WebService ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġretrofit : ĠRet rofit ĊĠĠĠ Ġ): ĠEvent WebService Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġretrofit . create ( Event WebService :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovides User WebService ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġretrofit : ĠRet rofit ĊĠĠĠ Ġ): ĠUser WebService Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġretrofit . create ( User WebService :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovides Activity (): ĠActivity Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġactivity ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovides Base Activity (): ĠBase Activity Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġactivity ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovide Permissions Service ( activity : ĠActivity ): ĠPermission Service Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠPermission ServiceImpl ( activity , ĠRx Permissions ( activity Ġas ĠFragment Activity )) ĊĠĠĠ Ġ} Ċ } Ċ