package Ġcom . ch ans ax . vide op layer . adapter Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġbutter knife . BindView Ċ import Ġbutter knife . B utter Kn ife Ċ import Ġcom . ch ans ax . vide op layer . R Ċ import Ġcom . ch ans ax . vide op layer . data . Video Info Ċ import Ġcom . ch ans ax . vide op layer . glide . G lide App Ċ import Ġcom . ch ans ax . vide op layer . glide . G lide Options Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġch and an Ġon Ġ 2 0 1 9 - 0 8 - 3 1 . Ċ Ġ* Ċ Ġ* ĠThis Ġclass Ġis ĠAdapter Ġimplementation Ġfor Ġthe ĠRe cycler ĠView . Ċ Ġ*/ Ċ Ċ class ĠVideo Adapter ( ĊĠĠĠ Ġprivate Ġval Ġcontext : ĠContext , ĊĠĠĠ Ġval Ġadapter OnClick : Ġ( Any ) Ġ-> ĠUnit ? Ċ ) Ġ: ĠRecyclerView . Adapter < Video Adapter . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġitem List : ĠList < Video Info > Ġ= ĠlistOf () ĊĠĠĠ Ġprivate Ġval Ġg lide Options Ġ= ĠG lide Options (). frame ( 1 0 0 0 0 0 0 0 ) ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( context ). inflate ( R . layout . item _ video , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( view ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġitem List . get ( position ) ĊĠĠĠĠĠĠĠ Ġholder . itemName . text Ġ= Ġitem . title ĊĊĠĠĠĠĠĠĠ Ġitem . url . let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . index Ġ= Ġposition ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG lide App . with ( context ). load ( it ). apply ( glide Options ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. placeholder ( R . drawable . ic _ shortcut _ featured _ video ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. center Crop () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( holder . item Image ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġitem List . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Items ( items : ĠList < Video Info > ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( items Ġ== Ġnull Ġ|| Ġitems . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem List Ġ= Ġitems ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġnotify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ BindView ( R . id . video _ image ) ĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġitem Image : ĠImageView ĊĊĠĠĠĠĠĠĠ Ġ@ BindView ( R . id . video _ name ) ĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġitem Name : ĠTextView ĊĊĠĠĠĠĠĠĠ Ġvar Ġindex : ĠInt Ġ= Ġ- 1 ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠB utter Kn ife . bind ( this , ĠitemView ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . setOnClickListener Ġ{ Ġadapter OnClick ( index Ġas ĠAny ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }