package Ġcom . example . b omb game . ui . main . adapter Ċ Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . util . Typed Value Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . example . b omb game . R Ċ import Ġcom . example . b omb game . data . dto . Player Ċ import Ġcom . example . b omb game . utils . Constants . GREEN Ċ import Ġcom . example . b omb game . utils . Constants . RED Ċ import Ġkotlinx . android . synt hetic . main . lob by _ grid _ layout . view .* Ċ Ċ /** Ċ Ġ* ĠAdapter Ġclass Ġto Ġdisplay Ġthe Ġplayers Ġin Ġa ĠRecyclerView Ġin Ġthe Ġlob by . Ċ Ġ*/ Ċ class ĠL obby Adapter ( private Ġvar Ġplayer List : ĠList < Player >): ĠRecyclerView . Adapter < Lobby Adapter . Player ViewHolder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠPlayer ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġplayer View Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . lob by _ grid _ layout , ĊĠĠĠĠĠĠĠ Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠPlayer ViewHolder ( player View ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠPlayer ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcurrent Player Ġ= Ġplayer List [ position ] ĊĠĠĠĠĠĠĠ Ġholder . username Text . text Ġ= Ġcurrent Player . username ĊĠĠĠĠĠĠĠ Ġholder . ready Text . text Ġ= Ġif Ġ( current Player . ready ) Ġ" Ready Ġ! " Ġelse Ġ" Not Ġready " ĊĊĠĠĠĠĠĠĠ Ġif Ġ( current Player . ready ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ready Text . setTextColor ( Color . parse Color ( GREEN )) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . ready Text . setTextColor ( Color . parse Color ( RED )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠTODO : Ġautomate Ġthis Ġwith Ġauto Size Text Ġbut Ġdoesn 't Ġseem Ġto Ġwork ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Player . username . length Ġ<= Ġ 7 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . username Text . setText Size ( Typed Value . COMPLEX _ UNIT _ SP , Ġ 3 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Player . username . length Ġin Ġ 8 .. 1 0 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . username Text . setText Size ( Typed Value . COMPLEX _ UNIT _ SP , Ġ 2 4 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Player . username . length Ġ> Ġ 1 0 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . username Text . setText Size ( Typed Value . COMPLEX _ UNIT _ SP , Ġ 2 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġplayer List . size ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠUpdate Ġthe Ġplayers Ġlist Ġto Ġdisplay . ĊĠĠĠĠ Ġ* Ġ@ param Ġnew Player List ĠThe Ġplayers Ġlist Ġthat Ġwill Ġreplace Ġthe Ġold Ġone . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġupdate ( new Player List : ĠList < Player >) Ġ{ ĊĠĠĠĠĠĠĠ Ġplayer List Ġ= Ġnew Player List ĊĠĠĠĠĠĠĠ Ġthis . notify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠClass Ġthat Ġrepresents Ġone Ġplayer Ġin Ġthe ĠRecyclerView . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġclass ĠPlayer ViewHolder ( player View : ĠView ): ĠRecyclerView . ViewHolder ( player View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġusername Text : ĠTextView Ġ= Ġplayer View . username _ grid ĊĠĠĠĠĠĠĠ Ġval Ġready Text : ĠTextView Ġ= Ġplayer View . ready _ grid ĊĠĠĠ Ġ} Ċ }