package Ġre . return app . view Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Canvas Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . Paint Ċ import Ġandroid . graphics . Type face Ċ import Ġandroid . text . Editable Ċ import Ġandroid . text . Text Watcher Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Frame Layout Ċ import Ġandroid . widget . ImageView Ċ import Ġandroidx . appcompat . widget . AppCompat ImageView Ċ import Ġkotlinx . android . synt hetic . main . view _ search . view .* Ċ import Ġre . return app . R Ċ import Ġre . return app . dp To Px Ċ import Ġkotlin . math . max Ċ import Ġkotlin . math . min Ċ Ċ class ĠType View Ġ: ĠAppCompat ImageView Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġpaint Ġ= ĠPaint () ĊĠĠĠ Ġvar Ġimportance Ġ= Ġ- 1 ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinvalidate () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠ Ġattrs : ĠAttributeSet ? ĊĠĠĠ Ġ) Ġ: Ġsuper ( context , Ġattrs ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠ Ġattrs : ĠAttributeSet ?, ĊĠĠĠĠĠĠĠ Ġdef Style Attr : ĠInt ĊĠĠĠ Ġ) Ġ: Ġsuper ( context , Ġattrs , Ġdef Style Attr ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit () Ġ{ ĊĠĠĠĠĠĠĠ Ġpaint . is Anti Alias Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġpaint . color Ġ= ĠColor . RED ĊĠĠĠĠĠĠĠ Ġpaint . text Size Ġ= Ġ 8 . dp To Px . toFloat () ĊĠĠĠĠĠĠĠ Ġpaint . style Ġ= ĠPaint . Style . FILL ĊĠĠĠĠĠĠĠ Ġpaint . type face Ġ= ĠType face . create ( Type face . DEFAULT , ĠType face . BOLD ) ĊĠĠĠĠĠĠĠ Ġpaint . textAlign Ġ= ĠPaint . Align . CENTER ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Draw ( canvas : ĠCanvas ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Draw ( canvas ) ĊĠĠĠĠĠĠĠ Ġif Ġ( import ance Ġ<= Ġ 0 Ġ|| Ġimportance Ġ> Ġ 1 0 Ġ|| Ġcanvas Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġcx Ġ= Ġ 3 Ġ* Ġwidth Ġ/ Ġ 4 F ĊĠĠĠĠĠĠĠ Ġval Ġcy Ġ= Ġ 2 Ġ* Ġheight Ġ/ Ġ 3 F ĊĠĠĠĠĠĠĠ Ġpaint . color Ġ= Ġresources . getColor ( when Ġ( import ance ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> ĠR . color . import ance _ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> ĠR . color . import ance _ 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ-> ĠR . color . import ance _ 3 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 Ġ-> ĠR . color . import ance _ 4 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 5 Ġ-> ĠR . color . import ance _ 5 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 6 Ġ-> ĠR . color . import ance _ 6 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 7 Ġ-> ĠR . color . import ance _ 7 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 8 Ġ-> ĠR . color . import ance _ 8 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 9 Ġ-> ĠR . color . import ance _ 9 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 0 Ġ-> ĠR . color . import ance _ 1 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠR . color . import ance _ 0 ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġcanvas . draw Circle ( cx , Ġcy , Ġpaint . text Size Ġ* Ġ 0 . 8 F , Ġpaint ) ĊĊĠĠĠĠĠĠĠ Ġpaint . color Ġ= ĠColor . BLACK ĊĠĠĠĠĠĠĠ Ġcanvas . draw Text ( import ance . toString (), Ġcx , Ġcy Ġ+ Ġpaint . text Size Ġ/ Ġ 3 , Ġpaint ) ĊĠĠĠ Ġ} Ċ Ċ }