package Ġcom . ph yt al . sar ona . ui . assignments Ċ Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . recyclerview . widget . ListAdapter Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . ph yt al . sar ona . R Ċ import Ġcom . ph yt al . sar ona . data . db . entities . Grade Diff Callback Ċ import Ġcom . ph yt al . sar ona . data . db . entities . Grade Type Ċ import Ġcom . ph yt al . sar ona . databinding . Grade Item Binding Ċ import Ġkotlin . math . round ToInt Ċ Ċ class ĠGr ade Type Adapter : ĠList Adapter < Grade Type , ĠGr ade Type Holder >( Grade Diff Callback ) Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠGr ade Type Holder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠGr ade Type Holder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGr ade Item Binding . inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠGr ade Type Holder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( getItem ( position )) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠGr ade Type Holder Ġ( ĊĠĠĠ Ġprivate Ġval Ġbinding : ĠGr ade Item Binding , Ċ ) Ġ: ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĠĠĠ Ġfun Ġbind ( grade Type : ĠGr ade Type ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . grade Category . text Ġ= Ġgrade Type . category ĊĠĠĠĠĠĠĠ Ġbinding . grade Average . text Ġ= ĠString . format ("% . 2 f ", Ġ(( grade Type . grade Ġ* Ġ 1 0 0 ). round ToInt ()/ 1 0 0 . 0 )) ĊĠĠĠĠĠĠĠ Ġval Ġweight String Ġ= Ġ" Weight : Ġ" Ġ+ Ġgrade Type . weight ĊĠĠĠĠĠĠĠ Ġbinding . grade Weight . text Ġ= Ġweight String ĊĠĠĠĠĠĠĠ Ġbinding . grade Type Ġ= Ġgrade Type ĊĠĠĠĠĠĠĠ Ġbinding . assignment Card . stroke Color Ġ= Ġwhen Ġ( grade Type . category ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Major ĠGr ades " Ġ-> ĠContext Compat . getColor ( binding . root . context , ĠR . color . grade s _ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Minor ĠGr ades " Ġ-> ĠContext Compat . getColor ( binding . root . context , ĠR . color . grade s _ 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Non - graded " Ġ-> ĠContext Compat . getColor ( binding . root . context , ĠR . color . grade s _ 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠContext Compat . getColor ( binding . root . context , ĠR . color . grade s _ 4 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊ