/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 0 . Ġdv nl abs . ml Ġ, ĠD av in ĠA lf ar iz ky ĠPut ra ĠBas ude wa Ċ Ġ* ĠEmail Ġ: Ġdb as ude wa @ gmail . com Ġ/ Ġm oshi 2 _ dav in @ dv nl abs . ml Ċ Ġ* ĠUn S ik ad u Ġsource Ġcode Ġfor ĠAndroid Ġ( tm ) Ġ, Ċ Ġ* ĠInternal ĠLicense ĠOnly , NOT ĠFOR ĠRED ISTR IB UTE Ċ Ġ*/ Ċ package Ġml . dv nl abs . uns ik ad u . util . network Ċ Ċ import Ġandroid . content . Context Ċ import Ġcom . android . vol ley .* Ċ import Ġcom . android . vol ley . toolbox . String Request Ċ import Ġml . dv nl abs . uns ik ad u . util . network . listener . Fetch Data Listener Ċ import Ġjava . util .* Ċ Ċ class ĠA PIN etwork Request ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ Ġlisten : ĠFetch Data Listener ?, ĊĠĠĠ Ġur li : ĠString , ĊĠĠĠ ĠREQUEST _ CODE : ĠInt , ĊĠĠĠ Ġparams : ĠHashMap < String , ĠString >? Ċ ) Ġ{ ĊĠĠĠ Ġvar ĠREQ _ CODE Ġ= Ġ 0 ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( REQUEST _ CODE Ġ== ĠCODE _ GET _ REQUEST ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Request ( context , Ġlisten , Ġur li ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( REQUEST _ CODE Ġ== ĠCODE _ POST _ REQUEST ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpost Request ( context , Ġlisten , Ġur li , Ġparams !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Request ( ĊĠĠĠĠĠĠĠ Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠ Ġlisten : ĠFetch Data Listener ?, ĊĠĠĠĠĠĠĠ Ġurl : ĠString ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlisten ?. on Fetch Start () ĊĠĠĠĠĠĠĠ Ġval Ġstring Request Ġ= ĠString Request ( Request . Method . GET , Ġurl , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResponse . Listener Ġ{ Ġresponse : ĠString ? Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlisten ?. on Fetch Complete ( response ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĠResponse . Error Listener Ġ{ Ġerror : ĠVol ley Error Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( error Ġis ĠNo Connection Error ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlisten ?. on Fetch Failure (" Network ĠConnect ivity ĠProblem !") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( error . network Response Ġ!= Ġnull Ġ&& Ġerror . network Response . statusCode Ġ== Ġ 4 0 3 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlisten ?. on Fetch Failure (" BAD ĠAUTH ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠRequest Queue Vol ley . getInstance ( context ) !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addTo Request Queue ( string Request . set Should Cache ( false )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġpost Request ( ĊĠĠĠĠĠĠĠ Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠ Ġlisten : ĠFetch Data Listener ?, ĊĠĠĠĠĠĠĠ Ġurl : ĠString , ĊĠĠĠĠĠĠĠ Ġparam : ĠHashMap < String , ĠString > ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlisten ?. on Fetch Start () ĊĠĠĠĠĠĠĠ Ġval Ġstring Request : ĠString Request Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠString Request ( Method . POST , Ġurl , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResponse . Listener Ġ{ Ġresponse : ĠString ? Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlisten ?. on Fetch Complete ( response ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĠResponse . Error Listener Ġ{ Ġerror : ĠVol ley Error Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( error Ġis ĠNo Connection Error ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlisten ?. on Fetch Failure (" Network ĠConnect ivity ĠProblem !") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( error . network Response Ġ!= Ġnull Ġ&& Ġerror . network Response . statusCode Ġ== Ġ 4 0 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlisten ?. on Fetch Failure (" BAD ĠAUTH ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Body ContentType (): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ" application / x - www - form - urlencoded ; Ġcharset = UTF - 8 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Throws ( Auth Failure Error :: class ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Params (): ĠMap < String , ĠString > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Map < String , ĠString > Ġparams Ġ= Ġnew ĠHashMap <>(); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// params . put (" token "," ey J 0 e X Ai OiJ KV 1 Qi LCJ hb G ci OiJ I Uz I 1 Ni J 9 . ey J pc 3 Mi OiJ od HR w O lw v XC 9 k dm 5 s YW Jz Lm 1 s Ii wi YX Vk Ijoi Z GJ hc 3 Vk ZX dh Q G dt YW ls Lm Nvb S Is I ml hd CI 6 MT U 1 Mj Ay OT M 0 NC w ibm Jm Ij ox NT Uy M DI 5 Mz U 0 LCJ k YXR h I jp 7 I ml k X 3 Vz ZX Ii OiJ VU 1 Ix Iiw ibm Ft ZV 9 1 c 2 Vy Ijoi R GF 2 aW 4 i LCJ lb WF pb CI 6 Im Ri YX N 1 ZGV 3 Y UB nb WF pb C 5 jb 2 0 if X 0 .- C 7 r mo i 7 z _ t Me Pl BF PL V Ut Ob C 3 Oc G 9 y _ 0 q RQ Ix 1 _ xr Y "); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġparam ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠRequest Queue Vol ley . getInstance ( context ) !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addTo Request Queue ( string Request . set Should Cache ( false )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠGET _ C ACHED _ REQUEST ( ĊĠĠĠĠĠĠĠ Ġcontext : ĠContext ?, ĊĠĠĠĠĠĠĠ Ġlisten : ĠFetch Data Listener ?, ĊĠĠĠĠĠĠĠ Ġurl : ĠString ? ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlisten ?. on Fetch Start () ĊĠĠĠĠĠĠĠ Ġval Ġstring Request Ġ= ĠString Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRequest . Method . GET , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġurl , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResponse . Listener Ġ{ Ġresponse Ġ-> Ġlisten ?. on Fetch Complete ( response ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResponse . Error Listener Ġ{ Ġerror Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( error Ġis ĠNo Connection Error ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert ( listen Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlisten !!. on Fetch Failure (" Network ĠConnect ivity ĠProblem !") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ ĠRequest Queue Vol ley . getInstance ( context !! ) !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addTo Request Queue ( string Request . set Should Cache ( true )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠCODE _ GET _ REQUEST Ġ= Ġ 1 0 2 4 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠCODE _ POST _ REQUEST Ġ= Ġ 1 0 2 5 ĊĠĠĠ Ġ} Ċ }