/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ[ 2 0 2 1 ] ĠEx tre me ĠV iet ĠNam Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġvn . com . ext reme vn . eb illing . request Ċ Ċ import Ġcom . android . billing client . api . Billing Client Ċ import Ġtim ber . log . Tim ber Ċ Ċ internal Ġclass ĠOn Billing Connected Runnable Request ( ĊĠĠĠ Ġprivate Ġval Ġbilling Client : ĠBilling Client , ĊĠĠĠ Ġoverride Ġvar Ġrequest : ĠRequest < *, Ġ*> ?, ĊĠĠĠ Ġprivate Ġval Ġon Retry : Ġ() Ġ-> ĠUnit Ċ ) Ġ: ĠRunnable Request Ġ{ ĊĠĠĠ Ġ@ Synchron ized ĊĠĠĠ Ġoverride Ġfun Ġcancel () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( request Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . i (" C ancell ing Ġrequest : Ġ$ request ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest !!. cancel () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġrequest Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrun (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( request Ġ== Ġnull Ġ|| Ġrequest !!. is Cancelled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . tag (" REQUEST "). i (" request Ġ$ request Ġis ĠCancel led , Ġstop Ġrun ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( billing Client . is Ready . not ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . tag (" REQUEST ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. i (" Billing Ġclient Ġis Ġnot Ġready , Ġtry Ġto Ġconnect Ġand Ġrun Ġagain Ġlater ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Retry . invoke () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . tag (" REQUEST "). i (" request Ġ$ request Ġstart ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest !!. start ( billing Client ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest !!. onError ( RequestException ( e )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . tag (" REQUEST "). e ( e , Ġ" exception Ġoccured Ġwhen Ġexecute Ġrequest Ġ$ request ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} Ċ } Ċ