package Ġcom . hun abs ys . game zone . services . rest Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Log Ċ import Ġcom . hun abs ys . game zone . R Ċ import Ġcom . hun abs ys . game zone . services . deleg ates . IE vidence Delegate Ċ import Ġcom . hun abs ys . game zone . services . deleg ates . I HttpClient Delegate Ċ import Ġcom . hun abs ys . game zone . services . map pers . E vid ences Mapper Ċ import Ġcom . roll bar . android . Roll bar Ċ import Ġorg . json . JSONObject Ċ import Ġjava . net . Http URLConnection Ċ Ċ class ĠSynchron ize E vid ences Service ( val Ġcontext : ĠContext ) Ġ: ĠI HttpClient Delegate Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġtag Ġ= ĠSynchron ize E vid ences Service :: class . simple Name ĊĊĠĠĠ Ġprivate Ġval ĠhttpClient Service Ġ= ĠHttpClient Service ( context , Ġthis ) ĊĠĠĠ Ġprivate Ġval Ġurl Ġ= Ġ"${ httpClient Service . getServer ()} api / e vid ences / base 6 4 " ĊĊĠĠĠ Ġvar Ġevidence Id : ĠLong Ġ= Ġ 0 ĊĊĠĠĠ Ġfun Ġsynchronize E vid ences ( data : ĠJSONObject , Ġid : ĠLong ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( httpClient Service . network Available ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠhttpClient Service . post ( url , Ġdata . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevidence Id Ġ= Ġid ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonSuccess ( result : ĠArrayList < Any >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdefault Error Ġ= Ġcontext . getString ( R . string . error _ default ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( result [ 0 ] Ġ== ĠHttp URLConnection . HTTP _ CREATED ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= ĠJSONObject ( result [ 1 ]. toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalidate Response ( response , Ġevidence Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( tag , Ġ" At tempting Ġto Ġvalidate Ġresponse ", Ġex ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRoll bar . instance (). error ( ex , Ġtag ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġnotify Error ( default Error ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġvalidate Response ( data : ĠJSONObject , Ġevidence Id : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsuccess Ġ= ĠE vid ences Mapper (). map Evidence ( data , Ġevidence Id ) ĊĠĠĠĠĠĠĠ Ġif Ġ( success ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotify Success () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġerror Ġ= Ġcontext . getString ( R . string . e vid ences _ some _ failed ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotify Error ( error ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Failure ( error : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnotify Error ( error ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġnotify Success () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdelegate Ġ= Ġcontext Ġas ĠIE vidence Delegate ĊĠĠĠĠĠĠĠ Ġdelegate . on Evidence Success () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġnotify Error ( error : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdelegate Ġ= Ġcontext Ġas ĠIE vidence Delegate ĊĠĠĠĠĠĠĠ Ġdelegate . on Evidence Failure ( error ) ĊĠĠĠ Ġ} Ċ }