package Ġcom . abel hu . pager layout Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Canvas Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . util . Attribute Set Ċ import Ġkotlin . math . max Ċ import Ġkotlin . math . min Ċ Ċ @ Suppress Lint (" Custom View Style able ") Ċ class ĠDot Page Indicator Ġ@ Jvm Over loads Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ? Ġ= Ġnull , Ġdef Style Attr : ĠInt Ġ= Ġ 0 ) Ġ: ĠPage Indicator ( context , Ġattrs , Ġdef Style Attr ) Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġnormal Color Ġ= ĠColor . rgb ( 1 7 2 , Ġ 1 7 2 , Ġ 1 7 2 ) ĊĠĠĠ Ġprivate Ġvar Ġselect Color Ġ= ĠColor . rgb ( 1 2 7 , Ġ 1 2 7 , Ġ 1 2 7 ) ĊĠĠĠ Ġprivate Ġvar Ġindicator Width Ġ= Ġ 2 0 f ĊĠĠĠ Ġprivate Ġvar Ġindicator Height Ġ= Ġ 2 0 f ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtyped Array Ġ= Ġcontext . obtain Styled Attributes ( attrs , ĠR . style able . Page Indicator ) ĊĠĠĠĠĠĠĠ Ġindicator Width Ġ= Ġtyped Array . get Dimension ( R . style able . Page Indicator _ indicator Width , Ġindicator Width ) ĊĠĠĠĠĠĠĠ Ġindicator Height Ġ= Ġtyped Array . get Dimension ( R . style able . Page Indicator _ indicator Height , Ġindicator Height ) ĊĠĠĠĠĠĠĠ Ġnormal Color Ġ= Ġtyped Array . getColor ( R . style able . Page Indicator _ normal Color , Ġnormal Color ) ĊĠĠĠĠĠĠĠ Ġselect Color Ġ= Ġtyped Array . getColor ( R . style able . Page Indicator _ select Color , Ġselect Color ) ĊĠĠĠĠĠĠĠ Ġtyped Array . recycle () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdraw Normal ( canvas : ĠCanvas , Ġcenter X : ĠFloat , Ġcenter Y : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpadding Ġ= Ġmax (( padding Bottom Ġ+ Ġpadding Top ) Ġ/ Ġ 2 , Ġ( padding Left Ġ+ Ġpadding Right ) Ġ/ Ġ 2 ) ĊĠĠĠĠĠĠĠ Ġpaint . color Ġ= Ġnormal Color ĊĠĠĠĠĠĠĠ Ġpaint . apply Ġ{ Ġcanvas . draw Circle ( center X , Ġcenter Y , Ġmin ( indicator Width , Ġindicator Height ) Ġ/ Ġ 2 Ġ- Ġpadding , Ġthis ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdraw Select ( canvas : ĠCanvas , Ġcenter X : ĠFloat , Ġcenter Y : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpadding Ġ= Ġmax (( padding Bottom Ġ+ Ġpadding Top ) Ġ/ Ġ 2 , Ġ( padding Left Ġ+ Ġpadding Right ) Ġ/ Ġ 2 ) ĊĠĠĠĠĠĠĠ Ġpaint . color Ġ= Ġselect Color ĊĠĠĠĠĠĠĠ Ġpaint . apply Ġ{ Ġcanvas . draw Circle ( center X , Ġcenter Y , Ġmin ( indicator Width , Ġindicator Height ) Ġ/ Ġ 2 Ġ- Ġpadding , Ġthis ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġindicator Width () Ġ= Ġindicator Width ĊĊĠĠĠ Ġoverride Ġfun Ġindicator Height () Ġ= Ġindicator Height Ċ }