package Ġcom . music ation 8 9 Ċ Ċ import Ġandroid . content . Context Ċ import Ġcom . android . vol ley . Request Ċ import Ġcom . android . vol ley . toolbox . JsonObject Request Ċ import Ġcom . android . vol ley . toolbox . Vol ley Ċ import Ġorg . json . JSONObject Ċ import Ġcom . android . vol ley . Vol ley Error Ċ import Ġorg . json . JSONException Ċ Ċ interface ĠVol ley Response Listener Ġ{ ĊĠĠĠ Ġfun Ġon Response ( model : ĠMusic Model ) ĊĠĠĠ Ġfun ĠonError ( response : ĠVol ley Error ) Ċ } Ċ Ċ class ĠMusic ation Service Ġ{ ĊĊĠĠĠ Ġfun Ġrequest Next Song ( context : ĠContext , Ġlatitude : ĠString , Ġlongitude : ĠString , Ġvol ley Response Listener : ĠVol ley Response Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġqueue Ġ= ĠVol ley . new Request Queue ( context ) ĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġ" https :// st ark - shelf - 4 4 0 8 1 . herokuapp . com / music ation / song Location " ĊĊĠĠĠĠĠĠĠ Ġval Ġpost Data Ġ= ĠJSONObject () ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpost Data . put (" latitude ", Ġlatitude ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpost Data . put (" longitude ", Ġlongitude ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpost Data . put (" userId ", ĠUser Session . userId ) ĊĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠJSON Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval ĠjsonObject Request Ġ= ĠJsonObject Request ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRequest . Method . POST , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġurl , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpost Data , Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġmodel : ĠMusic Model ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġartist Name Ġ= Ġresponse . getString (" music Artist ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmusic Name Ġ= Ġresponse . getString (" music Name ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġurl Track Ġ= Ġresponse . getString (" url Track ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodel Ġ= ĠMusic Model ( artist Name , Ġmusic Name , Ġurl Track ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvol ley Response Listener . on Response ( model ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠJSON Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġerror Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvol ley Response Listener . onError ( error ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġqueue . add ( jsonObject Request ) ĊĠĠĠ Ġ} Ċ } Ċ