package Ġcom . maz ro u . boilerplate . network Ċ Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . google . gson . Gson Builder Ċ import Ġcom . maz ro u . boilerplate . model . database . Ay at Model Ċ import Ġcom . maz ro u . boilerplate . model . database . R ac ine Model Ċ import Ġcom . maz ro u . boilerplate . model . database . Sur ah Ċ import Ġcom . maz ro u . boilerplate . model . database . World Ċ import Ġcom . maz ro u . boilerplate . model . ui . T af se er Ċ import Ġcom . maz ro u . boilerplate . model . ui . T af se er Book Ċ 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 Ġretrofit 2 . http . GET Ċ import Ġretrofit 2 . http . Path Ċ Ċ const Ġval ĠBASE _ URL _ TA F SE ER Ġ= Ġ" http :// api . q uran - ta f se er . com /" Ċ interface ĠT af se er WebService Ġ Ġ{ ĊĊĠĠĠ Ġ@ GET ("/ ta f se er /{ ta f se er _ id }/{ sur ah _ number }/{ ay ah _ number }") ĊĠĠĠ Ġsuspend Ġfun Ġget Ay at T af se er ( ĊĠĠĠĠĠĠĠ Ġ@ Path (" ta f se er _ id ") Ġt af se er Id Ġ Ġ: ĠInt Ġ= Ġ 1 Ġ, ĊĠĠĠĠĠĠĠ Ġ@ Path (" sur ah _ number ") Ġsur ah Number Ġ Ġ: ĠInt Ġ Ġ, ĊĠĠĠĠĠĠĠ Ġ@ Path (" ay ah _ number ") Ġay at Number Ġ Ġ: ĠInt Ġ Ġ, ĊĠĠĠ Ġ): ĠT af se er ĊĊĊĠĠ Ġ@ GET ("/ ta f se er ") ĊĠĠĠ Ġsuspend Ġfun ĠgetAll T af se er ( ĊĠĠĠ Ġ): ĠList < T af se er Book > ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġinvoke (): ĠT af se er WebService Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgson : ĠGson Ġ= ĠGson Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. exclude Fields Without Expose Annotation () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlogging Ġ= ĠHttp Logging Interceptor () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogging . level Ġ= ĠHttp Logging Interceptor . Level . BODY ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlogging Header Ġ= ĠHttp Logging Interceptor () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogging . level Ġ= ĠHttp Logging Interceptor . Level . HEADERS ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠhttpClient Ġ= ĠOk HttpClient . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. call Timeout ( 5 , Ġjava . util . concurrent . TimeUnit . MIN UTES ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. connect Timeout ( 1 0 0 0 , Ġjava . util . concurrent . TimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. read Timeout ( 1 0 0 0 , Ġjava . util . concurrent . TimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. write Timeout ( 1 0 0 0 , Ġjava . util . concurrent . TimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( logging ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( logging Header ) ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( BASE _ URL _ TA F SE ER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. client ( httpClient . build ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ( gson )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create ( T af se er WebService :: class . java ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }