package Ġcom . bal anza . android . h arr ypot ter . domain . inter actor . character Ċ Ċ import Ġcom . bal anza . android . h arr ypot ter . data . character . ret rofit . model . Character Detail Ċ import Ġcom . bal anza . android . h arr ypot ter . domain . repository . character . Character Repository Ċ import Ġorg . jetbrains . ank o . do Async Ċ import Ġorg . jetbrains . ank o . ui Thread Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġbal anza Ġon Ġ 1 7 / 0 2 / 1 7 . Ċ Ġ*/ Ċ class ĠFetch Character Imp ( val Ġcharacter Repository : ĠCharacter Repository ) Ġ: ĠFetch Character Ġ{ ĊĠ Ġoverride Ġfun Ġfetch Character ( character Id : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Character Available : ĠFetch Character . On Character Available ) Ġ{ ĊĠĠĠ Ġdo Async Ġ{ ĊĠĠĠĠĠ Ġcharacter Repository . fetch Character ( character Id , ĊĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠCharacter Repository . On Character Details Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Character Details Available ( character Details : ĠCharacter Detail ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Character Available . on Success ( character Details ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonError ( message : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Character Available . onError ( message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ }