package Ġcom . dh or ow itz . ke e pr . core . network . di Ċ Ċ import Ġcom . dh or ow itz . ke e pr . Build Config . KE E PR _ CLIENT _ ID Ċ import Ġcom . dh or ow itz . ke e pr . Build Config . KE E PR _ CLIENT _ SECRET Ċ import Ġcom . dh or ow itz . ke e pr . core . network . Authentication Interceptor Ċ import Ġcom . dh or ow itz . ke e pr . core . network . Github Api Ċ import Ġcom . dh or ow itz . ke e pr . core . network . Github Api . Companion . BASE _ URL Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġdagger . h ilt . Install In Ċ import Ġdagger . h ilt . android . components . Application Component Ċ import Ġokhttp 3 . Credentials Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġokhttp 3 . logging . Http Logging Interceptor Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . converter . mos hi . M oshi Converter Factory Ċ Ċ @ Module Ċ @ Install In ( Application Component :: class ) Ċ object ĠNetwork Module Ġ{ ĊĠĠĠ Ġprivate Ġval Ġcredentials Ġ= ĠCredentials . basic ( KE E PR _ CLIENT _ ID , ĠK EE PR _ CLIENT _ SECRET ) ĊĊĠĠĠ Ġprivate Ġval Ġok HttpClient Ġ= ĊĠĠĠĠĠĠĠ ĠOk HttpClient () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( Http Logging Interceptor ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( Authentication Interceptor ( credentials )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovide Github Api (): ĠGithub Api Ġ= ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠ Ġ. baseUrl ( BASE _ URL ) ĊĠĠĠĠĠĠĠ Ġ. client ( ok HttpClient ) ĊĠĠĠĠĠĠĠ Ġ. add Converter Factory ( M oshi Converter Factory . create ()) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġ. create ( Github Api :: class . java ) Ċ } Ċ