package Ġcom . if ly tek . cyber . iot . show . core . adapter Ċ Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . dr ake et . mult it ype . Item View Binder Ċ import Ġcom . if ly tek . cyber . iot . show . core . R Ċ import Ġcom . if ly tek . cyber . iot . show . core . model . Result Ċ import Ġcom . if ly tek . cyber . iot . show . core . model . SearchResult ĊĊ Ċ class ĠAudio Type View Binder ( ĊĠĠĠ Ġval Ġon Item Click : Ġ( Result ) Ġ-> ĠUnit , ĊĠĠĠ Ġval Ġon More Click : Ġ( ArrayList < Result >) Ġ-> ĠUnit Ċ ) Ġ: ĊĠĠĠ ĠItem View Binder < SearchResult , ĠAudio Type View Binder . Audio Type Holder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġkeyword : ĠString Ġ= Ġ"" ĊĊĠĠĠ Ġfun Ġset Keyword ( keyword : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . keyword Ġ= Ġkeyword ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( in flater : ĠLayoutInflater , Ġparent : ĠViewGroup ): ĠAudio Type Holder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġinflater . inflate ( R . layout . item _ search _ audio , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠAudio Type Holder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠAudio Type Holder , Ġitem : ĠSearch Result ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( item . results Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . setup List ( item . results ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠAudio Type Holder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġaudio List Ġ= ĠitemView . findViewById < RecyclerView >( R . id . audio _ list ) ĊĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠAudio TypeList Adapter ({ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Item Click . invoke ( it ) ĊĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon More Click . invoke ( it ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġfun Ġsetup List ( results : ĠArrayList < Result >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . set Items ( results , Ġkeyword ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaudio List . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }