package Ġcom . example . di . module Ċ Ċ import Ġcom . example . data . api . Api Helper Ċ import Ġcom . example . data . api . Api Helper Impl Ċ import Ġcom . example . data . api . ApiService Ċ 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 Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . converter . mos hi . M oshi Converter Factory Ċ import Ġjavax . inject . Singleton Ċ Ċ const Ġval ĠBASE _ URL Ġ= Ġ" https :// 5 e 5 1 0 3 3 0 f 2 c 0 d 3 0 0 1 4 7 c 0 3 4 c . mock api . io /" Ċ Ċ @ Module Ċ @ Install In ( Singleton Component :: class ) Ċ class ĠApplication Module Ġ{ ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovide BaseUrl () Ġ= ĠBASE _ URL ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġfun Ġprovide Ok HttpClient () Ġ= Ġ ĠOk HttpClient . Builder (). build () ĊĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Ret rofit ( ĊĠĠĠĠĠĠĠ Ġok HttpClient : ĠOk HttpClient , ĊĠĠĠĠĠĠĠ ĠBASE _ URL : ĠString ĊĠĠĠ Ġ): ĠRet rofit Ġ= ĊĠĠĠĠĠĠĠ ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( M oshi Converter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( BASE _ URL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. client ( ok HttpClient ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide ApiService ( ret rofit : ĠRet rofit ): ĠApi Service Ġ= Ġretrofit . create ( ApiService :: class . java ) ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġfun Ġprovide Api Helper ( api Service : ĠApi Service ): ĠApi Helper Ġ= ĠApi Helper Impl ( api Service ) Ċ Ċ }