package Ġcom . re vol gen x . an ilib . ui . presenter . air ing Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . drawable . Gradient Drawable Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . view binding . View Binding Ċ import Ġcom . otal i ast ud ios . elements . Element Ċ import Ġcom . otal i ast ud ios . elements . Page Ċ import Ġcom . pr an av pan de y . android . dynamic . utils . Dynamic Color Utils Ċ import Ġcom . re vol gen x . an ilib . R Ċ import Ġcom . re vol gen x . an ilib . app . theme . dynamic BackgroundColor Ċ import Ġcom . re vol gen x . an ilib . common . preference . get A iring DisplayMode Ċ import Ġcom . re vol gen x . an ilib . data . model . air ing . A iring Media Model Ċ import Ġcom . re vol gen x . an ilib . constant . A iring List DisplayMode Ċ import Ġcom . re vol gen x . an ilib . databinding . A iring Compact Presenter Layout Binding Ċ import Ġcom . re vol gen x . an ilib . databinding . A iring Minimal List Presenter Layout Binding Ċ import Ġcom . re vol gen x . an ilib . databinding . A iring Presenter Layout Binding Ċ import Ġcom . re vol gen x . an ilib . ui . presenter . Base Presenter Ċ import Ġcom . re vol gen x . an ilib . ui . presenter . air ing . A iring Presenter Binding Helper . bind Presenter Ċ import Ġcom . re vol gen x . an ilib . ui . view . drawable . Dynamic Background Gradient Drawable Ċ Ċ class ĠA iring Presenter ( context : ĠContext ) Ġ: ĊĠĠĠ ĠBase Presenter < View Binding , ĠA iring Media Model >( context ) Ġ{ ĊĠĠĠ Ġoverride Ġval Ġelement Types : ĠCollection < Int > ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠlistOf ( 0 ) ĊĊĠĠĠ Ġoverride Ġfun Ġbind View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġparent : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ Ġelement Type : ĠInt ĊĠĠĠ Ġ): ĠView Binding Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( displayMode ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠA iring List DisplayMode . NORMAL Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠA iring Presenter Layout Binding . inflate ( in flater , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠA iring List DisplayMode . MIN IMAL _ LIST Ġ-> { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠA iring Minimal List Presenter Layout Binding . inflate ( in flater , parent , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠA iring Compact Presenter Layout Binding . inflate ( in flater , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġstatus Colors Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġcontext . resources . getString Array ( R . array . status _ color ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġmedia Formats Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġcontext . resources . getString Array ( R . array . media _ format ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġmedia Status Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġcontext . resources . getString Array ( R . array . media _ status ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġmedia List Status Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġcontext . resources . getString Array ( R . array . media _ list _ status ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġblur Color Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠDynamic Color Utils . set Alpha ( dynamic BackgroundColor , Ġ 1 4 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġgradient Blur Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠDynamic Background Gradient Drawable ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġorientation Ġ= ĠGradient Drawable . Orientation . BOTTOM _ TOP , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalpha Ġ= Ġ 2 5 5 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġmedia List Status Color Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġcontext . resources . getString Array ( R . array . media _ list _ status _ color ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġval ĠdisplayMode Ġ= Ġget A iring DisplayMode () ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ( page : ĠPage , Ġholder : ĠH older , Ġelement : ĠElement < A iring Media Model >) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Bind ( page , Ġholder , Ġelement ) ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġelement . data Ġ?: Ġreturn ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( val Ġbinding Ġ= Ġholder . get Binding ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠA iring Presenter Layout Binding Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . bind Presenter ( context , Ġitem , Ġmedia Formats , Ġmedia Status , Ġstatus Colors ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠA iring Compact Presenter Layout Binding Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . bind Presenter ( context , Ġitem , Ġmedia Formats , Ġmedia Status , Ġstatus Colors ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠA iring Minimal List Presenter Layout Binding Ġ-> { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . bind Presenter ( context , Ġitem , gradient Blur Ġ, Ġmedia Formats Ġ, Ġmedia List Status , Ġmedia List Status Color ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ } Ċ