package Ġcom . has bi hal Ċ Ċ import Ġcom . has bi hal . data . repository . UserRepository Ċ import Ġcom . has bi hal . main . User ViewModel Ċ import Ġcom . has bi hal . network . Message Api Ċ import Ġcom . has bi hal . network . User Api Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġokhttp 3 . logging . Http Logging Interceptor Ċ import Ġorg . k oin . android x . view model . ext . k oin . viewModel Ċ import Ġorg . k oin . dsl . module . Module Ċ import Ġorg . k oin . dsl . module . module Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . converter . gson . Gson Converter Factory Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ val ĠviewModel Module : ĠModule Ġ= Ġmodule Ġ{ ĊĠĠĠ ĠviewModel Ġ{ ĠUser ViewModel ( get ()) Ġ} Ċ } Ċ Ċ val Ġrepository Module : ĠModule Ġ= Ġmodule Ġ{ ĊĠĠĠ Ġsingle Ġ{ ĠUser Repository ( get ()) Ġ} Ċ } Ċ Ċ val Ġnetwork Module : ĠModule Ġ= Ġmodule Ġ{ ĊĠĠĠ Ġsingle Ġ{ Ġuser Api Ġ} ĊĠĠĠ Ġsingle Ġ{ Ġmessage Api Ġ} Ċ } Ċ Ċ private Ġval Ġretrofit : ĠRet rofit Ġ= Ġcreate WebService ( create Ok HttpClient ( Build Config . DEBUG )) Ċ Ċ private Ġval Ġuser Api : ĠUser Api Ġ= Ġretrofit . create ( User Api :: class . java ) Ċ private Ġval Ġmessage Api : ĠMessage Api Ġ= Ġretrofit . create ( Message Api :: class . java ) ĊĊ Ċ private Ġfun Ġcreate Ok HttpClient ( debug : ĠBoolean ): ĠOk HttpClient Ġ{ ĊĠĠĠ Ġval Ġhttp Logging Interceptor Ġ= ĠHttp Logging Interceptor () ĊĠĠĠ Ġhttp Logging Interceptor . level Ġ= ĠHttp Logging Interceptor . Level . BASIC ĊĠĠĠ Ġval Ġclient Builder Ġ= ĠOk HttpClient . Builder () ĊĠĠĠ Ġif Ġ( debug ) Ġ{ ĊĠĠĠĠĠĠĠ Ġhttp Logging Interceptor . level Ġ= ĠHttp Logging Interceptor . Level . BODY ĊĠĠĠĠĠĠĠ Ġclient Builder . add Interceptor ( http Logging Interceptor ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġclient Builder . connect Timeout ( 6 0 L , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. write Timeout ( 6 0 L , ĠTimeUnit . SECONDS ) ĊĊĠĠĠ Ġreturn Ġclient Builder . build () Ċ } Ċ Ċ private Ġfun Ġcreate WebService ( ok HttpClient : ĠOk HttpClient ): ĠRet rofit Ġ{ ĊĠĠĠ Ġreturn ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( BASE _ URL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. client ( ok HttpClient ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () Ċ } ĊĊĊ