package Ġde . r ki . cor on aw arn app . util Ċ Ċ import Ġandroid . content . res . Color State List Ċ import Ġandroid . graphics . Port er D uff Ċ import Ġandroid . graphics . Port er D uff Color Filter Ċ import Ġandroid . widget . ImageView Ċ import Ġandroidx . core . widget . ImageView Compat Ċ import Ġandroidx . databinding . Binding Adapter Ċ import Ġcom . air bnb . lott ie . Lot tie Animation View Ċ import Ġcom . air bnb . lott ie . Lot tie Drawable Ċ import Ġcom . air bnb . lott ie . Lot tie Property Ċ import Ġcom . air bnb . lott ie . model . Key Path Ċ import Ġcom . google . android . material . progress indicator . Circular Progress Indicator Ċ import Ġcom . google . android . material . switch material . Switch Material Ċ import Ġde . r ki . cor on aw arn app . util . Context Extensions . get Drawable Compat Ċ Ċ const Ġval ĠIG NORE _ CHANGE _ TAG Ġ= Ġ" ignore " Ċ const Ġval ĠD RAW ABLE _ TYPE Ġ= Ġ" drawable " Ċ Ċ @ Binding Adapter (" checked ") Ċ fun Ġset Checked ( switch : ĠSwitch Material , Ġstatus : ĠBoolean ?) Ġ{ ĊĠĠĠ Ġif Ġ( status Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġswitch . tag Ġ= ĠIG NORE _ CHANGE _ TAG ĊĠĠĠĠĠĠĠ Ġswitch . isChecked Ġ= Ġstatus ĊĠĠĠĠĠĠĠ Ġswitch . tag Ġ= Ġnull ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Binding Adapter (" animation ") Ċ fun Ġset Animation ( view : ĠL ot tie Animation View , Ġanimation : ĠInt ?) Ġ{ ĊĠĠĠ Ġif Ġ( animation Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġview . context ĊĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġcontext . resources . getResource TypeName ( animation ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( type Ġ== ĠD RAW ABLE _ TYPE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . setImage Drawable ( context . get Drawable Compat ( animation )) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . set Animation ( animation ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . repeat Count Ġ= ĠL ot tie Drawable . INF IN ITE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . repeat Mode Ġ= ĠL ot tie Drawable . RE START ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . play Animation () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Binding Adapter (" animation _ tint ") Ċ fun Ġset Animation Color ( view : ĠL ot tie Animation View , Ġcolor : ĠInt ?) Ġ{ ĊĠĠĠ Ġif Ġ( color Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġview . setColor Filter ( color ) ĊĠĠĠĠĠĠĠ Ġview . add Value Callback ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKey Path (" ** "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠL ot tie Property . COLOR _ FILTER ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĠPort er D uff Color Filter ( color , ĠPort er D uff . Mode . SRC _ AT OP ) Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Binding Adapter (" app : tint ") Ċ fun Ġset Tint ( view : ĠImageView , Ġcolor : ĠInt ) Ġ{ ĊĠĠĠ ĠImageView Compat . setImage Tint List ( view , ĠColor State List . valueOf ( color )) Ċ } Ċ Ċ @ Binding Adapter (" app : indicator Color ") Ċ fun Ġset Indicator Color ( view : ĠCircular Progress Indicator , Ġcolor : ĠInt ) Ġ{ ĊĠĠĠ Ġview . set Indicator Color ( color ) Ċ } Ċ