package Ġcom . pp . jet weather fy . data . api Ċ Ċ import Ġcom . pp . jet weather fy . data . Build Config Ċ import Ġcom . pp . jet weather fy . data . model . Forecast Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġokhttp 3 . logging . Http Logging Interceptor Ċ import Ġokhttp 3 . logging . Http Logging Interceptor . Level Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . converter . gson . Gson Converter Factory Ċ import Ġretrofit 2 . http . GET Ċ import Ġretrofit 2 . http . Query Ċ Ċ interface ĠOpen Weather Service Ġ{ ĊĊĠĠĠ Ġ@ GET (" one call ") ĊĠĠĠ Ġsuspend Ġfun Ġget Weather For City ( ĊĠĠĠĠĠĠĠ Ġ@ Query (" lat ") Ġcity : ĠDouble , ĊĠĠĠĠĠĠĠ Ġ@ Query (" lon ") Ġdays Count : ĠDouble , ĊĠĠĠĠĠĠĠ Ġ@ Query (" units ") Ġunits : ĠString Ġ= Ġ" metric ", ĊĠĠĠĠĠĠĠ Ġ@ Query (" appid ") ĠapiKey : ĠString Ġ= ĠBuild Config . OPEN _ WE ATHER _ API _ KEY ĊĠĠĠ Ġ): ĠFore cast ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠBASE _ URL Ġ= Ġ" https :// api . open weather map . org / data / 2 . 5 /" ĊĊĠĠĠĠĠĠĠ Ġfun Ġcreate (): ĠOpen Weather Service Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlogger Ġ= ĠHttp Logging Interceptor (). apply Ġ{ Ġlevel Ġ= ĠLevel . BODY Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġclient Ġ= ĠOk HttpClient . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( logger ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( BASE _ URL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. client ( client ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create ( Open Weather Service :: class . java ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }