package Ġes . j cc arr illo . simple list kotlin . domain . ioc Ċ Ċ import Ġandroid . content . Context Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġes . j cc arr illo . simple list kotlin . data . local . provider . Items DAO Ċ import Ġes . j cc arr illo . simple list kotlin . data . local . provider . Items Database Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . converter . gson . Gson Converter Factory Ċ import Ġjavax . inject . Singleton Ċ Ċ @ Module Ċ class ĠProvider Module ( private Ġval Ġcontext : ĠContext ) Ġ{ ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Local Provider ( dao : ĠItems DAO ): Ġes . j cc arr illo . simple list kotlin . data . local . provider . Items Provider Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġes . j cc arr illo . simple list kotlin . data . local . provider . Items Provider Impl ( dao ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Items DAO ( database : ĠItems Database ): ĠItems DAO Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdatabase . items Dao () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Items Database (): ĠItems Database Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠItems Database . get Database ( context ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Remote Provider ( ret rofit : ĠRet rofit ): Ġes . j cc arr illo . simple list kotlin . data . remote . provider . Items Provider Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġes . j cc arr illo . simple list kotlin . data . remote . provider . Items Provider Impl . build ( ret rofit ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Ret rofit (): ĠRet rofit Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl (" https :// j cc arr illo . es / sandbox / simple list kotlin /") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} Ċ }