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 . interfaces . Film Metadata Request Callback Ċ import Ġxyz . fair port stud ios . popular in . models . Film Metadata Ċ 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 ĠFil m Metadata Request ( private Ġval Ġcontext : ĠContext , Ġprivate Ġval Ġfilm ID : ĠInt ) Ġ{ ĊĠĠĠ Ġfun Ġsend Request ( callback : ĠFil m Metadata Request Callback ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest URL Ġ= Ġ"${ Pop ular in API . FIL M }$ film ID " ĊĊĠĠĠĠĠĠĠ Ġval Ġfilm Metadata Ġ= Ġobject Ġ: ĠJsonObject Request ( Method . GET , Ġrequest URL , Ġnull , ĠResponse . Listener Ġ{ Ġresponse Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( response . getInt (" status ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 0 1 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Object Ġ= Ġresponse . getJSONObject (" result ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmetadata Object Ġ= Ġresult Object . getJSONObject (" metadata ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfilm Metadata Ġ= ĠFil m Metadata ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmetadata Object . getDouble (" average _ rating "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmetadata Object . getInt (" total _ review "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmetadata Object . getInt (" total _ favorite "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmetadata Object . getInt (" total _ watch list ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . on Success ( film Metadata ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 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 ( film Metadata ) ĊĠĠĠ Ġ} Ċ }