package Ġnet . san ic . K ay uri . utils . e po xy Ċ Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . appcompat . widget . AppCompat ImageView Ċ import Ġandroidx . constraint layout . widget . Constraint Layout Ċ import Ġcom . air bnb . e po xy . E po xy Attribute Ċ import Ġcom . air bnb . e po xy . E po xy Holder Ċ import Ġcom . air bnb . e po xy . E po xy Model Class Ċ import Ġcom . air bnb . e po xy . E po xy Model With Holder Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . load . resource . drawable . Drawable Transition Options Ċ import Ġnet . san ic . K ay uri . R Ċ import Ġnet . san ic . K ay uri . databinding . Recycler An ime Common Binding Ċ import Ġnet . san ic . K ay uri . utils . model . An ime Meta Model Ċ Ċ @ E po xy Model Class ( layout Ġ= ĠR . layout . recycler _ anime _ common ) Ċ abstract Ġclass ĠAn ime Common Model Ġ: ĠE po xy Model With Holder < An ime Common Model . Movie Holder > (){ ĊĊĠĠĠ Ġ@ E po xy Attribute ĊĠĠĠ Ġlateinit Ġvar Ġan ime Meta Model : ĠAn ime Meta Model ĊĠĠĠ Ġ@ E po xy Attribute ĊĠĠĠ Ġvar Ġclick Listener : ĠView . OnClickListener ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġbind ( holder : ĠMovie Holder ) Ġ{ ĊĠĠĠĠĠĠĠ ĠG lide . with ( holder . anime ImageView . context ). load ( anime Meta Model . imageUrl ). transition ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDrawable Transition Options . with Cross Fade ( 1 0 0 )). into ( holder . anime ImageView ) ĊĠĠĠĠĠĠĠ Ġholder . anime ImageView . scale X Ġ= Ġ 0 . 9 f ĊĠĠĠĠĠĠĠ Ġholder . anime ImageView . scale Y Ġ= Ġ 0 . 9 f ĊĠĠĠĠĠĠĠ Ġholder . anime ImageView . animate (). scale X ( 1 . 0 f ). scale Y ( 1 . 0 f ). set Duration ( 3 0 0 ). start () ĊĠĠĠĠĠĠĠ Ġholder . anime Title . text Ġ= Ġan ime Meta Model . title ĊĠĠĠĠĠĠĠ Ġan ime Meta Model . released Date ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . released Date . text Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġholder . root . setOnClickListener ( click Listener ) ĊĊĠĠĠ Ġ} ĊĠĠĠ Ġclass ĠMovie Holder Ġ: ĠE po xy Holder (){ ĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġcommon Binding : ĠRe cycler An ime Common Binding ĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġan ime ImageView : ĠAppCompat ImageView ĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġan ime Title : ĠTextView ĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġreleased Date : ĠTextView ĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġroot : ĠConstraint Layout ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbind View ( item View : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommon Binding Ġ= ĠRe cycler An ime Common Binding . bind ( item View ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġan ime ImageView Ġ= Ġcommon Binding . anime Image ĊĠĠĠĠĠĠĠĠĠĠĠ Ġan ime Title Ġ= Ġcommon Binding . anime Title ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreleased Date Ġ= Ġcommon Binding . released Date ĊĠĠĠĠĠĠĠĠĠĠĠ Ġroot Ġ= Ġcommon Binding . root ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ } Ċ Ċ @ E po xy Model Class ( layout Ġ= ĠR . layout . recycler _ loading ) Ċ abstract Ġclass ĠLoading Model Ġ: ĠE po xy Model With Holder < Loading Holder >() Ċ Ċ class ĠLoading Holder Ġ: ĠE po xy Holder () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġbind View ( item View : ĠView ) Ġ{ ĊĠĠĠ Ġ} Ċ } ĊĊ