package Ġbr . com . sam ilar u ane . cart e ir av irtual . data . remote Ċ Ċ import Ġbr . com . sam ilar u ane . cart e ir av irtual . data . model . B anco Central Response Ċ import Ġbr . com . sam ilar u ane . cart e ir av irtual . utils . constants . Base Constants Ċ import Ġretrofit 2 . Call Ċ import Ġretrofit 2 . Callback Ċ import Ġretrofit 2 . Response Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġsam ila Ġon Ġ 2 5 / 0 3 / 1 8 . Ċ Ġ*/ Ċ class ĠBrit a Service Ġ Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġget Coin Quot ation ( listener : ĠService Listener . B rit a , Ġdate : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġservice Ġ= ĠRet rofit Initializer (). getB anco Central Service ()?. get ("% 2 7 USD % 2 7 ", Ġ"% 2 7 $ date % 2 7 ", Ġ" json ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġservice ?. enqueue ( object Ġ: ĠCallback < B anco Central Response > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( call : ĠCall < B anco Central Response > ?, Ġresponse : ĠResponse < B anco Central Response > ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . is Successful Ġ&& Ġit . body () Ġ!= Ġnull Ġ&& Ġit . body ()?. value Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . on Success ( it . body () !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . onError ( Base Constants . MESSAGES . GENERIC _ ERROR ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < B anco Central Response > ?, Ġt : ĠThrowable ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . onError ( Base Constants . MESSAGES . GENERIC _ ERROR ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }