package Ġcom . if ly tek . cyber . iot . show . core . adapter Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . if ly tek . cyber . iot . show . core . R Ċ import Ġcom . if ly tek . cyber . iot . show . core . model . Media Entity Ċ Ċ class ĠRecommend Media Adapter Ġ: ĠRecyclerView . Adapter < Media ViewHolder >() Ġ{ ĊĠĠĠ Ġenum Ġclass ĠC ols Type Ġ{ ĊĠĠĠĠĠĠĠ ĠTHREE _ COL S , ĠF IVE _ COL S ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġenum Ġclass ĠMediaType Ġ{ ĊĠĠĠĠĠĠĠ ĠA UDIO , ĠV IDE O ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠOn ItemClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġon Item Clicked ( view : ĠView , Ġposition : ĠInt ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġcols Type Ġ= ĠC ols Type . TH REE _ COL S ĊĠĠĠ Ġprivate Ġvar Ġmedia Type Ġ= ĠMediaType . AUDIO ĊĠĠĠ Ġprivate Ġvar Ġitem List : ĠList < Media Entity >? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġon ItemClickListener : ĠOn ItemClickListener ? Ġ= Ġnull ĊĊĠĠĠ Ġfun Ġset Cols Type ( type : ĠC ols Type ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcols Type Ġ= Ġtype ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset MediaType ( type : ĠMediaType ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmedia Type Ġ= Ġtype ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Items ( items : ĠList < Media Entity >) Ġ{ ĊĠĠĠĠĠĠĠ Ġitem List Ġ= Ġitems ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset On ItemClickListener ( listener : ĠOn ItemClickListener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġon ItemClickListener Ġ= Ġlistener ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠgetItem ( position : ĠInt ): ĠMedia Entity ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( item List Ġ== Ġnull ) Ġnull Ġelse Ġitem List ! ![ position ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠMedia ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( media Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMediaType . AUDIO Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( cols Type Ġ== ĠC ols Type . TH REE _ COL S ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMedia ViewHolder ( LayoutInflater . from ( parent . context ). inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . item _ recommend _ music _ three _ cols , Ġnull )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMedia ViewHolder ( LayoutInflater . from ( parent . context ). inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . item _ recommend _ music _ five _ cols , Ġnull )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMedia ViewHolder ( LayoutInflater . from ( parent . context ). inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . item _ recommend _ video , Ġnull )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( item List Ġ== Ġnull ) Ġ 0 Ġelse Ġitem List !!. size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠMedia ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . setItem ( getItem ( position ) !! , Ġposition ) ĊĠĠĠĠĠĠĠ Ġholder . setOnClickListener ( View . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon ItemClickListener ?. on Item Clicked ( it , Ġposition ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ }