package Ġcom . commit 4 5 1 . gitlab . adapter Ċ Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . commit 4 5 1 . gitlab . R Ċ import Ġcom . commit 4 5 1 . gitlab . model . Ref Ċ import Ġcom . commit 4 5 1 . gitlab . model . api . Branch Ċ import Ġcom . commit 4 5 1 . gitlab . view Holder . Branch ViewHolder Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* ĠAd ap ts Ġthe Ġfeeds Ċ Ġ*/ Ċ class ĠBranch Adapter ( private Ġval Ġref : ĠRef ?, Ġprivate Ġval Ġlistener : ĠListener ) Ġ: ĠRecyclerView . Adapter < Branch ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġvalues : ĠArrayList < Branch > Ġ= ĠArrayList () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠBranch ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġholder Ġ= ĠBranch ViewHolder . inflate ( parent ) ĊĠĠĠĠĠĠĠ Ġholder . item View . setOnClickListener Ġ{ Ġv Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġposition Ġ= Ġv . getTag ( R . id . list _ position ) Ġas ĠInt ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . on Branch Clicked ( getEntry ( position )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġholder ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠBranch ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . item View . setTag ( R . id . list _ position , Ġposition ) ĊĠĠĠĠĠĠĠ Ġval Ġbranch Ġ= Ġget Entry ( position ) ĊĠĠĠĠĠĠĠ Ġvar Ġselected Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( ref Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( ref . type Ġ== ĠRef . TYPE _ BRANCH Ġ&& Ġref . ref Ġ== Ġbranch . name ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselected Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġholder . bind ( branch , Ġselected ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvalues . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Entries ( entries : ĠCollection < Branch > ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġvalues . clear () ĊĠĠĠĠĠĠĠ Ġif Ġ( entries Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalues . addAll ( entries ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd Entries ( entries : ĠCollection < Branch >) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! entries . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstart Ġ= Ġvalues . size ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . values . addAll ( entries ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotify Item Range Changed ( start , Ġthis . values . size ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Entry ( position : ĠInt ): ĠBranch Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvalues [ position ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠListener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġon Branch Clicked ( entry : ĠBranch ) ĊĠĠĠ Ġ} Ċ } Ċ