package Ġwork . sh ion . android recipe Ċ Ċ import Ġcom . squareup . mos hi . M oshi Ċ import Ġcom . squareup . mos hi . adapters . R fc 3 3 3 9 Date Json Adapter Ċ import Ġcom . squareup . mos hi . kotlin . reflect . Kotlin Json Adapter Factory Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . converter . mos hi . M oshi Converter Factory Ċ import Ġwork . sh ion . android recipe . repositories . ToDo Repository Ċ import Ġwork . sh ion . android recipe . repositories . api _ v 1 . API Endpoint Ċ import Ġwork . sh ion . android recipe . use cases . I ToDo UseCase Ċ import Ġwork . sh ion . android recipe . use cases . ToDo UseCase Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* ĠTo Do : ĠDI Ġ ãĥ©ãĤ¤ ãĥĸãĥ© ãĥª ãģ« å·® ãģĹ æĽ¿ ãģĪ ãģŁ ãģĦ Ċ Ġ*/ Ċ object ĠModel Provider Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġtodo UseCase : ĠI ToDo UseCase ĊĊĊĠĠĠ Ġfun Ġinit () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġm oshi Ġ= ĠM oshi . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add ( Date :: class . java , ĠR fc 3 3 3 9 Date Json Adapter ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add ( Kotlin Json Adapter Factory ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġval Ġapi Builder Ġ= ĠOk HttpClient . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( M oshi Converter Factory . create ( mos hi )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( Build Config . API Endpoint ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. client ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġapi V 1 Ġ= Ġapi Builder . create ( API Endpoint :: class . java ) ĊĊĊĠĠĠĠĠĠĠ Ġval Ġtodo Repository Ġ= ĠTo Do Repository ( api V 1 ) ĊĊĊĠĠĠĠĠĠĠ Ġtodo UseCase Ġ= ĠTo Do UseCase ( todo Repository ) ĊĠĠĠ Ġ} Ċ } Ċ