package Ġcom . example . android weather app . models Ċ Ċ import Ġcom . example . android weather app . view model . ApiService Builder Ċ import Ġcom . example . android weather app . view model . Json Weather Api Ċ import Ġcom . example . android weather app . views . MainActivity Ċ import Ġretrofit 2 . Call Ċ import Ġretrofit 2 . Callback Ċ import Ġretrofit 2 . Response Ċ Ċ class ĠWeather Repo ( ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġuse Case : ĠUse Case Ċ ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġapi : ĠJson Weather Api Ġ= ĠApi Service Builder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJson Weather Api :: class . java ĊĠĠĠ Ġ). with Api BaseUrl ( MainActivity . API _ BASE _ URL ) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġfun Ġget Weather For Location ( where On Earth Id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcall Ġ= Ġapi . get Weather For Where On Earth Id ( where On Earth Id ) ĊĠĠĠĠĠĠĠ Ġcall . enqueue ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠCallback < Weather For Location > Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < Weather For Location >, Ġt : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuse Case . on Failure ( call , Ġt ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcall : ĠCall < Weather For Location >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse : ĠResponse < Weather For Location > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuse Case . on Response ( call , Ġresponse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ } Ċ