package Ġcom . lo f tech s . sample . chat . create . group Ċ Ċ import Ġandroid . net . Uri Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġandroidx . recyclerview . widget . ListAdapter Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . google . android . material . text view . Material TextView Ċ import Ġcom . lo f tech s . sample . R Ċ import Ġcom . lo f tech s . sample . extensions . load Image With G lide Ċ import Ġcom . lo f tech s . sample . model . data . Profile Info Entity Ċ Ċ class ĠCreate Group Adapter ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġm Presenter : ĠCreate Group Contract . Presenter < Create Group Contract . View > ?, Ċ ) Ġ: ĠList Adapter < Profile Info Entity , ĠCreate Group Adapter . SelectedItem ViewHolder >( Create Group Diff ()) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠSelected Item ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠSelected Item ViewHolder ( LayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( R . layout . item _ contact , Ġparent , Ġfalse )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠSelected Item ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Presenter ?. on Bind ViewHolder ( holder , Ġposition ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠSelected Item ViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ), ĠI SelectedItem View Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġavatar View : ĠImageView Ġ= ĠitemView . findViewById ( R . id . item _ contact _ avatar ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġtitle : ĠMaterial TextView Ġ= ĠitemView . findViewById ( R . id . item _ contact _ title ) ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbind Avatar ( uri : ĠUri ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġavatar View . load Image With G lide ( R . drawable . ic _ profile , Ġuri , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠsetTitle Text ( text : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle . text Ġ= Ġtext ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠI SelectedItem View Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbind Avatar ( uri : ĠUri ?) ĊĠĠĠĠĠĠĠ Ġfun ĠsetTitle Text ( text : ĠString ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠCreate Group Diff Ġ: ĠDiff Util . Item Callback < Profile Info Entity >() Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġare Items The Same ( old Item : ĠProfile Info Entity , Ġnew Item : ĠProfile Info Entity ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġold Item . id Ġ== Ġnew Item . id ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( old Item : ĠProfile Info Entity , Ġnew Item : ĠProfile Info Entity ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġold Item Ġ== Ġnew Item ĊĠĠĠ Ġ} Ċ } ĊĊĊ