package Ġmx . yellow me . you st . challenges . pokemon Ċ Ċ import Ġmx . yellow me . you st . challenges . components . Generic ListModel Ċ import Ġmx . yellow me . you st . challenges . components . Generic List State Ċ import Ġmx . yellow me . you st . challenges . data . Pokemon API Service Ċ import Ġmx . yellow me . you st . challenges . data . Pokemon API Service Generator Ċ import Ġmx . yellow me . you st . challenges . domain . Pokemon Ċ import Ġmx . yellow me . you st . challenges . pokemon . index . Pokemon ListView Holder Ċ import Ġretrofit 2 . Call Ċ import Ġretrofit 2 . Callback Ċ import Ġretrofit 2 . Response Ċ Ċ /** Ċ Ġ* ĠTODO : ĠAdd Ġjavadoc Ċ Ġ*/ Ċ object ĠPokemon List Loader Ġ{ ĊĠĠĠ Ġfun Ġload Data ( view : ĠGeneric ListModel < Pokemon , ĠPokemon ListView Holder >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġservice Ġ= ĠPokemon API Service Generator (). create Service ( Pokemon API Service :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġcall Ġ= Ġservice . getAll ( HashMap ()) ĊĊĠĠĠĠĠĠĠ Ġview . setState ( Generic List State . LOADING ) ĊĠĠĠĠĠĠĠ Ġcall . enqueue ( object Ġ: ĠCallback < Mutable List < Pokemon >> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcall : ĠCall < Mutable List < Pokemon >>, Ġresponse : ĠResponse < Mutable List < Pokemon >> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . setState ( Generic List State . LOADED ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( response . is Successful ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . display ( response . body ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < Mutable List < Pokemon >>, Ġt : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . setState ( Generic List State . ERROR ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ } Ċ