package Ġio . github . h ach y . android . todo Ċ Ċ import Ġandroid . app . AlertDialog Ċ import Ġandroid . app . Dialog Ċ import Ġandroid . os . Bundle Ċ import Ġcom . google . android . material . text field . TextInput Layout Ċ import Ġandroidx . fragment . app . Dialog Fragment Ċ import Ġandroid . text . Editable Ċ import Ġandroid . text . TextUtils Ċ import Ġandroid . text . Text Watcher Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . view . WindowManager Ċ import Ġandroid . widget . EditText Ċ Ċ class ĠHeader Dialog Fragment Ġ: ĠDialog Fragment () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Dialog ( savedInstanceState : ĠBundle ?): ĠDialog Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate Dialog ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( activity ) ĊĠĠĠĠĠĠĠ Ġval Ġinflater Ġ= Ġactivity ?. layout Inflater ĊĠĠĠĠĠĠĠ Ġval Ġnull Parent : ĠViewGroup ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġinflater ?. inflate ( R . layout . dialog _ add _ header , Ġnull Parent ) ĊĠĠĠĠĠĠĠ Ġval ĠerrMsg Ġ= Ġview ?. findViewById < TextInput Layout >( R . id . text _ input _ header ) ĊĠĠĠĠĠĠĠ Ġval Ġedit Text Ġ= Ġview ?. findViewById < EditText >( R . id . edit Header ) ĊĊĠĠĠĠĠĠĠ Ġval Ġd Ġ= Ġbuilder . setView ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Positive Button ( R . string . add , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Negative Button ( R . string . cancel ) Ġ{ Ġ_, Ġ_ Ġ-> Ġdismiss () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create () ĊĊĠĠĠĠĠĠĠ Ġd . window ?. set Soft Input Mode ( WindowManager . LayoutParams . SOFT _ INPUT _ STATE _ VISIBLE ) ĊĠĠĠĠĠĠĠ Ġd . show () ĊĠĠĠĠĠĠĠ Ġd . get Button ( AlertDialog . BUTTON _ POSITIVE ). setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġheader Ġ= Ġ"${ edit Text ?. text }" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( TextUtils . isEmpty ( header )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠerrMsg ?. error Ġ= ĠgetString ( R . string . task _ empty ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( activity Ġas ĠMainActivity ). do Positive Click ( header ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġedit Text ?. text ?. clear () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġedit Text ?. add TextChanged Listener ( object Ġ: ĠText Watcher Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġafter TextChanged ( p 0 : ĠEdit able ?) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbefore TextChanged ( p 0 : ĠCharSequence ?, Ġp 1 : ĠInt , Ġp 2 : ĠInt , Ġp 3 : ĠInt ) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon TextChanged ( p 0 : ĠCharSequence ?, Ġp 1 : ĠInt , Ġp 2 : ĠInt , Ġp 3 : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! TextUtils . isEmpty ("${ edit Text . text } ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠerrMsg ?. error Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠerrMsg ?. isError Enabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġd ĊĠĠĠ Ġ} Ċ } Ċ