package Ġcom . project . io se ph k ne cht . single selection recyclerview . presentation . common . deleg ates Ċ Ċ import Ġandroidx . annotation . Drawable Res Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġcom . project . io se ph k ne cht . single selection recyclerview . presentation . common . ui . Custom Edit TextView Ċ import Ġcom . project . io se ph k ne cht . single selection recyclerview . presentation . common . view State . Select ableView State Ċ Ċ /** Ċ Ġ* ĠImplementation Ġof Ġ[ Abstract Adapter Delegate ] Ġfor Ġchanging Ġbackground Ġcolor Ġon Ġerror Ġstate . Ċ Ġ* Ċ Ġ* Ġ@ author ĠI ose ph K ne cht . Ċ Ġ*/ Ċ internal Ġclass ĠSelect able Error Delegate ( ĊĠĠĠ Ġ@ Drawable Res ĊĠĠĠ Ġprivate Ġval Ġdefault Background : ĠInt , ĊĠĠĠ Ġ@ Drawable Res ĊĠĠĠ Ġprivate Ġval Ġerror Background : ĠInt Ċ ) Ġ: ĠAbstract Adapter Delegate < Selectable Error Delegate . View Provider , ĠSelect ableView State > Ġ{ ĊĊĠĠĠ Ġinterface ĠView Provider Ġ: ĠAbstract Adapter Delegate . Base View Provider Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcustom EditText : ĠCustom Edit TextView ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbind ( view Provider : ĠView Provider , Ġelement : ĠSelect ableView State ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( view Provider ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbackground Res Ġ= Ġif Ġ( element . isValid ) Ġdefault Background Ġelse Ġerror Background ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcustom EditText . setValue Background ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠContext Compat . get Drawable ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview Provider . root View . context , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbackground Res ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }