package Ġcom . brain y apps . simp ly free . adapters . main Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . brain y apps . simp ly free . R Ċ import Ġcom . brain y apps . simp ly free . activities . main . Home Activity Ċ import Ġcom . brain y apps . simp ly free . activities . main . Item Detail Activity Ċ import Ġcom . brain y apps . simp ly free . helpers . User Detail Helper Ċ import Ġcom . brain y apps . simp ly free . activities . main . Item Message Activity Ċ import Ġcom . brain y apps . simp ly free . activities . main . User Detail Activity Ċ import Ġcom . brain y apps . simp ly free . adapters . Base Item Adapter Ċ import Ġcom . brain y apps . simp ly free . models . Item Ċ import Ġcom . brain y apps . simp ly free . models . User Ċ import Ġcom . brain y apps . simp ly free . utils . Globals Ċ import Ġcom . brain y apps . simp ly free . views . main . ViewHolder Item Detail Comment Ċ import Ġcom . brain y apps . simp ly free . views . main . ViewHolder Item Detail Count Ċ import Ġcom . brain y apps . simp ly free . views . main . ViewHolder Item Detail Item Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠAdministrator Ġon Ġ 2 / 1 9 / 1 8 . Ċ Ġ*/ Ċ Ċ class ĠItem Detail Adapter ( val Ġctx : ĠContext , Ġprivate Ġval Ġitem : ĠItem ) ĊĠĠĠ Ġ: ĠBase Item Adapter ( ctx ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠITEM _ VIEW _ TYPE _ ITEM Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠITEM _ VIEW _ TYPE _ COUNT Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠITEM _ VIEW _ TYPE _ COMMENT Ġ= Ġ 3 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠRecyclerView . ViewHolder Ġ{ ĊĊĠĠĠĠĠĠĠ Ġvar Ġv h Res Ġ= Ġmake ViewHolder ( parent , Ġview Type ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( view Type Ġ== ĠITEM _ VIEW _ TYPE _ ITEM ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcreate Ġa Ġnew Ġview ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġv Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . layout _ item _ detail _ content , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġset Ġthe Ġview 's Ġsize , Ġmargins , Ġp add ings Ġand Ġlayout Ġparameters ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġv h Ġ= ĠViewHolder Item Detail Item ( v , Ġctx ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv h . setOn ItemClickListener ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv h Res Ġ= Ġv h ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġif Ġ( view Type Ġ== ĠITEM _ VIEW _ TYPE _ COUNT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcreate Ġa Ġnew Ġview ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġv Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . layout _ item _ comment _ count , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġset Ġthe Ġview 's Ġsize , Ġmargins , Ġp add ings Ġand Ġlayout Ġparameters ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġv h Ġ= ĠViewHolder Item Detail Count ( v , Ġctx ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv h Res Ġ= Ġv h ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġif Ġ( view Type Ġ== ĠITEM _ VIEW _ TYPE _ COMMENT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcreate Ġa Ġnew Ġview ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġv Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . layout _ item _ comment _ item , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġset Ġthe Ġview 's Ġsize , Ġmargins , Ġp add ings Ġand Ġlayout Ġparameters ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġv h Ġ= ĠViewHolder Item Detail Comment ( v , Ġctx ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv h Res Ġ= Ġv h ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġv h Res !! ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠRecyclerView . ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( holder Ġis ĠViewHolder Item Detail Item ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . fill Content ( item ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġif Ġ( holder Ġis ĠViewHolder Item Detail Count ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . show Count ( item . comments . size ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġif Ġ( holder Ġis ĠViewHolder Item Detail Comment ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . fill Content ( item . comments [ position Ġ- Ġ 2 ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġitem ĊĠĠĠĠĠĠĠ Ġvar Ġn Count Ġ= Ġ 1 ĊĊĠĠĠĠĠĠĠ Ġ// Ġcomment ĊĠĠĠĠĠĠĠ Ġif Ġ( item . comments . size Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġn Count ++ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġn Count Ġ+= Ġitem . comments . size ĊĊĠĠĠĠĠĠĠ Ġif Ġ( mb Need More ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġn Count ++ ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġn Count ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ{ ĊĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( position Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠITEM _ VIEW _ TYPE _ ITEM ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġif Ġ( position Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠITEM _ VIEW _ TYPE _ COUNT ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġif Ġ( position Ġ< Ġitem . comments . size Ġ+ Ġ 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠITEM _ VIEW _ TYPE _ COMMENT ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠITEM _ VIEW _ TYPE _ FO OTER ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Item Click ( view : ĠView ?, Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( view !!. id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġuser Ġprofile ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . layout _ user Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . user Posted . let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġgo Ġto Ġprofile Ġpage Ġfor Ġother Ġusers Ġonly ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it ?. id !!. equals ( User . currentUser ?. id )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġgo Ġto Ġmain Ġpage Ġprofile Ġtab ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGlobals . is Back To Root Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactivity Ġ= Ġcontext Ġas ĠItem Detail Activity ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . finish () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( context , ĠUser Detail Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( User Detail Helper . KEY _ USER , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext !!. startActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġmessage Ġto Ġuser ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . but _ message Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this . context , ĠItem Message Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGlobals . selected Item Ġ= Ġitem ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . context !!. startActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ