package Ġcom . dd m eng . features . detail Ċ Ċ import Ġcom . dd m eng . data . DataManager Ċ import Ġcom . dd m eng . data . model . Pokemon Ċ import Ġcom . dd m eng . features . base . Base Presenter Ċ import Ġcom . dd m eng . injection . Config Persistent Ċ import Ġcom . dd m eng . util . rx . scheduler . Scheduler Utils Ċ import Ġjavax . inject . Inject Ċ Ċ @ Config Persistent Ċ class ĠDetail Presenter Ġ@ Inject Ċ constructor ( private Ġval Ġdata Manager : ĠData Manager ) Ġ: ĠBase Presenter < Detail M vp View >() Ġ{ ĊĊĠĠĠ Ġfun Ġget Pokemon ( name : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck View Attached () ĊĠĠĠĠĠĠĠ Ġm vp View ?. show Progress ( true ) ĊĠĠĠĠĠĠĠ Ġdata Manager . get Pokemon ( name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose < Pokemon >( Scheduler Utils . io To Main < Pokemon >()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ Ġpokemon Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠIt Ġshould Ġbe Ġalways Ġchecked Ġif ĠM vp View Ġ( Fragment Ġor ĠActivity ) Ġis Ġattached . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠCalling Ġshow Progress () Ġon Ġa Ġnot - attached Ġfragment Ġwill Ġthrow Ġa ĠN PE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠIt Ġis Ġpossible Ġto Ġask Ġis Added () Ġin Ġthe Ġfragment , Ġbut Ġit 's Ġbetter Ġto Ġask Ġin Ġthe Ġpresenter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm vp View ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Progress ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Pokemon ( pokemon ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( statistic Ġin Ġpokemon . stats ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Stat ( statistic ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) Ġ{ Ġthrowable Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm vp View ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Progress ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Error ( throwable ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }