package Ġpl . robert s re bers ki . k etch up . scenes . main . components Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġkotlinx . android . synt hetic . main . item _ project . view .* Ċ import Ġpl . robert s re bers ki . k etch up . R Ċ import Ġpl . robert s re bers ki . k etch up . po jos . Project Ċ Ċ /** Ċ Ġ* ĠAuthor : ĠRobert ĠS re bers ki Ċ Ġ* ĠCreation Ġtime : Ġ 2 1 : 2 3 Ġ 1 3 / 0 5 / 2 0 1 8 Ċ Ġ* ĠPackage Ġname : Ġpl . robert s re bers ki . k etch up . scenes . main . components Ċ Ġ*/ Ċ class ĠProject ListAdapter Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠ Ġvar Ġdata : ĠList < Project >, ĊĠĠĠĠĠĠĠ Ġval Ġon Project Selected : Ġ( Project ) Ġ-> ĠUnit Ċ ) Ġ: ĠRecyclerView . Adapter < Project ListAdapter . Project ViewHolder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠProject ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġroot Ġ= ĠLayoutInflater . from ( context ). inflate ( R . layout . item _ project , Ġparent , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠProject ViewHolder ( root ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= Ġdata . size ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠProject ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġproject Ġ= Ġdata [ position ] ĊĊĠĠĠĠĠĠĠ Ġholder . name Ġ= Ġproject . name ĊĠĠĠĠĠĠĠ Ġholder . color Ġ= ĠColor . parse Color ( project . color ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Projects ( projects : ĠList < Project >) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata Ġ= Ġprojects ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠProject ViewHolder Ġconstructor ( item View : ĠView ) ĊĠĠĠĠĠĠĠ Ġ: ĠRecyclerView . ViewHolder ( item View ), ĠView . OnClickListener Ġ{ ĊĊĠĠĠĠĠĠĠ Ġvar Ġcolor : ĠInt ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . project Color . set Card BackgroundColor ( value Ġ?: ĠColor . WHITE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġname : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . projectName . text Ġ= Ġvalue Ġ?: Ġ" Default Ġproject " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick ( p 0 : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Project Selected ( data [ adapter Position ]) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }