package Ġcom . github . mu hw yn dh am hp . q omp ute . ui . adapter Ċ Ċ import Ġandroid . content . res . Typed Array Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . bump tech . glide . Request Manager Ċ import Ġcom . github . mu hw yn dh am hp . q omp ute . R Ċ import Ġcom . github . mu hw yn dh am hp . q omp ute . utils . Main RecyclerView Com municator Ċ import Ġkotlinx . android . synt hetic . main . item _ browse . view .* Ċ import Ġorg . jetbrains . ank o . sdk 2 7 . coroutines . onClick Ċ Ċ class ĠB rowse Adapter ( ĊĠĠĠ Ġprivate Ġval Ġmain Interface : ĠMain RecyclerView Com municator , ĊĠĠĠ Ġprivate Ġval Ġg lide : ĠRequest Manager Ċ ) Ġ: ĠRecyclerView . Adapter < Browse Adapter . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġclass ĠViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind View ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcategory : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcategory Drawable : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġg lide : ĠRequest Manager ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . tv _ category . text Ġ= Ġcategory ĊĠĠĠĠĠĠĠĠĠĠĠ Ġg lide . load ( category Drawable ). into ( item View . iv _ category ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġlateinit Ġvar Ġcategories : ĠList < String > ĊĠĠĠ Ġlateinit Ġvar Ġcategories Drawable Ġ: ĠTyped Array ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠB rowse Adapter . ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġv h Ġ= ĠViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. from ( parent . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . item _ browse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġv h . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . onClick Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmain Interface . show Loading (" Mem u at Ġdata ...", Ġ" Loading ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmain Interface . start Component List Activity ( main Interface . getComponent Endpoint Array ()[ vh . adapter Position ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmain Interface . dismiss Loading () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġv h ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġcategories . size ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠB rowse Adapter . ViewHolder , Ġposition : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠ Ġholder . bind View ( categories [ position ], Ġcategories Drawable . getResource Id ( position , Ġ 0 ), Ġg lide ) Ċ Ċ }