package Ġcom . ash . smp la qi . ui . fragments . home Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . ash . smp la qi . data . model . City A qi Ċ import Ġcom . ash . smp la qi . databinding . Item A qi Cell Binding Ċ import Ġcom . ash . smp la qi . get A qi Status Ċ import Ġcom . ash . smp la qi . merge New And Old List Ċ import Ġcom . ash . smp la qi . round To Ċ import Ġjava . util . ArrayList Ċ Ċ class ĠA qi ListAdapter ( private Ġval Ġon City Clicked : Ġ( City A qi ) Ġ-> ĠUnit ) Ġ: ĊĠĠĠ ĠRecyclerView . Adapter < A qi ListAdapter . A qi ListView Holder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġcity A qi List : ĠArrayList < City A qi > Ġ= Ġarray ListOf () ĊĊĠĠĠ Ġfun Ġupdate List ( data List : ĠList < City A qi >) Ġ{ ĊĠĠĠĠĠĠĠ Ġmerge New And Old List ( data List , Ġcity A qi List ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠA qi ListView Holder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Binding Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem A qi Cell Binding . inflate ( LayoutInflater . from ( parent . context ), Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠA qi ListView Holder ( item Binding , Ġon City Clicked ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠA qi ListView Holder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġa qi Bean Ġ= Ġcity A qi List [ position ] ĊĠĠĠĠĠĠĠ Ġholder . bind ( a qi Bean ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġcity A qi List . size ĊĊĠĠĠ Ġinner Ġclass ĠA qi ListView Holder ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġitem Binding : ĠItem A qi Cell Binding , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġon City Clicked : Ġ( City A qi ) Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ: ĠRecyclerView . ViewHolder ( item Binding . root ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbind ( city A qi : ĠCity A qi ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem Binding . txt City . text Ġ= Ġcity A qi . city ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem Binding . txt A qi . text Ġ= Ġcity A qi . a qi . round To ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem Binding . txt A qi Status . text Ġ= Ġget A qi Status ( city A qi . a qi ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem Binding . txt Last Updated . text Ġ= Ġcity A qi . last Updated ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġa qi Color Ġ= Ġcity A qi . a qi Color ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( a qi Color Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Binding . view 2 . set BackgroundColor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠContext Compat . getColor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Binding . root . context , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa qi Color ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . setOnClickListener Ġ{ Ġon City Clicked ( city A qi ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊ