package Ġdev . tran . nam . chart . charts ong . view . main . chart Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . databinding . Data Binding Component Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġdev . tran . nam . chart . charts ong . BR Ċ import Ġdev . tran . nam . chart . charts ong . R Ċ import Ġdev . tran . nam . chart . charts ong . databinding . Adapter Week Chart Binding Ċ import Ġnam . tran . data . executor . App Executors Ċ import Ġnam . tran . data . model . Week Chart Ċ import Ġtran . nam . common . Data Bound ListAdapter Ċ import Ġtran . nam . common . Data Bound ViewHolder Ċ Ċ open Ġclass ĠWeek Chart Adapter Ġconstructor ( app Executors : ĠApp Executors , Ġprivate Ġval Ġdata Binding Component : ĠData Binding Component ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ, Ġval Ġweek : Ġ( Week Chart , ĠInt ) Ġ-> ĠUnit ) ĊĠĠĠ Ġ: ĠData Bound ListAdapter < Week Chart , Adapter Week Chart Binding >( app Executors , object Ġ: ĠDiff Util . Item Callback < Week Chart > (){ ĊĠĠĠ Ġoverride Ġfun Ġare Items The Same ( old Item : ĠWeek Chart , Ġnew Item : ĠWeek Chart ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġold Item . id Ġ== Ġnew Item . id ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( old Item : ĠWeek Chart , Ġnew Item : ĠWeek Chart ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġold Item . name Ġ== Ġnew Item . name ĊĠĠĠ Ġ} Ċ }) Ġ{ ĊĊĠĠĠ Ġopen Ġvar Ġposition Ġ= Ġ 0 ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Binding ( parent : ĠViewGroup ): ĠAdapter Week Chart Binding Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ: ĠAdapter Week Chart Binding Ġ= ĠData Binding Util . inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . adapter _ week _ chart , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Binding Component ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġbinding ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠData Bound ViewHolder < Adapter Week Chart Binding > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġh oder Ġ= Ġsuper . onCreate ViewHolder ( parent , Ġview Type ) ĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= Ġh oder . binding ĊĠĠĠĠĠĠĠ Ġbinding . root . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . week ?. run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġposition Choose Ġ= Ġh oder . adapter Position ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( position Ġ!= Ġposition Choose ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetItem ( position ). is Choose Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġposition Ġ= Ġposition Choose ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetItem ( position ). is Choose Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweek . invoke ( this , position ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġh oder ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbind ( binding : ĠAdapter Week Chart Binding , Ġitem : ĠWeek Chart ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . week Ġ= Ġitem ĊĠĠĠ Ġ} Ċ }