package Ġcom . give k esh . rat ers . databinding Ċ Ċ import Ġandroid . content . res . Typed Array Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . databinding . Binding Adapter Ċ import Ġcom . give k esh . rat ers . R Ċ import Ġcom . give k esh . rat ers . di . scopes . Binding Adapters Scope Ċ import Ġjavax . inject . Inject Ċ Ċ @ Binding Adapters Scope Ċ class ĠBinding Adapters Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġkeys : ĠArray < String >, ĊĠĠĠ Ġprivate Ġval Ġvalues : ĠTyped Array Ċ ) Ġ{ ĊĊĠĠĠ Ġ@ Binding Adapter (" indicator ") ĊĠĠĠ Ġfun Ġset TextColor ( view : ĠTextView , Ġindicator : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcolor Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindicator . contains ("- ") Ġ-> ĠContext Compat . getColor ( view . context , ĠR . color . low ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindicator . contains ("+ ") Ġ-> ĠContext Compat . getColor ( view . context , ĠR . color . high ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠContext Compat . getColor ( view . context , Ġandroid . R . color . tab _ indicator _ text ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġview . setTextColor ( color ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Binding Adapter (" src ") ĊĠĠĠ Ġfun Ġset Image Resource ( view : ĠImageView , Ġalpha 2 : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdrawable Res Ġ= Ġvalues . getResource Id ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkeys . indexOf ( alpha 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . R . color . transparent ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . setImage Resource ( drawable Res ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }