package Ġcn . trans 8 8 . echo . network . services Ċ Ċ import Ġcn . trans 8 8 . common . ext . ensure Dir Ċ import Ġcn . trans 8 8 . echo . AppContext Ċ import Ġcn . trans 8 8 . echo . network . intercept ors . Accept Interceptor Ċ import Ġcn . trans 8 8 . echo . network . intercept ors . Auth Interceptor Ċ import Ġokhttp 3 . Cache Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġokhttp 3 . logging . Http Logging Interceptor Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . adapter . rx java . Rx Java Call Adapter Factory Ċ import Ġretrofit 2 . adapter . rx java . Rx Java Call Adapter Factory 2 Ċ import Ġretrofit 2 . converter . gson . Gson Converter Factory Ċ import Ġrx . android . schedul ers . Android Schedulers Ċ import Ġrx . schedul ers . Schedulers Ċ import Ġjava . io . File Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ private Ġconst Ġval ĠBASE _ URL Ġ=" https :// api . github . com " Ċ Ċ /** Ċ Ġ* Ġ ç¼ĵåŃĺ è¯·æ±Ĥ Ċ Ġ*/ Ċ private Ġval Ġcache File Ġby Ġlazy Ġ{ ĊĠĠĠ ĠFile ( AppContext . cacheDir ," web Service Api "). apply Ġ{ Ġensure Dir () Ġ} Ċ } Ċ Ċ // lazy åľ¨ é¦ĸ æ¬¡ è°ĥçĶ¨ çļĦæĹ¶åĢĻ ä¼ļ è¿Ľè¡Į åĪĿå§ĭåĮĸ Ċ val Ġretrofit Ġby Ġlazy Ġ{ ĊĠĠĠ ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠ Ġ. add Call Adapter Factory ( Rx Java Call Adapter Factory 2 . create With Schedulers Ġ( Schedulers . io (), Android Schedulers . main Thread ())) ĊĠĠĠĠĠĠĠ Ġ. client ( Ok HttpClient . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. connect Timeout ( 6 0 , TimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. read Timeout ( 6 0 , TimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. write Timeout ( 6 0 , TimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. cache ( Cache ( cache File , 1 0 2 4 * 1 0 2 4 * 1 0 2 4 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( Accept Interceptor ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( Auth Interceptor ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( Http Logging Interceptor (). setLevel ( Http Logging Interceptor . Level . BODY )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ. baseUrl ( BASE _ URL ) ĊĠĠĠĠĠĠĠ Ġ. build () Ċ }