package Ġcom . base . widgets Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . support . v 7 . widget . AppCompat TextView Ċ import Ġandroid . util . Attribute Set Ċ import Ġcom . base . R Ċ import Ġcom . base . utils . R ipple Util Ċ Ċ class ĠR ipple TextView Ġ: ĠAppCompat TextView Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠCOR NER _ RADIUS Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠST RO KE _ WIDTH Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠNORMAL _ COLOR Ġ= ĠColor . WHITE ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠR IP PLE _ COLOR Ġ= ĠColor . BLACK ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġcorner Radius Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġleft Top Corner Radius Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġright Top Corner Radius Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġleft Bottom Corner Radius Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġright Bottom Corner Radius Ġ= Ġ 0 ĊĠĠĠ Ġvar ĠstrokeWidth Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġstroke Color Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġri pple Color Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġnormal Color Ġ= Ġ 0 ĊĊĠĠĠ Ġfun Ġupdate R ipple BackgroundColor ( color : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnormal Color Ġ= Ġcolor ĊĠĠĠĠĠĠĠ Ġupdate Background () ĊĠĠĠĠĠĠĠ Ġinvalidate () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( context : ĠContext ) Ġ: Ġthis ( context , Ġnull ) ĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ?) Ġ: Ġthis ( context , Ġattrs , Ġ 0 ) ĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ?, Ġdef Style Attr : ĠInt ) Ġ: Ġsuper ( context , Ġattrs , Ġdef Style Attr ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġa Ġ= Ġcontext . obtain Styled Attributes ( attrs , ĠR . style able . R ipple TextView , Ġdef Style Attr , Ġ 0 ) ĊĊĠĠĠĠĠĠĠ Ġcorner Radius Ġ= Ġa . get Dimension Pixel Size ( R . style able . R ipple TextView _ rt v _ corners , ĠCOR NER _ RADIUS ) ĊĠĠĠĠĠĠĠ Ġleft Top Corner Radius Ġ= Ġa . get Dimension Pixel Size ( R . style able . R ipple TextView _ rt v _ left _ top _ corner , ĠCOR NER _ RADIUS ) ĊĠĠĠĠĠĠĠ Ġright Top Corner Radius Ġ= Ġa . get Dimension Pixel Size ( R . style able . R ipple TextView _ rt v _ right _ top _ corner , ĠCOR NER _ RADIUS ) ĊĠĠĠĠĠĠĠ Ġleft Bottom Corner Radius Ġ= Ġa . get Dimension Pixel Size ( R . style able . R ipple TextView _ rt v _ left _ bottom _ corner , ĠCOR NER _ RADIUS ) ĊĠĠĠĠĠĠĠ Ġright Bottom Corner Radius Ġ= Ġa . get Dimension Pixel Size ( R . style able . R ipple TextView _ rt v _ right _ bottom _ corner , ĠCOR NER _ RADIUS ) ĊĠĠĠĠĠĠĠ ĠstrokeWidth Ġ= Ġa . get Dimension Pixel Size ( R . style able . R ipple TextView _ rt v _ stroke _ width , ĠST RO KE _ WIDTH ) ĊĠĠĠĠĠĠĠ Ġstroke Color Ġ= Ġa . getColor ( R . style able . R ipple TextView _ rt v _ stroke _ color , ĠR IP PLE _ COLOR ) ĊĠĠĠĠĠĠĠ Ġri pple Color Ġ= Ġa . getColor ( R . style able . R ipple TextView _ rt v _ ripple _ color , Ġstroke Color ) ĊĠĠĠĠĠĠĠ Ġnormal Color Ġ= Ġa . getColor ( R . style able . R ipple TextView _ rt v _ normal _ color , ĠNORMAL _ COLOR ) ĊĠĠĠĠĠĠĠ Ġa . recycle () ĊĠĠĠĠĠĠĠ Ġupdate Background () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate Background () Ġ{ ĊĠĠĠĠĠĠĠ Ġbackground Ġ= Ġif Ġ( stroke Width Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR ipple Util . getR ipple Drawable ( normal Color , Ġri pple Color , Ġcorner Radius . toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġleft Top Corner Radius . toFloat (), Ġright Top Corner Radius . toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġleft Bottom Corner Radius . toFloat (), Ġright Bottom Corner Radius . toFloat ()) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR ipple Util . getR ipple Stroke Drawable ( normal Color , Ġri pple Color , Ġcorner Radius . toFloat (), ĠstrokeWidth , Ġstroke Color ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }