package Ġcom . en ec uum . app . v vm . common Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Frame Layout Ċ import Ġandroidx . annotation . Drawable Res Ċ import Ġandroidx . annotation . String Res Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . core . view . isVisible Ċ import Ġcom . en ec uum . app . R Ċ import Ġkotlinx . android . synt hetic . main . layout _ text _ button . view .* Ċ Ċ class ĠText Button Ġ@ Jvm Over loads Ġconstructor ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ Ġattrs : ĠAttributeSet ? Ġ= Ġnull , ĊĠĠĠ Ġdef Style Attr : ĠInt Ġ= Ġ 0 Ċ ) Ġ: ĊĠĠĠ ĠFrame Layout ( context , Ġattrs , Ġdef Style Attr ) Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠView . inflate ( context , ĠR . layout . layout _ text _ button , Ġthis ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġconfigure ( ĊĠĠĠĠĠĠĠ Ġ@ String Res Ġtext Res : ĠInt , ĊĠĠĠĠĠĠĠ Ġ@ Drawable Res Ġicon Res : ĠInt ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġback Style : ĠBack Style Ġ= ĠBack Style . BLUE , ĊĠĠĠĠĠĠĠ Ġall Caps : ĠBoolean Ġ= Ġfalse ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbutton Text . setText ( text Res ) ĊĠĠĠĠĠĠĠ Ġbutton Text . is All Caps Ġ= Ġall Caps ĊĠĠĠĠĠĠĠ Ġicon Res ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Image . setImage Resource ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Image . isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġwhen Ġ( back Style ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBack Style . BLUE Ġ-> Ġset Background Resource ( R . drawable . background _ button _ blue ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBack Style . V IO LET Ġ-> Ġset Background Resource ( R . drawable . background _ button _ vio let ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBack Style . GRAY Ġ-> Ġset Background Resource ( R . drawable . background _ button _ gray ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBack Style . GRAY _ DISABLED Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Background Resource ( R . drawable . background _ button _ gray _ disabled ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Text . setTextColor ( Context Compat . getColor ( context , ĠR . color . secondary _ color )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Text (@ String Res Ġtext Res : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbutton Text . setText ( text Res ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Text ( text : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbutton Text . text Ġ= Ġtext ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Enabled () Ġ{ ĊĠĠĠĠĠĠĠ Ġset Background Resource ( R . drawable . background _ button _ blue ) ĊĠĠĠĠĠĠĠ Ġbutton Text . setTextColor ( Context Compat . getColor ( context , ĠR . color . color Text White )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Disabled () Ġ{ ĊĠĠĠĠĠĠĠ Ġset Background Resource ( R . drawable . background _ button _ gray _ disabled ) ĊĠĠĠĠĠĠĠ Ġbutton Text . setTextColor ( Context Compat . getColor ( context , ĠR . color . secondary _ color )) ĊĠĠĠĠĠĠĠ Ġthis . setOnClickListener Ġ{} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġenum Ġclass ĠBack Style Ġ{ ĊĠĠĠĠĠĠĠ ĠBL UE , ĠV IO LET , ĠGR AY , ĠGR AY _ DISABLED ĊĠĠĠ Ġ} Ċ }