package Ġcom . gu illa . lab . d agger . modules Ċ Ċ import Ġcom . squareup . okhttp . Ok HttpClient Ċ Ċ import Ġandroid . util . Log Ċ Ċ import Ġjava . util . concurrent . Executor Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ import Ġjavax . inject . Named Ċ import Ġjavax . inject . Singleton Ċ Ċ import Ġcom . gu illa . lab . network . Repository Service Ċ import Ġcom . gu illa . lab . utils . Utils Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġretrofit . Endpoint Ċ import Ġretrofit . Rest Adapter Ċ import Ġretrofit . client . Ok Client Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġd ino Ġon Ġ 1 2 / 0 5 / 1 5 . Ċ Ġ*/ Ċ @ Module Ċ class ĠNetwork Module Ġ{ ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Utils () Ġ: ĠUtils Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ ĠUtils ĊĠĠĠ Ġ} ĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Logger (): ĠRest Adapter . Log Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRest Adapter . Log Ġ{ Ġmessage Ġ-> ĠLog . d (" REST - ADAPTER ", Ġmessage ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Client ( network Timeout : ĠInt ?): ĠOk HttpClient Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġok HttpClient Ġ= ĠOk HttpClient () ĊĠĠĠĠĠĠĠ Ġok HttpClient . set Connect Timeout ( network Timeout !!. to Long (), ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠ Ġok HttpClient . set Read Timeout ( network Timeout . to Long (), ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠ Ġreturn Ġok HttpClient ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Service ( endpoint : ĠEndpoint , Ġ@ Named (" Http Executor ") Ġhttp Executor : ĠExecutor , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Named (" Callback Executor ") Ġcallback Executor : ĠExecutor , Ġclient : ĠOk HttpClient , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog : ĠRest Adapter . Log ): ĠRepository Service Ġ{ ĊĊĠĠĠĠĠĠĠ Ġreturn ĠRest Adapter . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Client ( Ok Client ( client )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Endpoint ( endpoint ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Log ( log ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set LogLevel ( Rest Adapter . LogLevel . FULL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Executors ( http Executor , Ġcallback Executor ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build (). create ( Repository Service :: class . java !! ) ĊĠĠĠ Ġ} Ċ } Ċ