package Ġio . tl . mvp . lib . menu Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ // import Ġcom . ro bo h orse . pager bullet . Pager Bullet Ċ // import Ġcom . smart space pl c . smart space . Build Config Ċ // import Ġcom . smart space pl c . smart space . R Ċ // import Ġcom . smart space pl c . smart space . app V 2 . data Bridge . dynamic Conf . App Section Ċ // import Ġcom . smart space pl c . smart space . app V 2 . data Bridge . maps Data . Node Ċ import Ġio . reactivex . subjects . Publish Subject Ċ import Ġio . tl . mvp . lib . R Ċ Ċ class ĠMenu Items Adapter : ĠRecyclerView . Adapter < Menu Items Adapter . Menu Items ViewHolder >() Ġ{ ĊĠĠĠ Ġval Ġm MenuItem List Ġ= Ġmutable ListOf < MenuItem >() ĊĊĠĠĠ Ġval Ġclick Subject Ġ= ĠPublish Subject . create < MenuItem >() ĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠMenu Items ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠitemView Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . layout __ menu _ item , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠMenu Items ViewHolder ( item View ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠMenu Items ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . home Drawer MenuItem Ġ= Ġm MenuItem List [ position ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm MenuItem List . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠMenu Items ViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġitem Name Tv : ĠTextView Ġ= Ġ( item View Ġas ĠTextView ) ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . setOnClickListener { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhome Drawer MenuItem ?. let Ġ{ the Home Drawer MenuItem Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclick Subject . onNext ( the Home Drawer MenuItem ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġhome Drawer MenuItem : ĠMenuItem ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset ( newValue ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= ĠnewValue ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠnewValue ?. let { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Name Tv . setText ( it . name Txt Res Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ?: Ġkotlin . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Name Tv . text Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ // endregion