package Ġcom . pa av am . note me . presentation Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . res . Color State List Ċ import Ġandroid . graphics . Color Filter Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroidx . annotation . Color Res Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . core . widget . ImageView Compat Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . pa av am . core . data . Note Ċ import Ġcom . pa av am . note me . R Ċ import Ġkotlinx . android . synt hetic . main . item _ note . view .* Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* Ċ Ċ class ĠNotes ListAdapter ( var Ġnotes : ĠArrayList < Note >, Ġval Ġactions : ĠList Action ) Ġ: ĊĠĠĠ ĠRecyclerView . Adapter < Notes ListAdapter . Note ViewHolder >() Ġ{ ĊĊĠĠĠ Ġfun Ġupdate Notes ( new Notes : ĠList < Note > ){ ĊĠĠĠĠĠĠĠ Ġnotes . clear () ĊĠĠĠĠĠĠĠ Ġnotes . addAll ( new Notes ) ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ) Ġ= ĠNote ViewHolder ( ĊĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ). inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . item _ note , Ġparent , Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠNote ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( notes [ position ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġnotes . size ĊĊĠĠĠ Ġinner Ġclass ĠNote ViewHolder ( view : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlayout Ġ= Ġview . note Layout ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġnote Title Ġ= Ġview . title ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġnote Content Ġ= Ġview . content ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġnote Date Ġ= Ġview . date ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġnote Words Ġ= Ġview . word Count ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġnote Priority Ġ= Ġview . priority ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind ( note : ĠNote ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnote Title . text Ġ= Ġnote . title ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnote Content . text Ġ= Ġnote . content ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsdf Ġ= ĠSimpleDateFormat (" MMM Ġdd , ĠHH : mm ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Date Ġ= ĠDate ( note . update Time ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnote Date . text Ġ= Ġ" Updated : Ġ${ sdf . format ( result Date )}" ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactions . onClick ( note . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġnote Words . text Ġ= Ġ" Words : Ġ${ note . word Count }" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen ( note . priority ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> Ġnote Priority . set Tint ( note Priority . context , ĠR . color . low _ priority ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġnote Priority . set Tint ( note Priority . context , ĠR . color . medium _ priority ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> Ġnote Priority . set Tint ( note Priority . context , ĠR . color . high _ priority ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun ĠImageView . set Tint ( context : ĠContext , Ġ@ Color Res Ġcolor Id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcolor Ġ= ĠContext Compat . getColor ( context , Ġcolor Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcolor State List Ġ= ĠColor State List . valueOf ( color ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠImageView Compat . setImage Tint List ( this , Ġcolor State List ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }