package Ġcom . pr ush . just another player . ui . tracks library Ċ Ċ import Ġandroid . graphics . drawable . Gradient Drawable Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġcom . pr ush . just another player . R Ċ import Ġcom . pr ush . just another player . base . Base ViewHolder Ċ import Ġcom . pr ush . just another player . base . Recycler Adapter Ċ import Ġcom . pr ush . just another player . model . Track _ State Ċ import Ġcom . pr ush . just another player . utils . getTime String From Seconds Ċ Ċ open Ġclass ĠTrack ViewHolder ( item View : ĠView ) Ġ: ĠBase ViewHolder ( item View ), ĠTrack Item Row Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġset Duration ( duration : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġduration TextView : ĠTextView Ġ= ĠitemView . findViewById ( R . id . duration TextView ) ĊĠĠĠĠĠĠĠ Ġduration TextView . text Ġ= ĠgetTime String From Seconds ( duration Ġ/ Ġ 1 0 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Track State ( ĊĠĠĠĠĠĠĠ Ġstate : ĠTrack _ State , ĊĠĠĠĠĠĠĠ Ġlistener : ĠRe cycler Adapter . On Item Inter acted Listener ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontainer : ĠViewGroup Ġ= ĠitemView . findViewById ( R . id . row Layout ) ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( state ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrack _ State . PLAY ED Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer . alpha Ġ= Ġ 0 . 5 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer . background Ġ= ĠitemView . resources . get Drawable ( R . drawable . custom _ ripple ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset On Touch Listener ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrack _ State . PLAY ING , ĠTrack _ State . PA USED Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer . alpha Ġ= Ġ 1 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset On Touch Listener ( null ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgradient Drawable Ġ= ĠGradient Drawable ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGradient Drawable . Orientation . LEFT _ RIGHT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġint ArrayOf ( R . color . color Accent , ĠR . color . color Primary ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgradient Drawable . gradient Type Ġ= ĠGradient Drawable . LINEAR _ GRAD IENT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer . background Ġ= Ġgradient Drawable ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTrack _ State . IN _ QUEUE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer . alpha Ġ= Ġ 1 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer . background Ġ= ĠitemView . resources . get Drawable ( R . drawable . custom _ ripple ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset On Touch Listener ( listener ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Track Number ( track Number : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtrack Number TextView : ĠTextView Ġ= ĠitemView . findViewById ( R . id . track Number TextView ) ĊĠĠĠĠĠĠĠ Ġtrack Number TextView . text Ġ= Ġif Ġ( track Number Ġ> Ġ 0 ) Ġtrack Number . toString () Ġelse Ġ"-" ĊĠĠĠ Ġ} Ċ }