package Ġcom . example . my jet pack application . business . video . view Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . example . my jet pack application . business . video . view . databinding . Item Video View Binding Ċ import Ġcom . example . my jet pack application . business . video . view . databinding . Item Video View Land Binding Ċ import Ġcom . github . se el ikes . android . media . Media Info Diff Util Ċ import Ġcom . github . se el ikes . android . media . data . Media Info Ċ import Ġcom . github . se el ikes . android . mv vm . basic . Basic Paged ListAdapter Ċ import Ġjava . lang . ref . Weak Reference Ċ Ċ private Ġconst Ġval ĠITEM _ TYPE _ VERTICAL Ġ= Ġ 0 Ċ private Ġconst Ġval ĠITEM _ TYPE _ HORIZONTAL Ġ= Ġ 1 Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġli ut iant ian Ġon Ġ 2 0 2 0 - 0 1 - 1 7 Ġ 2 2 : 2 1 Ġ æĺŁ æľŁ äºĶ Ċ Ġ*/ Ċ class ĠVideo View Adapter ( context : ĠContext , Ġitem ClickListener : Ġ( item : ĠMedia Info ?, Ġposition : ĠInt ) Ġ-> ĠUnit ) Ġ: ĠBasic Paged ListAdapter < Media Info , ĠVideo View ViewHolder <* >, ĠMedia Info Diff Util >( context , ĠMedia Info Diff Util (), Ġitem ClickListener ) Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠVideo View ViewHolder < *> Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( view Type Ġ== ĠITEM _ TYPE _ VERTICAL ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠVideo View ViewHolder ( Weak Reference ( context ), ĠItem Video View Binding . inflate ( LayoutInflater . from ( context ))) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠVideo View ViewHolder ( Weak Reference ( context ), ĠItem Video View Land Binding . inflate ( LayoutInflater . from ( context ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmedia Info Ġ= ĠgetItem ( position ) ĊĠĠĠĠĠĠĠ Ġmedia Info ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . width Ġ?: Ġ 0 Ġ> Ġit . height Ġ?: Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠITEM _ TYPE _ HORIZONTAL ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠITEM _ TYPE _ VERTICAL ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠITEM _ TYPE _ VERTICAL ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Detached From Window ( holder : ĠVideo View ViewHolder <* >) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Detached From Window ( holder ) ĊĠĠĠĠĠĠĠ Ġholder . on View Detached From Window () ĊĠĠĠ Ġ} Ċ }