package Ġcom . mrb . remember . presentation . levels . adapter Ċ Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . mrb . remember . R Ċ import Ġcom . mrb . remember . domain . extension . inflate Ċ import Ġcom . mrb . remember . domain . model . Level Ċ import Ġkotlin . properties . Deleg ates Ċ Ċ class ĠLevel s Adapter Ġ: ĠRecyclerView . Adapter < Level ViewHolder >() Ġ{ ĊĊĠĠĠ Ġvar Ġlevels : ĠList < Level > Ġby ĠDeleg ates . observable ( emptyList ()) Ġ{ Ġ_, Ġ_, Ġ_ Ġ-> Ġnotify DataSet Change () Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠLevel ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġparent . inflate ( R . layout . level _ list _ item ) ĊĠĠĠĠĠĠĠ Ġreturn ĠLevel ViewHolder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠLevel ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlevel Ġ= Ġlevels [ position ] ĊĠĠĠĠĠĠĠ Ġholder . render ( level ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlevels . count () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġnotify DataSet Change () Ġ{ ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} Ċ }