package Ġcom . br . ap imer cad ol iv re . search products . ui . list . view holder . builder Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . annotation . Int Def Ċ import Ġandroidx . annotation . Layout Res Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . br . ap imer cad ol iv re . R Ċ import Ġcom . br . ap imer cad ol iv re . search products . ui . list . view holder . Empty State ViewHolder Ċ import Ġcom . br . ap imer cad ol iv re . search products . ui . list . view holder . Product ViewHolder Ċ import Ġjava . lang . Exception Ċ import Ġjava . lang . IllegalArgumentException Ċ Ċ object ĠBuilder ViewHolder Ġ{ ĊĊĠĠĠ Ġ@ Int Def ( ĊĠĠĠĠĠĠĠ ĠVIEW _ HOLDER _ PRODUCT _ LIST , ĊĠĠĠĠĠĠĠ ĠVIEW _ HOLDER _ EMPTY _ STATE ĊĠĠĠ Ġ) ĊĠĠĠ Ġ@ Retention ( Annotation Retention . SOURCE ) ĊĠĠĠ Ġannotation Ġclass ĠView Type ĊĊĠĠĠ Ġconst Ġval ĠVIEW _ HOLDER _ EMPTY _ STATE Ġ= Ġ 0 ĊĠĠĠ Ġconst Ġval ĠVIEW _ HOLDER _ PRODUCT _ LIST Ġ= Ġ 1 ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġbuild ( ĊĠĠĠĠĠĠĠ Ġ@ ViewType Ġview Type : ĠInt , ĊĠĠĠĠĠĠĠ Ġview Group : ĠViewGroup , ĊĠĠĠĠĠĠĠ Ġdefault Builder : Ġ(() Ġ-> ĠRecyclerView . ViewHolder )? Ġ= Ġnull ĊĠĠĠ Ġ): ĠRecyclerView . ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( view Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVIEW _ HOLDER _ EMPTY _ STATE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEmpty State ViewHolder ( getView ( view Group , ĠR . layout . layout _ empty _ state )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVIEW _ HOLDER _ PRODUCT _ LIST Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProduct ViewHolder ( getView ( view Group , ĠR . layout . layout _ item _ product )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Builder ?. run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġthrow ĠIllegalArgumentException ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" N en hum ĠView Type Ġfoi Ġident ific ado Ġe Ġa Ġfunc ao " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġde Ġconstr uir ĠViewHolder Ġn ao Ġfoi Ġdefin ida " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget View ( view Group : ĠViewGroup , Ġ@ Layout Res Ġlayout : ĠInt ): ĠView Ġ= ĊĠĠĠĠĠĠĠ ĠLayoutInflater . from ( view Group . context ). inflate ( layout , Ġview Group , Ġfalse ) Ċ Ċ }