package Ġcom . sun black hole . android . al Interface Ċ Ċ import Ġandroid . net . Uri Ċ import Ġcom . facebook . Graph Request Ċ import Ġorg . json . JSONException Ċ import Ġorg . json . JSONObject ĊĊ Ċ class ĠGetUser Callback ( private Ġval Ġm GetUser Response : ĠI GetUser Response ) Ġ{ ĊĠĠĠ Ġinterface ĠI GetUser Response Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġon Completed ( user : ĠUser ?) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġcallback : ĠGraph Request . Callback ĊĊĠĠĠ Ġ@ Throws ( JSONException :: class ) ĊĠĠĠ Ġprivate Ġfun Ġjson To User ( user : ĠJSONObject ): ĠUser Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpicture Ġ= ĠUri . parse ( user . getJSONObject (" picture "). getJSONObject (" data "). getString (" url ")) ĊĠĠĠĠĠĠĠ Ġval Ġname Ġ= Ġuser . getString (" name ") ĊĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġuser . getString (" id ") ĊĠĠĠĠĠĠĠ Ġvar Ġemail : ĠString Ġ= Ġ Ġ"" ĊĠĠĠĠĠĠĠ Ġif Ġ( user . has (" email ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemail Ġ= Ġuser . getString (" email ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠBuild Ġpermissions Ġdisplay Ġstring ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠStringBuilder () ĊĠĠĠĠĠĠĠ Ġval Ġperms Ġ= Ġuser . getJSONObject (" permissions "). get JSONArray (" data ") ĊĠĠĠĠĠĠĠ Ġbuilder . append (" Permissions :\ n ") ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġperms . length ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( perms . getJSONObject ( i )[" permission "]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append (": Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( perms . getJSONObject ( i )[" status "]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ("\ n ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġpermissions Ġ= Ġbuilder . toString () ĊĠĠĠĠĠĠĠ Ġreturn ĠUser ( picture , Ġname , Ġid , Ġemail , Ġpermissions ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġcallback Ġ= ĠGraph Request . Callback Ġ{ Ġresponse Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġuser : ĠUser ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuser Obj Ġ= Ġresponse . jsonObject Ġ?: Ġreturn @ Callback ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser Ġ= Ġjson To User ( user Obj ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠJSON Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠHandle Ġexception Ġ... ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠHand led Ġby ĠProfile Activity ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm GetUser Response . on Completed ( user ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠUser ( val Ġpicture : ĠUri , Ġval Ġname : ĠString , Ġval Ġid : ĠString , Ġval Ġemail : ĠString , Ġval Ġpermissions : ĠString ) ĊĊ Ċ } Ċ