package Ġcom . skeleton . mvp . adapter Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . appcompat . widget . AppCompat ImageView Ċ import Ġandroid . text . TextUtils Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget .* Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . Priority Ċ import Ġcom . bump tech . glide . load . engine . Disk Cache Strategy Ċ import Ġcom . bump tech . glide . load . resource . bitmap . Center Crop Ċ import Ġcom . bump tech . glide . load . resource . bitmap . Rounded C orners Ċ import Ġcom . bump tech . glide . request . RequestOptions Ċ import Ġcom . mike pen z . item anim ators . Scale Up Animator Ċ import Ġcom . skeleton . mvp . R Ċ import Ġcom . skeleton . mvp . model . F ugu SearchResult Ċ import Ġcom . skeleton . mvp . utils . F ugu Utils . Companion . getFirst Char In UpperCase Ċ import Ġcom . skeleton . mvp . video Call . F ugu Call Activity Ċ Ċ class ĠSwitch Call Invitation Adapter ( message List : ĠArrayList < F ugu SearchResult >, ĠmContext : ĠContext , Ġuser Ids : ĠArrayList < Long >, Ġmulti Member Add Group Map : Ġjava . util . Linked HashMap < Long , ĠF ugu SearchResult >) Ġ: Ġandroidx . recyclerview . widget . RecyclerView . Adapter < android x . recyclerview . widget . RecyclerView . ViewHolder >() Ġ{ ĊĊĊĠĠĠ Ġprivate Ġvar Ġcall Activity : ĠF ugu Call Activity ĊĠĠĠ Ġprivate Ġvar Ġmembers List : ĠArrayList < F ugu SearchResult > ĊĠĠĠ Ġprivate Ġvar Ġuser Ids : ĠArrayList < Long > ĊĠĠĠ Ġprivate Ġvar Ġmulti Member Add Group Map Ġ= Ġjava . util . Linked HashMap < Long , ĠF ugu SearchResult >() ĊĠĠĠ Ġprivate Ġvar Ġis Max Limit Reached : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . members List Ġ= Ġmessage List ĊĠĠĠĠĠĠĠ Ġthis . call Activity Ġ= ĠmContext Ġas ĠF ugu Call Activity ĊĠĠĠĠĠĠĠ Ġthis . user Ids Ġ= Ġuser Ids ĊĠĠĠĠĠĠĠ Ġthis . multi Member Add Group Map Ġ= Ġmulti Member Add Group Map ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate List ( members List : ĠArrayList < F ugu SearchResult >, Ġuser Ids : ĠArrayList < Long >, Ġmulti Member Add Group Map : Ġjava . util . Linked HashMap < Long , ĠF ugu SearchResult >) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . members List Ġ= Ġmembers List ĊĠĠĠĠĠĠĠ Ġthis . user Ids Ġ= Ġuser Ids ĊĠĠĠĠĠĠĠ Ġthis . multi Member Add Group Map Ġ= Ġmulti Member Add Group Map ĊĠĠĠĠĠĠĠ Ġis Max Limit Reached Ġ= Ġuser Ids . size Ġ>= Ġ 1 0 ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): Ġandroidx . recyclerview . widget . RecyclerView . ViewHolder Ġ{ ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( getItem ViewType ( view Type )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠitemView : ĠView Ġ= ĠLayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . item _ selected _ members _ list , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠSelected Members ( item View ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠitemView : ĠView Ġ= ĠLayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . f ugu _ user _ list _ item , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠGroup Member ( item View ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( position Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( main Holder : Ġandroidx . recyclerview . widget . RecyclerView . ViewHolder , Ġp 1 : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġposition : ĠInt Ġ= Ġmain Holder . adapter Position ĊĠĠĠĠĠĠĠ Ġwhen Ġ( position ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġholder Ġ= Ġmain Holder Ġas ĠSelected Members ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvideo Call inv itation Multi Adapter Ġ= ĠSwitch Call inv itation Multi Adapter ( multi Member Add Group Map , Ġcall Activity ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rv Selected Members . item Animator Ġ= ĠScale Up Animator () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rv Selected Members . layout Manager Ġ= Ġandroidx . recyclerview . widget . Linear LayoutManager ( call Activity , Ġandroidx . recyclerview . widget . RecyclerView . HORIZONTAL , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rv Selected Members . adapter Ġ= Ġvideo Call inv itation Multi Adapter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . rv Selected Members . scrollTo Position ( video Call inv itation Multi Adapter . item Count Ġ- Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( multi Member Add Group Map . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Main . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparams Ġ= Ġholder . ll Main . get LayoutParams () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparams . height Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparams . width Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Main . layout Params Ġ= Ġparams ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Main . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparams Ġ= Ġholder . ll Main . get LayoutParams () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparams . height Ġ= ĠLinearLayout . LayoutParams . WRAP _ CONTENT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparams . width Ġ= ĠLinearLayout . LayoutParams . MATCH _ PARENT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Main . layout Params Ġ= Ġparams ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . iv Video Call . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( call Activity . is Network Connected ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . iv Video Call . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . pb Connecting . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcall Activity . api Init iate Video Conference ( user Ids ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . iv Video Call . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . pb Connecting . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcall Activity . show ErrorMessage (" Please Ġcheck Ġyour ĠInternet ĠConnection !") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġholder Ġ= Ġmain Holder Ġas ĠGroup Member ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsetUser View ( members List , Ġholder ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠsetUser View ( members List : ĠArrayList < F ugu SearchResult >, Ġholder : ĠGroup Member ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġposition Ġ= Ġholder . adapter Position ĊĠĠĠĠĠĠĠ Ġval ĠgetAll Members : ĠF ugu SearchResult Ġ= Ġmembers List . get ( position ) ĊĠĠĠĠĠĠĠ Ġholder . tv Name . text Ġ= ĠgetAll Members . name ĊĠĠĠĠĠĠĠ Ġif Ġ( user Ids . contains ( getAll Members . user _ id )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . iv Tick Icon . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Main . alpha Ġ= Ġ 1 f ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . iv Tick Icon . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Max Limit Reached ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Main . alpha Ġ= Ġ 0 . 5 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ll Main . alpha Ġ= Ġ 1 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( TextUtils . isEmpty ( getAll Members . email ) Ġ|| ĠgetAll Members . email . contains ("@ f ug uch at ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Email . text Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Email . text Ġ= ĠgetAll Members . email ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! TextUtils . isEmpty ( getAll Members . user _ image )) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġoptions Ġ= ĠRequest Options () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. center Crop () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. dont Animate () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. disk Cache Strategy ( Disk Cache Strategy . ALL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. placeholder ( R . drawable . placeholder ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. error ( R . drawable . placeholder ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fit Center () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. priority ( Priority . HIGH ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. transforms ( Center Crop (), ĠRo unded C orners ( 1 0 0 )) ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( call Activity ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. as Bitmap () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply ( options ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( getAll Members . user _ image ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( holder . iv Contact Icon ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Contact Icon . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Contact Icon . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! TextUtils . isEmpty ( getAll Members . name )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tv Contact Icon . text Ġ= Ġget First Char In UpperCase ( getAll Members . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( getAll Members . user _ id . to Long () Ġ% Ġ 5 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 L Ġ-> Ġholder . iv Contact Icon . setImage Drawable ( Context Compat . get Drawable ( call Activity , ĠR . drawable . ring _ purple )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 L Ġ-> Ġholder . iv Contact Icon . setImage Drawable ( Context Compat . get Drawable ( call Activity , ĠR . drawable . ring _ teal )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 L Ġ-> Ġholder . iv Contact Icon . setImage Drawable ( Context Compat . get Drawable ( call Activity , ĠR . drawable . ring _ red )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 4 L Ġ-> Ġholder . iv Contact Icon . setImage Drawable ( Context Compat . get Drawable ( call Activity , ĠR . drawable . ring _ indigo )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . iv Contact Icon . setImage Drawable ( Context Compat . get Drawable ( call Activity , ĠR . drawable . ring _ red )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġholder . item View . setOnClickListener ( object Ġ: ĠView . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick ( v : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( holder . iv Tick Icon . visibility Ġ== ĠView . VISIBLE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . iv Tick Icon . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( user Ids . contains ( getAll Members . user _ id )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser Ids . remove ( getAll Members . user _ id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser Ids . add ( getAll Members . user _ id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcall Activity . set RecyclerView Added Members ( getAll Members ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnotify Item Changed ( holder . adapter Position ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! is Max Limit Reached ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . iv Tick Icon . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( user Ids . contains ( getAll Members . user _ id )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser Ids . remove ( getAll Members . user _ id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser Ids . add ( getAll Members . user _ id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcall Activity . set RecyclerView Added Members ( getAll Members ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnotify Item Changed ( holder . adapter Position ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( call Activity , Ġ" You Ġcannot Ġselect Ġmore Ġthan Ġ 1 0 Ġpeople ", ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcall Activity . set RecyclerView Added Members ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnotify Item Changed ( holder . adapter Position ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmembers List . size ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠGroup Member ( item View : ĠView ?) Ġ: Ġandroidx . recyclerview . widget . RecyclerView . ViewHolder ( item View !! ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġvar Ġtv Name : ĠTextView Ġ= ĠitemView !!. findViewById ( R . id . tv Name ) ĊĠĠĠĠĠĠĠ Ġvar Ġtv Email : ĠTextView Ġ= ĠitemView !!. findViewById ( R . id . tv Email ) ĊĠĠĠĠĠĠĠ Ġvar Ġtv Contact Icon : ĠTextView Ġ= ĠitemView !!. findViewById ( R . id . tv Contact Icon ) ĊĠĠĠĠĠĠĠ Ġvar Ġiv Contact Icon : ĠImageView Ġ= ĠitemView !!. findViewById ( R . id . iv Contact Image ) ĊĠĠĠĠĠĠĠ Ġvar Ġiv Tick Icon : ĠImageView Ġ= ĠitemView !!. findViewById ( R . id . iv _ tick ) ĊĠĠĠĠĠĠĠ Ġvar Ġll Main : ĠLinearLayout Ġ= ĠitemView !!. findViewById ( R . id . ll Main ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠSelected Members ( item View : ĠView ?) Ġ: Ġandroidx . recyclerview . widget . RecyclerView . ViewHolder ( item View !! ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġrv Selected Members : Ġandroidx . recyclerview . widget . RecyclerView Ġ= ĠitemView !!. findViewById ( R . id . rv Selected Members ) ĊĠĠĠĠĠĠĠ Ġvar Ġll Main : ĠLinearLayout Ġ= ĠitemView !!. findViewById ( R . id . ll Main ) ĊĠĠĠĠĠĠĠ Ġvar Ġiv Video Call : ĠAppCompat ImageView Ġ= ĠitemView !!. findViewById ( R . id . iv Video Call ) ĊĠĠĠĠĠĠĠ Ġvar Ġpb Connecting : ĠProgress Bar Ġ= ĠitemView !!. findViewById ( R . id . pb Connecting ) ĊĠĠĠ Ġ} Ċ Ċ }