package Ġcom . the sur ix . example . gest urer ec y cl er . adapter Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . annotation . Layout Res Ċ import Ġcom . the sur ix . example . gest urer ec y cl er . R Ċ import Ġcom . the sur ix . example . gest urer ec y cl er . databinding . Grid Item Binding Ċ import Ġcom . the sur ix . example . gest urer ec y cl er . databinding . Header Item Binding Ċ import Ġcom . the sur ix . example . gest urer ec y cl er . databinding . Linear Item Binding Ċ import Ġcom . the sur ix . example . gest urer ec y cl er . databinding . Linear Item With Background Binding Ċ import Ġcom . the sur ix . example . gest urer ec y cl er . model . Month Item Ċ import Ġcom . the sur ix . gest urer ec y cl er . Gesture Adapter Ċ import Ġcom . the sur ix . gest urer ec y cl er . Gesture ViewHolder Ċ Ċ class ĠMonth s Adapter (@ param : Layout Res Ġprivate Ġval Ġm Item Res Id : ĠInt ) Ġ: ĠGest ure Adapter < Month Item , ĠGest ure ViewHolder < Month Item >>() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠGest ure ViewHolder < Month Item > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( view Type Ġ== ĠMonth Item . Month ItemType . MONTH . ordinal ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( m Item Res Id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . linear _ item Ġ-> ĠLinear Item ViewHolder ( Linear Item Binding . inflate ( LayoutInflater . from ( parent . context ), Ġparent , Ġfalse )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . linear _ item _ with _ background Ġ-> ĠLinear Item With Background ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLinear Item With Background Binding . inflate ( LayoutInflater . from ( parent . context ), Ġparent , Ġfalse )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . grid _ item Ġ-> ĠGrid Item ViewHolder ( Grid Item Binding . inflate ( LayoutInflater . from ( parent . context ), Ġparent , Ġfalse )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠUnsupportedOperationException (" Unsupported Ġresource ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHeader ViewHolder ( Header Item Binding . inflate ( LayoutInflater . from ( parent . context ), Ġparent , Ġfalse )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠgetItem ( position ). type . ordinal ĊĠĠĠ Ġ} Ċ } Ċ