/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 0 ĠNew ĠVector ĠLtd Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġim . vector . app . features . discovery Ċ Ċ import Ġandroid . widget . Button Ċ import Ġandroidx . annotation . String Res Ċ 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 Ġim . vector . app . R Ċ import Ġim . vector . app . core . e po xy . ClickListener Ċ import Ġim . vector . app . core . e po xy . Vector E po xy Holder Ċ import Ġim . vector . app . core . e po xy . attributes . ButtonStyle Ċ import Ġim . vector . app . core . e po xy . onClick Ċ import Ġim . vector . app . core . extensions . setText Or Hide Ċ import Ġim . vector . app . core . resources . Color Provider Ċ Ċ @ E po xy Model Class ( layout Ġ= ĠR . layout . item _ settings _ button ) Ċ abstract Ġclass ĠSettings Button Item Ġ: ĠE po xy Model With Holder < Settings Button Item . Holder >() Ġ{ ĊĊĠĠĠ Ġ@ E po xy Attribute ĊĠĠĠ Ġlateinit Ġvar Ġcolor Provider : ĠColor Provider ĊĊĠĠĠ Ġ@ E po xy Attribute ĊĠĠĠ Ġvar Ġbutton Title : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ E po xy Attribute ĊĠĠĠ Ġ@ String Res ĊĠĠĠ Ġvar Ġbutton Title Id : ĠInt ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ E po xy Attribute ĊĠĠĠ Ġvar Ġbutton Style : ĠButton Style Ġ= ĠButton Style . POSITIVE ĊĊĠĠĠ Ġ@ E po xy Attribute ( E po xy Attribute . Option . DoNot Hash ) ĊĠĠĠ Ġvar Ġbutton ClickListener : ĠClick Listener ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġbind ( holder : ĠH older ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . bind ( holder ) ĊĠĠĠĠĠĠĠ Ġif Ġ( button Title Id Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . button . setText ( button Title Id !! ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . button . setText Or Hide ( button Title ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( button Style ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠButton Style . POSITIVE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . button . setTextColor ( color Provider . getColor From Attribute ( R . attr . color Primary )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠButton Style . DE STRUCT IVE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . button . setTextColor ( color Provider . getColor From Attribute ( R . attr . color Error )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġholder . button . onClick ( button ClickListener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠH older Ġ: ĠVector E po xy Holder () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbutton Ġby Ġbind < Button >( R . id . settings _ item _ button ) ĊĠĠĠ Ġ} Ċ } Ċ