package Ġcom . will j ane . te ab u ddy . adapters Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . will j ane . te ab u ddy . R Ċ import Ġcom . will j ane . te ab u ddy . utils . DAO . Te a Realm DAO Ċ import Ġcom . will j ane . te ab u ddy . view models . MainActivity ViewModel Ċ Ċ class ĠEn cy clo pedia ListAdapter ( private Ġval Ġvm : ĠMainActivity ViewModel , Ġprivate Ġval Ġcontext : ĠContext ): ĠRecyclerView . Adapter < En cy clo pedia ListAdapter . En cy clo pedia ViewHolder > (){ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠEn cy clo pedia ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠEn cy clo pedia ViewHolder ( LayoutInflater . from ( parent . context ). inflate ( R . layout . cell _ ency clo pedia _ item , Ġparent , Ġfalse )). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtea Name Ġ= ĠitemView . findViewById ( R . id . ency clo pedia _ list _ text ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtea Image Ġ= ĠitemView . findViewById ( R . id . ency clo pedia _ list _ image ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfav Star Ġ= ĠitemView . findViewById ( R . id . fav Star ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent Te a Name Ġ= ĠitemView . findViewById ( R . id . ency clo pedia _ list _ parent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠEn cy clo pedia ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtea Ġ= Ġvm . tea List [ position ] ĊĠĠĠĠĠĠĠ Ġholder . tea Name . text Ġ= Ġtea . tea Name ĊĠĠĠĠĠĠĠ Ġholder . parent Te a Name . text Ġ= Ġtea . parent Te a . capitalize () ĊĊĠĠĠĠĠĠĠ Ġval Ġis Fav Ġ= ĠT ea Realm DAO . is Fav ( tea . tea Id ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( is Fav ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . fav Star . setColor Filter ( context . getColor ( R . color . purple Dark )) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . fav Star . setColor Filter ( context . getColor ( R . color . white )) ĊĠĠĠĠĠĠĠ Ġ} Ċ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġholder . tea Image . setImage Bitmap ( url To Bitmap ( tea . imageUrl )) Ċ // ĠĠĠĠĠĠĠ ĠDownload Image Task ( holder . tea Image ). execute ( tea . imageUrl ) ĊĠĠĠĠĠĠĠ ĠG lide . with ( context ). load ( tea . imageUrl ). into ( holder . tea Image ) ĊĊĠĠĠĠĠĠĠ Ġholder . tea Name . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvm . current Te a . value Ġ= Ġtea ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġholder . tea Image . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvm . current Te a . value Ġ= Ġtea ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġholder . fav Star . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT ea Realm DAO . toggle Fav ( tea . tea Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvm . tea List . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠEn cy clo pedia ViewHolder ( item View : ĠView ): ĠRecyclerView . ViewHolder ( item View ){ ĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġtea Name : ĠTextView ĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġtea Image : ĠImageView ĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġparent Te a Name : ĠTextView ĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġfav Star Ġ: ĠImageView ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject { ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTAG Ġ= Ġ" En cy clo pedia ListAdapter " ĊĠĠĠ Ġ} Ċ }