package Ġcom . example . compose mv vm . di Ċ Ċ import Ġcom . example . compose mv vm . datasource . networking . Coroutine Dispatcher Provider Ċ import Ġcom . example . compose mv vm . datasource . networking . Networking Service Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġdagger . h ilt . Install In Ċ import Ġdagger . h ilt . components . Singleton Component Ċ 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 Ġjava . util . concurrent . TimeUnit Ċ Ċ /** Ċ Ġ* ĠApp Ġscoped Ġmodule Ġfor Ġdependency Ġinjection s Ċ Ġ* ĠUsing Ġit Ġto Ġallow Ġfor Ġbetter Ġtest ability Ġof Ġthe Ġapp Ġsince ĠH ilt Ġis Ġso Ġfast Ġto Ġstand Ġup Ċ Ġ*/ Ċ @ Module Ċ @ Install In ( Singleton Component :: class ) Ċ class ĠApp Module Ġ{ ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovide Ret rofit (): ĠNetwork ing Service Ġ= ĊĠĠĠĠĠĠĠ ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. client ( get Ok HttpClient ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( BASE _ URL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create ( Networking Service :: class . java ) ĊĊĠĠĠ Ġprivate Ġfun Ġget Ok HttpClient () Ġ= ĊĠĠĠĠĠĠĠ ĠOk HttpClient . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. connect Timeout ( NETWORK _ REQUEST _ TIMEOUT _ SECONDS , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. read Timeout ( NETWORK _ REQUEST _ TIMEOUT _ SECONDS , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. write Timeout ( NETWORK _ REQUEST _ TIMEOUT _ SECONDS , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( Http Logging Interceptor (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlevel Ġ= ĠHttp Logging Interceptor . Level . BODY ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovide Coroutine Dispatcher () Ġ= ĠCor outine Dispatcher Provider () ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠNET WORK _ REQUEST _ TIMEOUT _ SECONDS Ġ= Ġ 1 5 L ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠBASE _ URL Ġ= Ġ" https :// api . open weather map . org /" ĊĠĠĠ Ġ} Ċ Ċ }