package Ġde . must af ager cek . e po xy base _ lib . lott ie Ċ Ċ import Ġandroid . animation . Value Animator Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Context Ċ import Ġcom . air bnb . e po xy . E po xy Attribute Ċ 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 Ġandroid . view . Gravity Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Frame Layout Ċ import Ġandroid . widget . ImageView Ċ import Ġandroidx . annotation . Color Res Ċ import Ġandroidx . annotation . Drawable Res Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġcom . air bnb . lott ie . Lot tie Animation View Ċ import Ġcom . air bnb . lott ie . Lot tie Drawable Ċ import Ġde . must af ager cek . e po xy base _ lib . R Ċ import Ġde . must af ager cek . e po xy base _ lib . R 2 Ċ import Ġde . must af ager cek . e po xy base _ lib . util . Kotlin E po xy Holder Ċ import Ġde . must af ager cek . e po xy base _ lib . util . dp To Px ĊĊ Ċ fun ĠContext . lott ie Row Model ( ĊĠĠĠ Ġres : ĠInt , ĊĠĠĠ Ġt : ĠInt Ġ= Ġ 0 , ĊĠĠĠ Ġb : ĠInt Ġ= Ġ 0 , ĊĠĠĠ Ġl : ĠInt Ġ= Ġ 0 , ĊĠĠĠ Ġr : ĠInt Ġ= Ġ 0 , ĊĠĠĠ Ġh : ĠInt Ġ= Ġ 4 8 , ĊĠĠĠ Ġw : ĠInt Ġ= Ġ 4 8 , ĊĠĠĠ Ġspeed : ĠFloat Ġ= Ġ 1 f , ĊĠĠĠ Ġrepeat Count : ĠInt ? Ġ= Ġnull , ĊĠĠĠ Ġrepeat Mode : ĠInt ? Ġ= Ġnull , ĊĠĠĠ Ġclick : ĠView . OnClickListener ? Ġ= Ġnull , ĊĠĠĠ Ġt int : ĠInt ? Ġ= Ġnull , ĊĠĠĠ Ġgravity : ĠInt Ġ= ĠGr avity . CENTER , ĊĠĠĠ Ġid : ĠInt Ġ= Ġres Ċ ): ĠL ot tie Row Model _ Ġ{ ĊĠĠĠ Ġval Ġimage Params : ĠFrame Layout . LayoutParams Ġ= ĠFrame Layout . LayoutParams ( dp To Px ( w ), Ġdp To Px ( h )) ĊĠĠĠ Ġval Ġlayout Params : ĠFrame Layout . LayoutParams Ġ= ĊĠĠĠĠĠĠĠ ĠFrame Layout . LayoutParams ( ViewGroup . LayoutParams . MATCH _ PARENT , ĠViewGroup . LayoutParams . WRAP _ CONTENT ) ĊĠĠĠ Ġlayout Params . set Margins ( dp To Px ( l ), Ġdp To Px ( t ), Ġdp To Px ( r ), Ġdp To Px ( b )) ĊĠĠĠ Ġimage Params . gravity Ġ= Ġgravity ĊĠĠĠ Ġreturn ĠL ot tie Row Model _ (). repeat Count ( repeat Count ). listener ( click ). raw Res ( res ). repeat Mode ( repeat Mode ). speed ( speed ) ĊĠĠĠĠĠĠĠ Ġ. image LayoutParams ( image Params ) ĊĠĠĠĠĠĠĠ Ġ. frame LayoutParams ( layout Params ). imageView Tint ( tint ). id ( id ) Ċ } ĊĊ Ċ @ E po xy Model Class ( layout Ġ= ĠR 2 . layout . lott ie _ row _ model ) Ċ abstract Ġclass ĠL ot tie Row Model Ġ: ĠE po xy Model With Holder < Lot tie Row Model . Holder >() Ġ{ ĊĊĠĠĠ Ġ@ E po xy Attribute ĊĠĠĠ Ġvar Ġraw Res : ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġ@ Color Res ĊĠĠĠ Ġ@ E po xy Attribute ĊĠĠĠ Ġvar ĠimageView Tint : ĠInt ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ E po xy Attribute ĊĠĠĠ Ġvar Ġrepeat Mode : ĠInt ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ E po xy Attribute ĊĠĠĠ Ġvar Ġrepeat Count : ĠInt ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ E po xy Attribute ĊĠĠĠ Ġvar Ġspeed : ĠFloat Ġ= Ġ 1 f ĊĊĠĠĠ Ġ@ E po xy Attribute ( E po xy Attribute . Option . DoNot Hash ) ĊĠĠĠ Ġvar Ġimage LayoutParams : ĠFrame Layout . LayoutParams ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ E po xy Attribute ( E po xy Attribute . Option . DoNot Hash ) ĊĠĠĠ Ġvar Ġframe LayoutParams : ĠFrame Layout . LayoutParams ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ E po xy Attribute ( E po xy Attribute . Option . DoNot Hash ) ĊĠĠĠ Ġvar Ġlistener : ĠView . OnClickListener ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Suppress Lint (" SetText I 1 8 n ") ĊĠĠĠ Ġoverride Ġfun Ġbind ( holder : ĠH older ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . bind ( holder ) ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġholder . lott ie View . context ĊĊĠĠĠĠĠĠĠ Ġholder . lott ie View . set Animation ( raw Res ) ĊĊĠĠĠĠĠĠĠ Ġholder . lott ie View . speed Ġ= Ġspeed ĊĊĊĠĠĠĠĠĠĠ Ġrepeat Count ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . lott ie View . repeat Count Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġrepeat Mode ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . lott ie View . repeat Mode Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠimageView Tint ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . lott ie View . setColor Filter ( Context Compat . getColor ( context , Ġit )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġimage LayoutParams ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . lott ie View . layout Params Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġframe LayoutParams ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . frame . layout Params Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġlistener ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . lott ie View . is Focus able Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . lott ie View . is Clickable Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . lott ie View . isEnabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . lott ie View . setOnClickListener ( it ) ĊĠĠĠĠĠĠĠ Ġ} Ġ?: Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . lott ie View . is Focus able Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . lott ie View . is Clickable Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . lott ie View . isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . lott ie View . setOnClickListener ( null ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Attached To Window ( holder : ĠH older ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Attached To Window ( holder ) ĊĠĠĠĠĠĠĠ Ġholder . lott ie View . play Animation () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠH older Ġ: ĠKotlin E po xy Holder () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlo tt ie View Ġby Ġbind < Lot tie Animation View >( R . id . lott ie _ view ) ĊĠĠĠĠĠĠĠ Ġval Ġframe Ġby Ġbind < Frame Layout >( R . id . frame ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ