package Ġcom . hum az ed . f ours quare near by . api Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . annotation . Keep Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . facebook . ste tho . okhttp 3 . St eth o Interceptor Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . hum az ed . f ours quare near by . model . explore . Explore Response Ċ import Ġcom . hum az ed . f ours quare near by . model . photos . Photos Response Ċ import Ġio . reactivex . Single Ċ 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 2 . Rx Java 2 Call Adapter Factory Ċ import Ġretrofit 2 . converter . gson . Gson Converter Factory Ċ import Ġretrofit 2 . http . GET Ċ import Ġretrofit 2 . http . Path Ċ import Ġretrofit 2 . http . Query Ċ import Ġjava . util . concurrent . TimeUnit ĊĊ Ċ @ Keep Ċ interface ĠV en ues Service Ġ{ ĊĠĠĠ Ġ@ GET (" ven ues / explore ") ĊĠĠĠ Ġfun Ġget Ven ues ( ĊĠĠĠĠĠĠĠ Ġ@ Query (" ll ") Ġlong Lat : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Query (" radius ") Ġradius : ĠDouble , ĊĠĠĠĠĠĠĠ Ġ@ Query (" limit ") Ġlimit : ĠInt ĊĠĠĠ Ġ): ĠSingle < Explore Response > ĊĊĠĠĠ Ġ@ GET (" ven ues /{ venue Id }/ photos ") ĊĠĠĠ Ġfun Ġget Venue Photos ( ĊĠĠĠĠĠĠĠ Ġ@ Path (" venue Id ") Ġid : ĠString ĊĠĠĠ Ġ): ĠSingle < Photos Response > Ċ } ĊĊ Ċ val ĠContext . api : ĠV en ues Service ĊĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġapi : ĠV en ues Service Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcache Size Ġ= Ġ 1 0 Ġ* Ġ 1 0 2 4 Ġ* Ġ 1 0 2 4 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcache Ġ= ĠCache ( cacheDir , Ġcache Size . to Long ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlogging Ġ= ĠHttp Logging Interceptor () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogging . level Ġ= ĠHttp Logging Interceptor . Level . BASIC ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġok HttpClient Ġ= ĠOk HttpClient . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( logging ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Network Interceptor ( St eth o Interceptor ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( Auth Interceptor ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. cache ( cache ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. read Timeout ( 5 , ĠTimeUnit . MIN UTES ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. connect Timeout ( 5 , ĠTimeUnit . MIN UTES ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġretrofit Ġ= ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ( Gson ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Call Adapter Factory ( Rx Java 2 Call Adapter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl (" https :// api . f ours quare . com / v 2 /") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. client ( ok HttpClient ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ lazy Ġretrofit . create ( Ven ues Service :: class . java ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġapi ĊĠĠĠ Ġ} Ċ Ċ val ĠFragment . api Ġget () Ġ= Ġrequire Context (). api ĊĊ