package Ġcom . mix ster oids . mix jar . services Ċ Ċ import Ġcom . mix ster oids . mix jar . models . User Response Ċ import Ġio . reactivex . Single Ċ import Ġretrofit 2 . Call Ċ import Ġretrofit 2 . Callback Ċ import Ġretrofit 2 . Response Ċ Ċ fun Ġ< T Ġ: ĠAny ?> Ġexecute Request ( call : ĠCall < T >): ĠT ? Ġ{ ĊĠĠĠ Ġvar Ġitem : ĠItem Data < T >? Ġ= Ġnull ĊĠĠĠ Ġcall . enqueue ( object Ġ: ĠCallback < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( call : ĠCall < T >, Ġresponse : ĠResponse < T >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( response . is Successful ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Ġ= ĠItem Data ( response . body ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( response . body ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" Something Ġwent Ġwrong Ġwith Ġcode : Ġ${ response . code () }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < T >, Ġth : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġth . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}) ĊĠĠĠ Ġreturn Ġitem ?. t Ċ } ĊĊĊĊĊ Ċ fun Ġget Offset From Page ( page : ĠInt ): ĠInt ? Ġ{ ĊĠĠĠ Ġif Ġ( page Ġ>= Ġ 0 Ġ&& Ġpage Ġ<= ĠInt . MAX _ VALUE ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġpage . times ( 2 0 ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġnull Ċ } Ċ Ċ data Ġclass ĠItem Data < T >( ĊĠĠĠ Ġval Ġt : ĠT ?, Ċ )