package Ġcom . in fin um . sentinel . ui . bundles Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . ListAdapter Ċ import Ġcom . in fin um . sentinel . databinding . Sent inel Item Bundle Binding Ċ import Ġcom . in fin um . sentinel . domain . bundle . descriptor . models . Bundle Descriptor Ċ Ċ internal Ġclass ĠBund les Adapter ( ĊĠĠĠ Ġprivate Ġval Ġon List Changed : Ġ( Boolean ) Ġ-> ĠUnit , ĊĠĠĠ Ġprivate Ġval ĠonClick : Ġ( Bundle Descriptor ) Ġ-> ĠUnit Ċ ) Ġ: ĠList Adapter < Bundle Descriptor , ĠBundle ViewHolder >( Bund les Diff Util ()) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠBundle ViewHolder Ġ= ĊĠĠĠĠĠĠĠ ĠBundle ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSentinel Item Bundle Binding . inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠBundle ViewHolder , Ġposition : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠ Ġholder . bind ( getItem ( position ), ĠonClick ) ĊĊĠĠĠ Ġoverride Ġfun Ġon View Re cyc led ( holder : ĠBundle ViewHolder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . unbind () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Current List Changed ( ĊĠĠĠĠĠĠĠ Ġprevious List : ĠMutable List < Bundle Descriptor >, ĊĠĠĠĠĠĠĠ Ġcurrent List : ĠMutable List < Bundle Descriptor > ĊĠĠĠ Ġ) Ġ= ĊĠĠĠĠĠĠĠ Ġon List Changed ( current List . isEmpty ()) Ċ } Ċ