package Ġfr . free . n rw . commons . upload . categories Ċ Ċ import Ġandroid . view . View Ċ import Ġcom . h ann es dor fm ann . adapter deleg ates 4 . dsl . adapter Delegate View Binding Ċ import Ġfr . free . n rw . commons . R Ċ import Ġfr . free . n rw . commons . category . Category Item Ċ import Ġfr . free . n rw . commons . databinding . Layout Upload Categories Item Binding Ċ Ċ fun Ġupload Category Delegate ( on Category Clicked : Ġ( Category Item ) Ġ-> ĠUnit ) Ġ= ĊĠĠĠ Ġadapter Delegate View Binding < Category Item , ĠCategory Item , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLayout Upload Categories Item Binding >({ Ġlayout Inflater , Ġroot Ġ-> ĊĠĠĠĠĠĠĠ ĠLayout Upload Categories Item Binding . inflate ( layout Inflater , Ġroot , Ġfalse ) ĊĠĠĠ Ġ}) Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠonClick Listener Ġ= Ġ{ Ġ_: ĠView ? Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . isSelected Ġ= Ġ! item . isSelected ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . upload Category Checkbox . isChecked Ġ= Ġitem . isSelected ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Category Clicked ( item ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . root . setOnClickListener ( on ClickListener ) ĊĠĠĠĠĠĠĠ Ġbinding . upload Category Checkbox . setOnClickListener ( on ClickListener ) ĊĊĠĠĠĠĠĠĠ Ġbind Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . upload Category Checkbox . isChecked Ġ= Ġitem . isSelected ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . category Label . text Ġ= Ġitem . name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( item . thumbnail Ġ!= Ġ" null ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . category Image . setImage URI ( item . thumbnail ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . category Image . set Actual Image Resource ( R . drawable . commons ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( item . description Ġ!= Ġ" null ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . category Description . text Ġ= Ġitem . description ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . category Description . text Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ