package Ġcom . mar cin str am owski . social meal . views Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . res . Typed Array Ċ import Ġandroid . support . v 4 . content . Context Compat Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Frame Layout Ċ import Ġcom . mar cin str am owski . social meal . R Ċ import Ġkotlinx . android . synt hetic . main . view _ progress _ button . view .* Ċ Ċ class ĠProgress Button ( context : ĠContext , Ġattrs : ĠAttributeSet ?) Ġ: ĠFrame Layout ( context , Ġattrs ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġbutton Text : ĠString ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠLayoutInflater . from ( context ). inflate ( R . layout . view _ progress _ button , Ġthis ) ĊĠĠĠĠĠĠĠ Ġval Ġarr : ĠTyped Array Ġ= Ġcontext . obtain Styled Attributes ( attrs , ĠR . style able . Progress Button ) ĊĠĠĠĠĠĠĠ Ġbutton Text Ġ= Ġarr . getString ( R . style able . Progress Button _ progress _ button _ text ) ĊĠĠĠĠĠĠĠ Ġarr . recycle () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Finish Inf late () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Finish Inf late () ĊĠĠĠĠĠĠĠ Ġbutton . text Ġ= Ġbutton Text ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Enabled ( enabled : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbutton . isEnabled Ġ= Ġenabled ĊĠĠĠĠĠĠĠ Ġval Ġcolor Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( enabled ) ĠR . color . account _ enabled _ color Ġelse ĠR . color . account _ button _ disabled _ color ĊĠĠĠĠĠĠĠ Ġbutton . setTextColor ( Context Compat . getColor ( context , Ġcolor )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Processing ( processing : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbutton . text Ġ= Ġif Ġ( processing ) Ġnull Ġelse Ġbutton Text ĊĠĠĠĠĠĠĠ ĠprogressBar . visibility Ġ= Ġif Ġ( processing ) ĠView . VISIBLE Ġelse ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠ Ġis Enabled Ġ= Ġ! processing ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset OnClickListener ( l : ĠOn ClickListener ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġbutton . setOnClickListener ( l ) ĊĠĠĠ Ġ} Ċ }