package Ġcom . y ureka . technology . y tc . util . android Ċ Ċ import Ġandroid . text . Editable Ċ import Ġandroid . text . Text Watcher Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* ĠCreated Ġon Ġ 8 / 2 0 / 2 0 . Ċ Ġ*/ Ċ Ċ class ĠDelay Text Watcher ( ĊĠĠĠ Ġprivate Ġval Ġdelay : ĠLong , ĊĠĠĠ Ġprivate Ġval ĠonSubmit : Ġ( s : ĠString ) Ġ-> ĠUnit Ċ ) Ġ: ĠText Watcher Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġtimer : ĠTimer ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġafter TextChanged ( p 0 : ĠEdit able ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġtimer Ġ= ĠTimer () ĊĠĠĠĠĠĠĠ Ġtimer ?. schedule ( object Ġ: ĠTimer Task () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġrun () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonSubmit . invoke ( p 0 . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}, Ġdelay ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbefore TextChanged ( p 0 : ĠCharSequence ?, Ġp 1 : ĠInt , Ġp 2 : ĠInt , Ġp 3 : ĠInt ) Ġ= ĠUnit ĊĊĠĠĠ Ġoverride Ġfun Ġon TextChanged ( p 0 : ĠCharSequence ?, Ġp 1 : ĠInt , Ġp 2 : ĠInt , Ġp 3 : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtimer ?. cancel () ĊĠĠĠ Ġ} Ċ Ċ }