package Ġcom . stripe . android . core . networking Ċ Ċ import Ġandroidx . annotation . Restrict To Ċ import Ġcom . stripe . android . core . Logger Ċ import Ġcom . stripe . android . core . injection . IO Context Ċ import Ġkotlinx . coroutines . Coroutine Scope Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . launch Ċ import Ġjavax . inject . Inject Ċ import Ġkotlin . coroutines . Coroutine Context Ċ Ċ @ Restrict To ( Restrict To . Scope . LIBRARY _ GROUP ) Ċ class ĠDefault Analytics Request Executor ( ĊĠĠĠ Ġprivate Ġval Ġstripe Network Client : ĠStripe Network Client , ĊĠĠĠ Ġ@ IO Context Ġprivate Ġval Ġwork Context : ĠCor outine Context , ĊĠĠĠ Ġprivate Ġval Ġlogger : ĠLogger Ċ ) Ġ: ĠAnalytics Request Executor Ġ{ ĊĊĠĠĠ Ġconstructor () Ġ: Ġthis ( ĊĠĠĠĠĠĠĠ ĠLogger . noop (), ĊĠĠĠĠĠĠĠ ĠDispatch ers . IO ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġlogger : ĠLogger , ĊĠĠĠĠĠĠĠ Ġ@ IO Context Ġwork Context : ĠCor outine Context ĊĠĠĠ Ġ) Ġ: Ġthis ( ĊĠĠĠĠĠĠĠ ĠDefault Stripe Network Client ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwork Context Ġ= Ġwork Context , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger Ġ= Ġlogger ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġwork Context , ĊĠĠĠĠĠĠĠ Ġlogger ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠMake Ġthe Ġrequest Ġand Ġignore Ġthe Ġresponse . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġexecute Async ( request : ĠAnalytics Request ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . info (" Event : Ġ${ request . params [ FIELD _ EVENT ]} ") ĊĊĠĠĠĠĠĠĠ ĠCor outine Scope ( work Context ). launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrun Catch ing Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstripe Network Client . execute Request ( request ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. on Failure Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . error (" Exception Ġwhile Ġmaking Ġanalytics Ġrequest ", Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠFIELD _ EVENT Ġ= Ġ" event " ĊĠĠĠ Ġ} Ċ } Ċ