package Ġcom . example . par st agram Ċ Ċ import Ġcom . parse . Parse ClassName Ċ import Ġcom . parse . Parse File Ċ import Ġcom . parse . Parse Object Ċ import Ġcom . parse . Parse User Ċ import Ġorg . json . JSONArray Ċ import Ġorg . json . JSONException Ċ import Ġorg . parcel er . Parcel Ċ Ċ @ Parcel ( analyze Ġ= Ġ[ Post :: class ]) Ċ @ Parse ClassName (" Post ") Ċ class ĠPost Ġ: ĠParse Object () Ġ{ ĊĠĠĠ Ġvar Ġdescription : ĠString ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠgetString ( KEY _ DESCRIPTION ) ĊĠĠĠĠĠĠĠ Ġset ( description ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( KEY _ DESCRIPTION , Ġdescription !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġlocation : ĠString ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠgetString ( KEY _ LOCATION ) ĊĠĠĠĠĠĠĠ Ġset ( location ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( KEY _ LOCATION , Ġlocation !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġimage : ĠParse File ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġget Parse File ( KEY _ IMAGE ) ĊĠĠĠĠĠĠĠ Ġset ( parse File ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( KEY _ IMAGE , Ġparse File !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġuser : ĠParse User ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġget Parse User ( KEY _ USER ) ĊĠĠĠĠĠĠĠ Ġset ( user ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( KEY _ USER , Ġuser !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġprofile Pic : ĠParse File ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġget Parse User ( KEY _ USER ) !!. get Parse File (" profile Pic ") ĊĊĠĠĠ Ġvar Ġcomments : ĠJSONArray ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġget JSONArray ( KEY _ COMMENTS ) ĊĠĠĠĠĠĠĠ Ġset ( array ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( KEY _ COMMENTS , Ġarray !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠAdd Ġa Ġcomment Ġto Ġthe Ġcomment Ġarray Ġand Ġreturn Ġthe Ġresulting Ġarray ĊĠĠĠ Ġ@ Throws ( JSONException :: class ) ĊĠĠĠ Ġfun Ġadd Comment ( comment : ĠString ?): ĠJSONArray Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġarray Ġ= Ġcomments !!. put ( 0 , Ġcomment ) ĊĠĠĠĠĠĠĠ Ġcomments Ġ= Ġarray ĊĠĠĠĠĠĠĠ Ġreturn Ġarray ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠFunctions Ġrelated Ġto Ġlik ing ĊĠĠĠ Ġvar Ġusers Who Lik ed : ĠJSONArray ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġget JSONArray ( KEY _ USERS _ W HO _ LIK ED ) ĊĠĠĠĠĠĠĠ Ġset ( array ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( KEY _ USERS _ W HO _ LIK ED , Ġarray !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( JSONException :: class ) ĊĠĠĠ Ġfun Ġis Lik ed ( user : ĠParse User ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠReturns Ġindex Ġof Ġuser Ġif Ġthey Ġlik ed Ġthe Ġpost , Ġ- 1 Ġif Ġthey Ġhaven 't ĊĠĠĠĠĠĠĠ Ġval Ġarray Ġ= Ġget JSONArray ( KEY _ USERS _ W HO _ LIK ED ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġarray !!. length ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( array [ i ] Ġ== Ġuser . objectId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġi ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġ- 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd User To Lik es ( user : ĠParse User ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġusers Who Lik ed Ġ= Ġget JSONArray ( KEY _ USERS _ W HO _ LIK ED ) !!. put ( user . objectId ) ĊĠĠĠĠĠĠĠ Ġ// ĠReturn Ġindex Ġof Ġuser Ġin Ġlikes Ġarray ĊĠĠĠĠĠĠĠ Ġreturn Ġget JSONArray ( KEY _ USERS _ W HO _ LIK ED ) !!. length () Ġ- Ġ 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġremove User From Lik es ( index : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġarray Ġ= Ġget JSONArray ( KEY _ USERS _ W HO _ LIK ED ) ĊĠĠĠĠĠĠĠ Ġarray !!. remove ( index ) ĊĠĠĠĠĠĠĠ Ġusers Who Lik ed Ġ= Ġarray ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġlikes : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġget Int ( KEY _ LIK ES ) ĊĊĠĠĠ Ġfun Ġadd Like () Ġ{ ĊĠĠĠĠĠĠĠ Ġput ( KEY _ LIK ES , Ġlikes Ġ+ Ġ 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsub Like () Ġ{ ĊĠĠĠĠĠĠĠ Ġput ( KEY _ LIK ES , Ġlikes Ġ- Ġ 1 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠKEY _ DESCRIPTION Ġ= Ġ" description " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠKEY _ IMAGE Ġ= Ġ" image " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠKEY _ USER Ġ= Ġ" user " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠKEY _ CREATED _ KEY Ġ= Ġ" createdAt " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠKEY _ LIK ES Ġ= Ġ" likes " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠKEY _ USERS _ W HO _ LIK ED Ġ= Ġ" users Who Lik ed " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠKEY _ COMMENTS Ġ= Ġ" comments " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠKEY _ LOCATION Ġ= Ġ" location " ĊĠĠĠ Ġ} Ċ }