package Ġru . ter r ak ok . gitlab client . ui . global . view . custom Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . text . Editable Ċ import Ġandroid . text . Text Watcher Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroidx . constraint layout . widget . Constraint Layout Ċ import Ġkotlinx . android . synt hetic . main . view _ new _ note . view .* Ċ import Ġru . ter r ak ok . gitlab client . R Ċ import Ġru . ter r ak ok . gitlab client . util . get Tint Drawable Ċ Ċ class ĠNew Note View Ġ@ Jvm Over loads Ġconstructor ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ Ġattrs : ĠAttributeSet ? Ġ= Ġnull , ĊĠĠĠ Ġdef Style Attr : ĠInt Ġ= Ġ 0 Ċ ) Ġ: ĠConstraint Layout ( context , Ġattrs , Ġdef Style Attr ) Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġinf late ( context , ĠR . layout . view _ new _ note , Ġthis ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġinit ( on Send ClickListener : Ġ( String ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnew Note EditText . add TextChanged Listener ( object Ġ: ĠText Watcher Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġafter TextChanged ( s : ĠEdit able ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbefore TextChanged ( s : ĠCharSequence , Ġstart : ĠInt , Ġcount : ĠInt , Ġafter : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon TextChanged ( s : ĠCharSequence , Ġstart : ĠInt , Ġbefore : ĠInt , Ġcount : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnew Note Send . isEnabled Ġ= Ġs . isNotEmpty () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġnew Note Send . setImage Drawable ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . get Tint Drawable ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . ic _ send _ 2 4 dp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġint ArrayOf ( R . color . grey _ 3 0 , ĠR . color . grey ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( int ArrayOf (- android . R . attr . state _ enabled ), Ġint ArrayOf ( android . R . attr . state _ enabled )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġnew Note Send . setOnClickListener Ġ{ Ġon Send ClickListener . invoke ( new Note EditText . text . toString (). trim ()) Ġ} ĊĠĠĠĠĠĠĠ Ġnew Note Send . isEnabled Ġ= Ġnew Note EditText . text . isNotEmpty () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclear Input () Ġ= Ġnew Note EditText . setText ("") Ċ } Ċ