package Ġcom . example . rick and mort ty test . view model Ċ Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġcom . example . rick and mort ty test . api . ApiClient Ċ import Ġcom . example . rick and mort ty test . app . App Ċ import Ġcom . example . rick and mort ty test . model . response . Character Response Ċ import Ġcom . example . rick and mort ty test . model . response . Results Ċ import Ġretrofit 2 . Call Ċ import Ġretrofit 2 . Callback Ċ import Ġretrofit 2 . Response Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠCharacter List ViewModel Ġ: ĠViewModel () Ġ{ ĊĠĠĠ Ġvar Ġresponse Characters Ġ= ĠMutable LiveData < List < Results >>() ĊĊĠĠĠ Ġvar Ġshow Msg Sn ack Ġ= ĠMutable LiveData < String >() ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar ĠapiClient : ĠApi Client ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠApp . app Component . inject ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Character RM ( page : ĠString ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġcall : ĠCall < Character Response > Ġ= ĠapiClient . get Characters ( page ) ĊĠĠĠĠĠĠĠ Ġcall . enqueue ( object Ġ: ĠCallback < Character Response > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcall : ĠCall < Character Response >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse : ĠResponse < Character Response > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( response . code ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 0 0 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( response . body () Ġ!= Ġnull ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse Characters . value Ġ= Ġresponse . body () !!. results ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Msg Sn ack . value Ġ= Ġ" Non Ġdata " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 4 0 0 Ġ-> Ġshow Msg Sn ack . value Ġ= Ġ" Something Ġmissing " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 4 2 2 Ġ-> Ġshow Msg Sn ack . value Ġ= Ġ" information Ġcannot Ġbe Ġretrieve " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < Character Response >, Ġt : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Msg Sn ack . value Ġ= Ġ" Check Ġyour Ġconnection " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ }