package Ġcom . lag rad ost . quick no vel . ui . search ĊĊ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . card view . widget . Card View Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . lag rad ost . quick no vel . R Ċ import Ġcom . lag rad ost . quick no vel . Search Response Ċ import Ġcom . lag rad ost . quick no vel . util . Apis Ċ import Ġcom . lag rad ost . quick no vel . util . UI Helper . setImage Ċ import Ġkotlinx . android . synt hetic . main . home _ result _ grid . view .* Ċ Ċ class ĠHome Child Item Adapter ( ĊĠĠĠ Ġvar Ġcard List : ĠList < Search Response >, ĊĠĠĠ Ġprivate Ġval Ġclick Callback : Ġ( Search Click Callback ) Ġ-> ĠUnit Ċ ) Ġ: ĊĠĠĠ ĠRecyclerView . Adapter < RecyclerView . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠRecyclerView . ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlayout Ġ= ĠR . layout . home _ result _ grid ĊĠĠĠĠĠĠĠ Ġreturn ĠCard ViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ). inflate ( layout , Ġparent , Ġfalse ), Ġclick Callback ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠRecyclerView . ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( holder ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠCard ViewHolder Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . bind ( card List [ position ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcard List . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠCard ViewHolder ĊĠĠĠ Ġconstructor ( item View : ĠView , Ġprivate Ġval Ġclick Callback : Ġ( Search Click Callback ) Ġ-> ĠUnit ) Ġ: ĊĠĠĠĠĠĠĠ ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcard View : ĠImageView Ġ= ĠitemView . imageView ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġcard Text : ĠTextView Ġ= ĠitemView . image Text ĊĊĠĠĠĠĠĠĠ Ġ// val Ġcard Text Extra : ĠTextView ? Ġ= ĠitemView . image Text Extra ĊĠĠĠĠĠĠĠ Ġ// val Ġimage Text Provider : ĠTextView ? Ġ= ĠitemView . image Text Provider ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġbg : ĠCard View Ġ= ĠitemView . background Card ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind ( card : ĠSearch Response ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcard Text . text Ġ= Ġcard . name ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// image Text Provider . text Ġ= Ġcard . api Name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcard View . setImage ( card . poster Url , ĠAp is . get Api FromName OrNull ( card . api Name )?. main Url ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbg . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclick Callback . invoke ( Search Click Callback ( SEARCH _ ACTION _ LOAD , Ġit , Ġcard )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbg . setOn Long ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclick Callback . invoke ( Search Click Callback ( SEARCH _ ACTION _ SHOW _ METADATA , Ġit , Ġcard )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ setOn Long ClickListener Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ