package Ġnet . comp o za . de activ ator . adapters Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . jetbrains . hand son . mpp . mobile . databinding . Plugin ListItem Binding Ċ import Ġdev . icer ock . mo ko . mv vm . li ved ata . Mutable LiveData Ċ import Ġnet . comp o za . de activ ator . db . Server Ċ import Ġnet . comp o za . de activ ator . mpp . model . Plugin Model Ċ import Ġnet . comp o za . de activ ator . mpp . model . Plugin ViewModel Ċ Ċ class ĠPlugins Adapter ( ĊĠĠĠ Ġvar Ġserver : ĠServer , ĊĠĠĠ Ġvar Ġitems : ĠMutable LiveData < List < Plugin Model >> Ċ ) Ġ: ĠRecyclerView . Adapter < Plugins Adapter . Item Table ViewHolder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( ĊĠĠĠĠĠĠĠ Ġparent : ĠViewGroup , ĊĠĠĠĠĠĠĠ Ġview Type : ĠInt ĊĠĠĠ Ġ): ĠItem Table ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠItem Table ViewHolder ( Plugin ListItem Binding . inflate ( LayoutInflater . from ( parent . context ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġitems . value . size ĊĊĠĠĠ Ġfun Ġrefresh List ( items : ĠMutable LiveData < List < Plugin Model >>) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . items Ġ= Ġitems ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠItem Table ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( items . value [ position ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠItem Table ViewHolder ( private Ġval Ġbinding : ĠPlugin ListItem Binding ) Ġ: ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbind ( item : ĠPlugin Model ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . item Ġ= Ġitem ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . server Ġ= Ġserver ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . handler Ġ= ĠPlugin ViewModel () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . execute Pending Bindings () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }