package Ġcom . ne al 7 8 6 y . mv par ch itecture . main . inter actor Ċ Ċ import Ġcom . ne al 7 8 6 y . mv par ch itecture . base . Interactor Ċ import Ġcom . ne al 7 8 6 y . mv par ch itecture . base . Response Callback Ċ import Ġcom . ne al 7 8 6 y . mv par ch itecture . di . Api Interface Ċ import Ġcom . ne al 7 8 6 y . mv par ch itecture . main . pojo . z om ato . search _ rest aurants . response . Restaurant Response Dto Ċ import Ġretrofit 2 . Call Ċ import Ġretrofit 2 . Callback Ċ import Ġretrofit 2 . Response Ċ import Ġretrofit 2 . Ret rofit Ċ Ċ class ĠRest au ants By Lat Lon Interactor Ġ( var Ġm Ret rofit : ĠRet rofit , Ġvar Ġlat : ĠDouble , Ġvar Ġlon : ĠDouble ) Ġ: ĊĠĠĠ ĠInter actor < Restaurant Response Dto > Ġ{ ĊĊĠĠĠ Ġvar Ġm Restaurant Response Callback : ĠResponse Callback < Restaurant Response Dto >? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġrun () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval ĠapiClient Ġ= Ġm Ret rofit . create < Api Interface >( Api Interface :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcall Ġ= ĠapiClient . get Rest aurants By Lat Lon ( lat , Ġlon ) ĊĊĠĠĠĠĠĠĠ Ġcall . enqueue ( object Ġ: ĠCallback < Restaurant Response Dto > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < Restaurant Response Dto >, Ġt : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonError ( t ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( call : ĠCall < Restaurant Response Dto >, Ġresponse : ĠResponse < Restaurant Response Dto >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonSuccess ( response . body () Ġas ĠRest aurant Response Dto ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonSuccess ( response : ĠRest aurant Response Dto ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Restaurant Response Callback ?. on Success ( response ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonError ( error : ĠAny ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Restaurant Response Callback ?. onError ( error ) ĊĠĠĠ Ġ} Ċ }