package Ġcom . upload care . android . widget . adapter Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Array Adapter Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġcom . upload care . android . widget . R Ċ import Ġcom . upload care . android . widget . data . Chunk Ċ import Ġcom . upload care . android . widget . databinding . U cw Spinner Row Binding Ċ import Ġcom . upload care . android . widget . databinding . U cw Toolbar Spinner Item Binding Ċ Ċ class ĠToolbar Spinner Adapter ( context : ĠContext ) ĊĠĠĠ Ġ: ĠArray Adapter < Chunk >( context , ĠR . layout . uc w _ spinner _ row ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġchunks Ġ= Ġmutable ListOf < Chunk >() ĊĠĠĠ Ġprivate Ġval Ġinflater Ġ= Ġcontext . getSystem Service ( Context . LAYOUT _ IN FL ATER _ SERVICE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġas ĠLayoutInflater ĊĊĠĠĠ Ġoverride Ġfun Ġclear () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . clear () ĊĠĠĠĠĠĠĠ Ġchunks . clear () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate Items ( data : ĠList < Chunk >) Ġ{ ĊĠĠĠĠĠĠĠ Ġchunks . clear () ĊĠĠĠĠĠĠĠ Ġchunks . addAll ( data ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġchunks . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ( position : ĠInt ): ĠChunk ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġchunks [ position ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Id ( position : ĠInt ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġposition . to Long () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget DropDown View ( position : ĠInt , ĠconvertView : ĠView ?, Ġparent : ĠViewGroup ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĠconvertView ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠData Binding Util . get Binding < U cw Spinner Row Binding >( convert View ) ĊĠĠĠĠĠĠĠ Ġ} Ġ?: ĠU cw Spinner Row Binding . inflate ( in flater , Ġparent , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġbinding . text Ġ= Ġget Title ( position ) ĊĠĠĠĠĠĠĠ Ġbinding . execute Pending Bindings () ĊĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget View ( position : ĠInt , ĠconvertView : ĠView ?, Ġparent : ĠViewGroup ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĠconvertView ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠData Binding Util . get Binding < U cw Toolbar Spinner Item Binding >( convert View ) ĊĠĠĠĠĠĠĠ Ġ} Ġ?: ĠU cw Toolbar Spinner Item Binding . inflate ( in flater , Ġparent , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġbinding . text Ġ= Ġget Title ( position ) ĊĠĠĠĠĠĠĠ Ġbinding . execute Pending Bindings () ĊĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Title ( position : ĠInt ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġchunks [ position ]. title ĊĠĠĠ Ġ} Ċ }