package Ġxyz . fair port stud ios . popular in . apis . popular in . get Ċ Ċ import Ġandroid . content . Context Ċ import Ġcom . android . vol ley . Network Error Ċ import Ġcom . android . vol ley . Response Ċ import Ġcom . android . vol ley . ServerError Ċ import Ġcom . android . vol ley . Timeout Error Ċ import Ġcom . android . vol ley . toolbox . JsonObject Request Ċ import Ġcom . android . vol ley . toolbox . Vol ley Ċ import Ġxyz . fair port stud ios . popular in . R Ċ import Ġxyz . fair port stud ios . popular in . enums . Point Type Ċ import Ġxyz . fair port stud ios . popular in . interfaces . User Point Request Callback Ċ import Ġxyz . fair port stud ios . popular in . models . Point Ċ import Ġxyz . fair port stud ios . popular in . secrets . API Key Ċ import Ġxyz . fair port stud ios . popular in . static s . Pop ular in API Ċ Ċ class ĠUser Point Request ( private Ġval Ġcontext : ĠContext , Ġprivate Ġval ĠuserID : ĠInt ) Ġ{ ĊĠĠĠ Ġfun Ġsend Request ( page : ĠInt , Ġcallback : ĠUser Point Request Callback ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest URL Ġ= Ġ"${ Pop ular in API . USER }$ userID / points ? page =$ page " ĊĊĠĠĠĠĠĠĠ Ġval Ġuser Point Ġ= Ġobject Ġ: ĠJsonObject Request ( Method . GET , Ġrequest URL , Ġnull , ĠResponse . Listener Ġ{ Ġresponse Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( response . getInt (" status ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 0 1 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpoint List Ġ= ĠArrayList < Point >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Object Ġ= Ġresponse . getJSONObject (" result ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdata Array Ġ= Ġresult Object . get JSONArray (" data ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtotal Page Ġ= Ġresult Object . getInt (" last _ page ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( index Ġin Ġ 0 Ġuntil Ġdata Array . length ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġindex Object Ġ= Ġdata Array . getJSONObject ( index ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġwhen Ġ( index Object . getString (" type ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" FA V OR ITE " Ġ-> ĠPoint Type . FA V OR ITE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" RE VIEW " Ġ-> ĠPoint Type . RE VIEW ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠPoint Type . WATCH LIST ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpoint Ġ= ĠPoint ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġindex Object . getInt (" id "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġindex Object . getInt (" type _ id "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġindex Object . getBoolean (" is _ positive "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġindex Object . getString (" total "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġindex Object . getString (" description "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġindex Object . getString (" timestamp ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpoint List . add ( point ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . on Success ( total Page , Ġpoint List ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 6 0 6 Ġ-> Ġcallback . on NotFound () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġcallback . onError ( context . getString ( R . string . general _ error )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}, ĠResponse . Error Listener Ġ{ Ġerror Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( error ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠNetwork Error , Ġis ĠTimeout Error Ġ-> Ġcallback . onError ( context . getString ( R . string . network _ error )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠServer Error Ġ-> Ġcallback . onError ( context . getString ( R . string . server _ error )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġcallback . onError ( context . getString ( R . string . general _ error )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Headers (): ĠMutable Map < String , ĠString > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġheaders Ġ= ĠHashMap < String , ĠString >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheaders [" API - Key "] Ġ= ĠAPI Key . POP ULAR IN _ API _ KEY ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġheaders ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠVol ley . new Request Queue ( context ). add ( user Point ) ĊĠĠĠ Ġ} Ċ }