package Ġcom . final hints . my mand ir demo . widgets Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Frame Layout Ċ import Ġcom . final hints . my mand ir demo . datamodel . Feed Item Ċ import Ġcom . google . android . material . button . Material Button ĊĊ Ċ class ĠAction Layout Ġ: ĠFrame Layout Ġ{ ĊĊĠĠĠ Ġ/* view Ġof Ġlayout */ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtv Action Download : ĠMaterial Button ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtv Action Like : ĠMaterial Button ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtv Action Comments : ĠMaterial Button ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtv Action Wh ats App : ĠMaterial Button ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtv Action Share : ĠMaterial Button ĊĊĊĠĠĠ Ġprivate Ġvar Ġm Feed Item : ĠFeed Item ? Ġ= Ġnull ĊĊĠĠĠ Ġconstructor ( context : ĠContext ) Ġ: Ġsuper ( context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit View () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ) Ġ: Ġsuper ( context , Ġattrs ) Ġ{ ĊĠĠĠĠĠĠĠ Ġload Attrs ( context , Ġattrs ) ĊĠĠĠĠĠĠĠ Ġinit View () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet , Ġdef Style Attr : ĠInt ) Ġ: Ġsuper ( context , Ġattrs , Ġdef Style Attr ) Ġ{ ĊĠĠĠĠĠĠĠ Ġload Attrs ( context , Ġattrs ) ĊĠĠĠĠĠĠĠ Ġinit View () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet , Ġdef Style Attr : ĠInt , Ġdef Style Res : ĠInt ) Ġ: Ġsuper ( context , Ġattrs , Ġdef Style Attr , Ġdef Style Res ) Ġ{ ĊĠĠĠĠĠĠĠ Ġload Attrs ( context , Ġattrs ) ĊĠĠĠĠĠĠĠ Ġinit View () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠLoad ĠDefault ĠProperties Ġvalues Ġif Ġset Ġfrom Ġxml Ġfile . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext Ġcontext ĊĠĠĠĠ Ġ* Ġ@ param Ġattrs ĠĠ ĠAttributeSet ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġload Attrs ( context : ĠContext , Ġattrs : ĠAttributeSet ) Ġ{} ĊĊĠĠĠ Ġprivate Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( context ). inflate ( R . layout . layout _ action , Ġthis , Ġtrue ) ĊĊĠĠĠĠĠĠĠ Ġtv Action Download Ġ= Ġview . findViewById < View >( R . id . tv Action Download ) Ġas ĠMaterial Button ĊĠĠĠĠĠĠĠ Ġtv Action Like Ġ= Ġview . findViewById < View >( R . id . tv Action Like ) Ġas ĠMaterial Button ĊĠĠĠĠĠĠĠ Ġtv Action Comments Ġ= Ġview . findViewById < View >( R . id . tv Action Comments ) Ġas ĠMaterial Button ĊĠĠĠĠĠĠĠ Ġtv Action Wh ats App Ġ= Ġview . findViewById < View >( R . id . tv Action Wh ats App ) Ġas ĠMaterial Button ĊĠĠĠĠĠĠĠ Ġtv Action Share Ġ= Ġview . findViewById < View >( R . id . tv Action Share ) Ġas ĠMaterial Button ĊĊĠĠĠĠĠĠĠ Ġtv Action Download . setOnClickListener Ġ{ Ġon ActionListener ?. on Download Action ( m Feed Item ) Ġ} ĊĠĠĠĠĠĠĠ Ġtv Action Like . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Action Like . is Activated Ġ= Ġ! tv Action Like . is Activated ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon ActionListener ?. on Like Change Action ( m Feed Item , Ġtv Action Like . is Activated ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġtv Action Comments . setOnClickListener Ġ{ Ġon ActionListener ?. on Add Comment Action ( m Feed Item ) Ġ} ĊĠĠĠĠĠĠĠ Ġtv Action Wh ats App . setOnClickListener Ġ{ Ġon ActionListener ?. on Wh ats app Share Action ( m Feed Item ) Ġ} ĊĠĠĠĠĠĠĠ Ġtv Action Share . setOnClickListener Ġ{ Ġon ActionListener ?. on Share Action ( m Feed Item ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġfun Ġinit Data ( attachment : ĠFeed Item ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Feed Item Ġ= Ġattachment Ċ Ċ // ĠĠĠĠĠĠĠ Ġtv Action Download . text Ġ= Ġm Feed Item . count ĊĠĠĠĠĠĠĠ Ġtv Action Comments . text Ġ= Ġm Feed Item ?. comment Count ?. toString () Ġ?: Ġ"-" ĊĠĠĠĠĠĠĠ Ġtv Action Share . text Ġ= Ġm Feed Item ?. share Count ?. toString () Ġ?: Ġ"-" ĊĠĠĠĠĠĠĠ Ġtv Action Like . text Ġ= Ġm Feed Item ?. like Count ?. toString () Ġ?: Ġ"-" ĊĠĠĠĠĠĠĠ Ġtv Action Wh ats App . text Ġ= Ġm Feed Item ?. share Count ?. toString () Ġ?: Ġ"-" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġon ActionListener : ĠOn Header ActionListener ? Ġ= Ġnull ĊĊĠĠĠ Ġinterface ĠOn Header ActionListener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġon Share Action ( feed Item : ĠFeed Item ?) ĊĠĠĠĠĠĠĠ Ġfun Ġon Download Action ( feed Item : ĠFeed Item ?) ĊĠĠĠĠĠĠĠ Ġfun Ġon Add Comment Action ( feed Item : ĠFeed Item ?) ĊĠĠĠĠĠĠĠ Ġfun Ġon Wh ats app Share Action ( feed Item : ĠFeed Item ?) ĊĠĠĠĠĠĠĠ Ġfun Ġon Like Change Action ( feed Item : ĠFeed Item ?, Ġis Lik es : ĠBoolean ) ĊĠĠĠ Ġ} Ċ } ĊĊ