package Ġcom . mut l ak . metis . word mem . data Ċ Ċ import Ġcom . mut l ak . metis . word mem . data . model . Word Ċ import Ġcom . mut l ak . metis . word mem . data . remote . Mut l ak Service Ċ import Ġio . reactivex . Single Ċ import Ġokhttp 3 . Multipart Body Ċ import Ġokhttp 3 . ResponseBody Ċ import Ġjavax . inject . Inject Ċ import Ġjavax . inject . Singleton ĊĊ Ċ @ Singleton Ċ class ĠData Manager Ġ@ Inject Ċ constructor ( private Ġval Ġmut l ak Service : ĠMut l ak Service ) Ġ{ Ċ Ċ // Ġ Ġfun Ġget Pokemon List ( limit : ĠInt ): ĠSingle < List < String >> Ġ{ Ċ // ĠĠĠ Ġreturn Ġmut l ak Service . get Pokemon List ( limit ) Ċ // ĠĠĠĠĠĠĠ Ġ. to Observable () Ċ // ĠĠĠĠĠĠĠ Ġ. flatMap Iterable Ġ{ Ġ( results ) Ġ-> Ġresults Ġ} Ċ // ĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġ( name ) Ġ-> Ġname Ġ} Ċ // ĠĠĠĠĠĠĠ Ġ. toList () Ċ // Ġ Ġ} Ċ // Ċ // Ġ Ġfun Ġget Pokemon ( name : ĠString ): ĠSingle < Pokemon > Ġ{ Ċ // ĠĠĠ Ġreturn Ġmut l ak Service . get Pokemon ( name ) Ċ // Ġ Ġ} ĊĊĠ Ġfun Ġget Words ( fetch Date : ĠString ): ĠSingle < List < Word >> Ġ{ ĊĠĠĠ Ġreturn Ġmut l ak Service . get Words ( fetch Date ) ĊĠ Ġ} ĊĊĠ Ġfun Ġsend Word ( body : ĠMultip art Body . Part , Ġword : ĠWord ): ĠSingle < ResponseBody > Ġ{ ĊĠĠĠ Ġreturn Ġmut l ak Service . send Word ( body , Ġword ) ĊĠ Ġ} ĊĠ Ġfun Ġsend Word ( word : ĠWord ): ĠSingle < ResponseBody > Ġ{ ĊĠĠĠ Ġreturn Ġmut l ak Service . send Word ( word ) ĊĠ Ġ} ĊĊĠ Ġfun Ġsave Word ( word : ĠWord ) Ġ{ ĊĊĠ Ġ} ĊĊ Ċ } Ċ