package Ġlive . h ms . app 2 . ui . meeting . participants Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . annotation . MainThread Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġlive . h ms . app 2 . databinding . ListItem Peer List Binding Ċ import Ġlive . h ms . video . sdk . models . HM SP eer Ċ Ċ class ĠPart icipants Adapter ( ĊĠ Ġval Ġis Allowed To Change Role : ĠBoolean , ĊĠ Ġval Ġis Allowed To Kick Peer Ġ: ĠBoolean , ĊĠ Ġval Ġis Allowed To Mute Peer Ġ: ĠBoolean , ĊĠ Ġval Ġis Allowed To Ask Un mute Peer Ġ: ĠBoolean , ĊĠ Ġprivate Ġval Ġshow Sheet Ġ: Ġ( HM SP eer ) Ġ-> ĠUnit Ċ ) Ġ: ĠRecyclerView . Adapter < Participants Adapter . Peer ViewHolder >() Ġ{ ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġprivate Ġconst Ġval ĠTAG Ġ= Ġ" Participants Adapter " ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġv ( value : ĠBoolean ) Ġ= Ġif Ġ( value ) ĠView . VISIBLE Ġelse ĠView . GONE ĊĊĠ Ġinner Ġclass ĠPeer ViewHolder ( ĊĠĠĠ Ġprivate Ġval Ġbinding : ĠListItem Peer List Binding ĊĠ Ġ) Ġ: ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠ Ġwith ( binding ) Ġ{ ĊĠĠĠĠĠĠĠ Ġpeer Settings . setOnClickListener Ġ{ Ġshow Sheet ( items [ adapter Position ]) Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbind ( item : ĠH MSP eer ) Ġ{ ĊĠĠĠĠĠ Ġwith ( binding ) Ġ{ ĊĠĠĠĠĠĠĠ Ġname . text Ġ= Ġitem . name ĊĠĠĠĠĠĠĠ Ġicon Screen Share . visibility Ġ= Ġv ( item . aux iliary Tracks . isNotEmpty ()) ĊĠĠĠĠĠĠĠ Ġicon Audio Off . visibility Ġ= Ġv ( item . audio Track ?. is Mute Ġ!= Ġfalse ) ĊĠĠĠĠĠĠĠ Ġicon Video Off . visibility Ġ= Ġv ( item . video Track ?. is Mute Ġ!= Ġfalse ) ĊĠĠĠĠĠĠĠ Ġpeer Role . text Ġ= Ġitem . h ms Role . name ĊĠĠĠĠĠĠĠ Ġ// ĠShow Ġchange Ġrole Ġoption Ġonly Ġif Ġthe Ġrole Ġof Ġthe Ġlocal Ġpeer Ġallows ĊĠĠĠĠĠĠĠ Ġ// Ġ Ġand Ġif Ġit 's Ġnot Ġthe Ġlocal Ġpeer Ġitself . ĊĠĠĠĠĠĠĠ Ġpeer Settings . visibility Ġ= Ġv ( is Allowed To Change Role Ġ|| Ġis Allowed To Ask Un mute Peer Ġ|| Ġis Allowed To Mute Peer Ġ|| Ġis Allowed To Kick Peer Ġ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠ Ġ} ĊĊĠ Ġprivate Ġval Ġitems Ġ= ĠArrayList < HM SP eer >() ĊĊĠ Ġ@ MainThread ĊĠ Ġfun Ġset Items ( new Items : ĠArray < HM SP eer >) Ġ{ ĊĠĠĠ Ġitems . clear () ĊĠĠĠ Ġitems . addAll ( new Items ) ĊĠĠĠ Ġnotify DataSet Changed () ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠPeer ViewHolder Ġ{ ĊĠĠĠ Ġval Ġbinding Ġ= ĠListItem Peer List Binding . inflate ( ĊĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ), ĊĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠ Ġfalse ĊĠĠĠ Ġ) ĊĠĠĠ Ġreturn ĠPeer ViewHolder ( binding ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠPeer ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠ Ġholder . bind ( items [ position ]) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġitems . size Ċ }