package Ġcom . and ri y bob ch uk . my room demo . adapters Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . res . Resources Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . LinearLayout Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . card view . widget . Card View Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ Ċ import Ġcom . and ri y bob ch uk . my room demo . R Ċ import Ġcom . and ri y bob ch uk . my room demo . room . Account Dao Ċ import Ġcom . and ri y bob ch uk . my room demo . room . Account Entity Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . os . Build Ċ Ċ import Ġandroid . util . Display Metrics Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . annotation . Requires Api Ċ import Ġandroidx . core . content . Context Compat . startActivity Ċ import Ġcom . and ri y bob ch uk . my room demo . activities . Create Account Activity Ċ import Ġcom . and ri y bob ch uk . my room demo . activities . Update Account Activity Ċ import Ġcom . and ri y bob ch uk . my room demo . dialogs . Account Design Dialog Ċ import Ġcom . and ri y bob ch uk . my room demo . room . Transaction Dao Ċ import Ġcom . and ri y bob ch uk . my room demo . room . Transaction Entity Ċ import Ġandroid . text . format . DateFormat ; Ċ import Ġandroid . widget . Button Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġcom . and ri y bob ch uk . my room demo . util . My Date Converter Ċ import Ġjava . text . SimpleDateFormat Ċ import Ġjava . util .* Ċ import Ġkotlin . collections . ArrayList Ċ Ċ open Ġclass ĠMonth s Item Adapter ( ĊĠĠĠ Ġprivate Ġval Ġcontext : ĠContext , ĊĠĠĠ Ġprivate Ġvar Ġlist : ĠArrayList < Transaction Entity > Ċ ) Ġ: ĠRecyclerView . Adapter < RecyclerView . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġvar ĠonClick Listener : ĠOn ClickListener ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġchecked Position Ġ= Ġ 0 ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠRecyclerView . ViewHolder Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( context ). inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . item _ month , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn ĠMy ViewHolder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" Notify DataSet Changed ") ĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠRecyclerView . ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmodel Ġ= Ġlist [ position ] ĊĊĠĠĠĠĠĠĠ Ġif Ġ( holder Ġis ĠMy ViewHolder ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠBind Ġitems ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtv Year Ġ= Ġholder . item View . findViewById < TextView >( R . id . tv _ year ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtv Month Ġ= Ġholder . item View . findViewById < TextView >( R . id . tv _ month ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSetup Ġitems ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Year . text Ġ= ĠMy Date Converter ( model . date ). year ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Month . text Ġ= ĠMy Date Converter ( model . date ). month String ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSet Ġselection ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( checked Position Ġ== Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSwitch Ġit Ġoff ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Month . set BackgroundColor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠContext Compat . getColor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . color . grey _ background _ color ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Month . setTextColor ( Context Compat . getColor ( context , ĠR . color . black )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( checked Position Ġ== Ġposition ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSwitch Ġon ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Month . set BackgroundColor ( Context Compat . getColor ( context , ĠR . color . black )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Month . setTextColor ( Context Compat . getColor ( context , ĠR . color . white )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSwitch Ġoff ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Month . set BackgroundColor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠContext Compat . getColor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . color . grey _ background _ color ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Month . setTextColor ( Context Compat . getColor ( context , ĠR . color . black )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( on ClickListener Ġ!= Ġnull ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠChange Ġselection ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( checked Position Ġ!= Ġposition ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠUpdate Ġthe Ġtwo Ġitems Ġwe Ġswap Ġselection Ġbetween ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠNow Ġthis Ġitem Ġis Ġselected ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchecked Position Ġ= Ġposition ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠChange Ġreport Ġdata ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Listener !!. onClick ( position , Ġmodel ) Ġ// Ġmodel Ġ= Ġlist [ position ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGets Ġthe Ġnumber Ġof Ġitems Ġin Ġthe Ġlist ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlist . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset OnClickListener ( on ClickListener : ĠOn ClickListener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . on ClickListener Ġ= ĠonClick Listener Ġ// ĠBasic Ġsetter Ġfunction ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠOn ClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠonClick ( position : ĠInt , Ġmodel : ĠTransaction Entity ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠA ĠViewHolder Ġdescribes Ġan Ġitem Ġview Ġand Ġmetadata Ġabout Ġits Ġplace Ġwithin Ġthe ĠRecyclerView . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġclass ĠMy ViewHolder ( view : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ċ }