package Ġcom . eller b ach . tv ma ze app . network Ċ Ċ import Ġcom . eller b ach . tv ma ze app . model . Episode Ċ import Ġcom . eller b ach . tv ma ze app . model . Search Specific Show Ċ import Ġcom . eller b ach . tv ma ze app . model . Show Ċ 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 Ċ import Ġretrofit 2 . http . Query Ċ Ċ const Ġval ĠURL _ BASE Ġ= Ġ" https :// api . tv ma ze . com /" Ċ private Ġval Ġservice : ĠShow Service Ġby Ġlazy Ġ{ ĊĠĠĠ Ġval Ġlogging Ġ= Ġinitialize Logging () ĊĊĠĠĠ Ġval Ġok HttpClient : ĠOk HttpClient Ġ= ĠOk HttpClient . Builder () ĊĠĠĠĠĠĠĠ Ġ. add Interceptor ( logging ) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġval Ġretrofit : ĠRet rofit Ġ= ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠ Ġ. baseUrl ( URL _ BASE ) ĊĠĠĠĠĠĠĠ Ġ. client ( ok HttpClient ) ĊĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġretrofit . create ( Show Service :: class . java ) Ċ } Ċ Ċ private Ġfun Ġinitialize Logging (): ĠHttp Logging Interceptor Ġ{ ĊĠĠĠ Ġval Ġlogging Ġ= ĠHttp Logging Interceptor () ĊĠĠĠ Ġlogging . setLevel ( Http Logging Interceptor . Level . BODY ) ĊĠĠĠ Ġreturn Ġlogging Ċ } Ċ Ċ fun Ġget Network Service () Ġ= Ġservice Ċ Ċ interface ĠShow Service Ġ{ ĊĊĠĠĠ Ġ@ GET (" shows ") ĊĠĠĠ Ġsuspend Ġfun Ġsearch All Shows ( ĊĠĠĠĠĠĠĠ Ġ@ Query (" page ") Ġpage : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġ): ĠList < Show > ĊĊĠĠĠ Ġ@ GET ("/ search / shows ") ĊĠĠĠ Ġsuspend Ġfun Ġsearch Specific Show ( ĊĠĠĠĠĠĠĠ Ġ@ Query (" q ") Ġpage : ĠString Ġ= Ġ"" ĊĠĠĠ Ġ): ĠList < Search Specific Show > ĊĊĠĠĠ Ġ@ GET ("/ shows /{ id }/ episodes ") ĊĠĠĠ Ġsuspend Ġfun Ġget Episode s ( ĊĠĠĠĠĠĠĠ Ġ@ Path (" id ") Ġid : ĠString Ġ= Ġ"" ĊĠĠĠ Ġ): ĠList < Episode > Ċ }