package Ġcom . github . wire . internal Ċ Ċ import Ġcom . github . sal om on br ys . kot son . fromJson Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . github . wire . build Url Ċ import Ġcom . github . wire . exception . Telegram Exception Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġokhttp 3 . Request Ċ import Ġorg . telegram . Response Wrapper Ċ import Ġorg . telegram . Update Ċ Ċ class ĠApi Poller ( private Ġval Ġhttp : ĠOk HttpClient , Ġprivate Ġval Ġgson : ĠGson , Ġprivate Ġval Ġurl : ĠString ) Ġ: ĠPol ler Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġlast Offset Ġ= Ġ 0 ĊĠĠĠ Ġoverride Ġfun Ġpoll (): ĠIterable < Update > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġparams Ġ= Ġmutable Map Of (" timeout " Ġto Ġ 1 . toString (), Ġ" offset " Ġto Ġlast Offset . toString ()) ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= Ġrequest Builder (" get Updates ", Ġparams ). build () ĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġhttp . new Call ( request ). execute () ĊĠĠĠĠĠĠĠ Ġval Ġbody Ġ= Ġresponse . body () ĊĠĠĠĠĠĠĠ Ġval Ġjson Ġ= Ġbody ?. string () Ġ?: Ġ"{} " ĊĠĠĠĠĠĠĠ Ġresponse . close () ĊĠĠĠĠĠĠĠ Ġval Ġwrapper : ĠResponse Wrapper < Array < Update >> Ġ= Ġgson . fromJson ( json ) ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( wrapper . ok ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġupdates Ġ= Ġwrapper . result ?. toList () Ġ?: ĠlistOf () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdates . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlast Offset Ġ= Ġit . update Id Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdates ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠTelegram Exception Ġfrom Ġwrapper ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrequest Builder ( method : ĠString , Ġparameters : ĠMap < String , ĠString > Ġ= Ġmap Of ()) Ġ= ĠRequest . Builder (). url ( build Url ( url , Ġmethod , Ġparameters )) Ċ Ċ }