package Ġio . st ip op . adapter . view holder Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . Motion Event Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . core . view . isVisible Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġio . st ip op . Config Ċ import Ġio . st ip op . R Ċ import Ġio . st ip op . St ip op Utils Ċ import Ġio . st ip op . adapter . Package Horizontal Adapter Ċ import Ġio . st ip op . custom . Horizontal Decoration Ċ import Ġio . st ip op . databinding . Item Horizontal St icker Thumb Container Binding Ċ import Ġio . st ip op . models . Cur ated Card Ċ import Ġio . st ip op . set St ip op Underline Color Ċ import Ġio . st ip op . event . Pack Click Delegate Ċ Ċ internal Ġclass ĠC uration Card Container ViewHolder ( ĊĠĠĠ Ġprivate Ġval Ġbinding : ĠItem Horizontal St icker Thumb Container Binding , ĊĠĠĠ Ġval Ġdelegate : ĠPack Click Delegate ? Ċ ) Ġ: ĊĠĠĠ ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġhorizontal Adapter : ĠPackage Horizontal Adapter Ġby Ġlazy Ġ{ ĠPackage Horizontal Adapter ( delegate Ġ= Ġdelegate ) Ġ} ĊĠĠĠ Ġprivate Ġval Ġdecoration Ġ= ĠHorizontal Decoration ( St ip op Utils . dp To Px ( 1 2 F ). toInt (), Ġ 0 , ĠSt ip op Utils . dp To Px ( 1 0 F ). toInt ()) ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( binding ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunder Line . set St ip op Underline Color () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle TextView . setTextColor ( Config . getTitle TextColor ( item View . context )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġre cyclerView . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremove Item Decoration ( decoration ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Item Decoration ( decoration ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd On Item Touch Listener ( listener ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbind ( cur ated Card : ĠCur ated Card ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġhorizontal Adapter . cur ated Card Ġ= Ġcur ated Card ĊĠĠĠĠĠĠĠ Ġbinding . container . isVisible Ġ= Ġcur ated Card Ġ!= Ġnull ĊĠĠĠĠĠĠĠ Ġcur ated Card ?. let Ġ{ Ġcard Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . title TextView . text Ġ= Ġcard . card Title ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . re cyclerView . adapter Ġ= Ġhorizontal Adapter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhorizontal Adapter . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclear Data () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Data ( card . package List ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent : ĠViewGroup , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelegate : ĠPack Click Delegate ? ĊĠĠĠĠĠĠĠ Ġ): ĠC uration Card Container ViewHolder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( parent . context ). inflate ( R . layout . item _ horizontal _ st icker _ thumb _ container , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĠItem Horizontal St icker Thumb Container Binding . bind ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠC uration Card Container ViewHolder ( binding , Ġdelegate ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġlistener Ġ= Ġobject Ġ: ĠRecyclerView . On Item Touch Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Intercept Touch Event ( rv : ĠRecyclerView , Ġe : ĠMotion Event ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrv . parent . request Dis allow Intercept Touch Event ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Touch Event ( rv : ĠRecyclerView , Ġe : ĠMotion Event ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Request Dis allow Intercept Touch Event ( dis allow Intercept : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ