package Ġcom . ge eks medi ap icker . adapters Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . ge eks medi ap icker . databinding . ListItem Media Binding Ċ import Ġcom . ge eks medi ap icker . interfaces . ItemClickListener Ċ import Ġcom . ge eks medi ap icker . models . Media Store Data Ċ import Ġjava . util .* Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ class ĠMedia Adapter ( ĊĠĠĠ Ġprivate Ġval Ġlist : ĠArrayList < Media Store Data >, ĊĠĠĠ Ġprivate Ġval Ġitem ClickListener : ĠItem ClickListener Ċ ) Ġ: ĠRecyclerView . Adapter < Media Adapter . My ViewHolder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠMy ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinflater Ġ= ĠLayoutInflater . from ( parent . context ) ĊĠĠĠĠĠĠĠ Ġreturn ĠMy ViewHolder ( ListItem Media Binding . inflate ( in flater )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlist . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠMy ViewHolder , Ġposition : ĠInt ) Ġ= Ġholder . bind ( position ) ĊĊĠĠĠ Ġinner Ġclass ĠMy ViewHolder ( private Ġval Ġbinding : ĠListItem Media Binding ) Ġ: ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbind ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmodel Ġ= Ġlist [ position ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . media Data Ġ= Ġmodel ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . item Position Ġ= Ġposition ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . click Listener Ġ= Ġitem ClickListener ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġminutes Ġ= ĠTimeUnit . MILLISECONDS . to Minutes ( model . media _ duration ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġseconds Ġ= ĠTimeUnit . MILLISECONDS . to Seconds ( model . media _ duration ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . tv Media Duration . text Ġ= ĠString . format ("% d :% d Ġs ", Ġminutes , Ġseconds ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . execute Pending Bindings () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ