package Ġcom . sa uce fan . stuff . k ier an tration . activities Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . text . Editable Ċ import Ġandroid . text . Text Watcher Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . sa uce fan . stuff . k ier an tration . R Ċ import Ġkotlinx . android . synt hetic . main . activity _ entry _ point .* ĊĊ Ċ class Ġentry Point Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ entry _ point ) ĊĊĠĠĠĠĠĠĠ Ġet _ columns . 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 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠ Ġpop Text ( s . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġedit Sanit ization ( s ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġet _ rows . 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 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠĠ Ġpop Text ( s . toString ()) ĊĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġedit Sanit ization ( s ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġbtn _ enter . setOnClickListener { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsanitize Entries () ĊĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ// Ġprobably Ġa Ġmore Ġeleg ant Ġway Ġto Ġdo Ġthis Ġbut Ġbasically ... ĊĠĠĠ Ġ// Ġchecks Ġif Ġthere 's Ġa Ġchar Ġsequence Ġat Ġall , ĊĠĠĠ Ġ// Ġchecks Ġif Ġthe Ġfirst Ġcharacter Ġis Ġa Ġ 0 ĊĠĠĠ Ġ// Ġif Ġthere 's Ġsome Ġdigits Ġbeyond Ġthe Ġzero Ġto Ġthe Ġright , Ġit Ġkeeps Ġthem Ġin Ġthe Ġfield ĊĠĠĠ Ġ// Ġif Ġzero Ġwould Ġbe Ġthe Ġonly Ġnumber , Ġit Ġmakes Ġit Ġa Ġone Ġinstead ĊĠĠĠ Ġfun Ġedit Sanit ization ( s : ĠCharSequence ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( s . isNotBlank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( s . substring ( 0 , Ġ 1 ). contains (" 0 ") Ġ&& Ġs . length Ġ>= Ġ 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( et _ rows . text . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet _ rows . setText ( et _ rows . text . substring ( 1 , Ġet _ rows . text . length )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( s . toString () Ġ== Ġ" 0 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet _ rows . setText ("") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġpop Text ( string : ĠString ) Ġ{ ĊĊĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġstring , ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsanitize Entries () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( et _ rows . text . isNotEmpty () Ġ&& Ġet _ columns . text . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrows Ġ= Ġet _ rows . text . toString ()?. toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcolumns Ġ= Ġet _ columns . text . toString ()?. toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( rows Ġ>= Ġ 1 Ġ|| Ġcolumns Ġ>= Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġi Ġ= ĠIntent ( this , ĠMainActivity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi . putExtra (" our Rows ", Ġrows ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi . putExtra (" our Columns ", Ġcolumns ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Sorry Ġwe Ġcan 't Ġmake Ġa Ġboard Ġwithout Ġa Ġreal Ġnumber Ġof Ġrows Ġand Ġcolumns ! ĠTry Ġagain !", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . LENGTH _ SHORT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). show () ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ