package Ġdd ie hl . android . imgur test . view . widgets Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . text . Editable Ċ import Ġandroid . text . Text Watcher Ċ import Ġandroid . view . View Ċ import Ġandroid . view . View Manager Ċ import Ġandroid . view . input method . Editor Info Ċ import Ġandroid . view . input method . Input Method Manager Ċ import Ġandroid . widget . EditText Ċ import Ġorg . jetbrains . ank o . custom . ank o View Ċ Ċ class ĠRed dit Nav EditText Ġ: ĠEditText , ĠText Watcher Ġ{ ĊĊĠ Ġconstructor ( context : ĠContext ) Ġ: Ġsuper ( context ) Ġ{ ĊĠĠĠ Ġadd TextChanged Listener ( this ) ĊĊĠĠĠ Ġon Focus ChangeListener Ġ= ĠView . On Focus ChangeListener Ġ{ Ġview , Ġhas Focus Ġ-> ĊĠĠĠĠĠ Ġif Ġ(! has Focus ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠHide Ġkeyboard ĊĠĠĠĠĠĠĠ Ġval Ġimm Ġ= Ġview . context . getSystem Service ( Context . INPUT _ METHOD _ SERVICE ) Ġas ĠInput Method Manager ĊĠĠĠĠĠĠĠ Ġimm . hide Soft Input From Window ( view . window Token , Ġ 0 ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġset On Editor ActionListener Ġ{ ĊĠĠĠĠĠ ĠtextView , Ġaction Id , Ġkey Event Ġ-> ĊĠĠĠĠĠ Ġaction Id Ġ== ĠEditor Info . IME _ ACTION _ DONE ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġprivate Ġvar Ġbefore : ĠCharSequence ? Ġ= Ġnull ĊĊĠ Ġoverride Ġfun Ġbefore TextChanged ( s : ĠCharSequence , Ġp 1 : ĠInt , Ġp 2 : ĠInt , Ġp 3 : ĠInt ) Ġ{ ĊĠĠĠ Ġbefore Ġ= Ġs . sub Sequence ( 0 , Ġs . length ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon TextChanged ( text : ĠCharSequence , Ġstart : ĠInt , Ġlength Before : ĠInt , Ġlength After : ĠInt ) Ġ{} ĊĊĠ Ġoverride Ġfun Ġafter TextChanged ( s : ĠEdit able ) Ġ{ ĊĠĠĠ Ġif Ġ( s . length Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠ Ġ// ĠBl ank Ġfield ĊĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġif Ġ( s . length Ġ< Ġ 3 ) Ġ{ ĊĠĠĠĠĠ Ġs . insert ( 0 , Ġ"/ r /") ĊĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġif Ġ( s . length Ġ== Ġ 3 ) Ġ{ ĊĠĠĠĠĠ Ġs . clear () ĊĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġcs Ġ= Ġs . sub Sequence ( 0 , Ġ 3 ) ĊĠĠĠ Ġif Ġ( cs . toString () Ġ!= Ġ"/ r /" Ġ|| Ġs . toString (). contains (" Ġ")) Ġ{ ĊĠĠĠĠĠ Ġs . replace ( 0 , Ġs . length , Ġbefore ) ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ Ċ fun ĠView Manager . reddit Nav EditText (): ĠRed dit Nav EditText Ġ= Ġre dd it Nav EditText ({}) Ċ inline Ġfun ĠView Manager . reddit Nav EditText ( init : ĠRed dit Nav EditText . () Ġ-> ĠUnit ): ĠRed dit Nav EditText Ġ{ ĊĠ Ġreturn Ġan ko View ({ Ġctx : ĠContext Ġ-> ĠRed dit Nav EditText ( ctx ) Ġ}) Ġ{ Ġinit () Ġ} Ċ } Ċ