package Ġnet . j anc z ar . kotlin rx Ċ Ċ import Ġandroid . app . Application Ċ import Ġcom . squareup . mos hi . Kotlin Json Adapter Factory Ċ import Ġcom . squareup . mos hi . M oshi Ċ import Ġnet . j anc z ar . kotlin rx . data . net . Auth Interceptor Ċ import Ġnet . j anc z ar . kotlin rx . data . repository . Rest Auth Repository Ċ import Ġnet . j anc z ar . kotlin rx . data . repository . Rest Hello Repository Ċ import Ġnet . j anc z ar . kotlin rx . data . repository . Rest Register Repository Ċ import Ġnet . j anc z ar . kotlin rx . domain . repository . Auth Repository Ċ import Ġnet . j anc z ar . kotlin rx . domain . repository . Hello Repository Ċ import Ġnet . j anc z ar . kotlin rx . domain . repository . Register Repository Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġokhttp 3 . logging . Http Logging Interceptor Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . adapter . rx java 2 . Rx Java 2 Call Adapter Factory Ċ import Ġretrofit 2 . converter . mos hi . M oshi Converter Factory Ċ import Ġjava . util . concurrent . TimeUnit ĊĊ Ċ class ĠKotlin RX App : ĠApplication () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġretrofit : ĠRet rofit ĊĊĠĠĠ Ġlateinit Ġvar Ġauth Interceptor : ĠAuth Interceptor ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠ Ġlateinit Ġvar Ġ Ġregister Repository : ĠRegister Repository ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠ Ġlateinit Ġvar Ġ Ġhello Repository : ĠHello Repository ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠ Ġlateinit Ġvar Ġauth Repository : ĠAuth Repository ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate () ĊĊĠĠĠĠĠĠĠ Ġauth Interceptor Ġ= ĠAuth Interceptor () ĊĠĠĠĠĠĠĠ Ġretrofit Ġ= Ġinit Ret rofit () ĊĊĠĠĠĠĠĠĠ Ġregister Repository Ġ= ĠRest Register Repository ( ret rofit ) ĊĠĠĠĠĠĠĠ Ġhello Repository Ġ= ĠRest Hello Repository ( ret rofit ) ĊĠĠĠĠĠĠĠ Ġauth Repository Ġ= ĠRest Auth Repository ( ret rofit , Ġauth Interceptor ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Ret rofit () Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( getString ( R . string . base _ url )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( M oshi Converter Factory . create ( init M oshi ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Call Adapter Factory ( Rx Java 2 Call Adapter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. client ( init Ok Http ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġprivate Ġfun Ġinit M oshi () Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠM oshi . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add ( Kotlin Json Adapter Factory ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġprivate Ġfun Ġinit Ok Http () Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠOk HttpClient . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( auth Interceptor ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( Http Logging Interceptor (). setLevel ( Http Logging Interceptor . Level . BODY )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. connect Timeout ( 1 , ĠTimeUnit . MIN UTES ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. write Timeout ( 1 , ĠTimeUnit . MIN UTES ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. read Timeout ( 1 , ĠTimeUnit . MIN UTES ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () Ċ }