package Ġcom . example . todo app kotlin . view Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . Array Adapter Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . example . todo app kotlin . R Ċ import Ġcom . example . todo app kotlin . model . Task Model Ċ import Ġcom . example . todo app kotlin . presenter . Presenter Ċ import Ġcom . example . todo app kotlin . presenter . Presenter Create New Task Ċ import Ġcom . google . android . material . text field . TextInput Layout Ċ import Ġkotlinx . android . synt hetic . main . activity _ create _ new _ task .* Ċ Ċ class ĠCreate New Task Ġ: ĠAppCompatActivity (), ĠI Create New Task Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ Ġ// ĠComp anion Ġobjects Ġare Ġcreated Ġat Ġcompile Ġtime Ġ( vs Ġstatic Ġruntime ) ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPAR CEL ABLE _ KEY : ĠString Ġ= Ġ" CRE AT ENE WT ASK " Ġ// ĠUse Ġconst Ġfor Ġcompile Ġtime Ġvalues ĊĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ Ġprivate Ġval ĠTAG Ġ= ĠCreate New Task :: class . java . simple Name Ġ// Ġ" Create New Task " ĊĠĠĠ Ġval Ġpresenter : ĠPres enter Create New Task Ġby Ġlazy Ġ{ ĠPres enter Create New Task () Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ create _ new _ task ) ĊĊĠĠĠĠĠĠĠ Ġinit Views () ĊĠĠĠĠĠĠĠ Ġon Bind Presenter () ĊĠĠĠĠĠĠĠ Ġbtn _ save _ task . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput Data () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Views () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠArray Adapter < String >( this , Ġandroid . R . layout . simple _ list _ item _ 1 ) ĊĠĠĠĠĠĠĠ Ġadapter . add (" Coding ") ĊĠĠĠĠĠĠĠ Ġadapter . add (" Cook ing ") ĊĠĠĠĠĠĠĠ Ġadapter . add (" La und ry ") ĊĠĠĠĠĠĠĠ Ġadapter . add (" Soft ĠSk ills ") ĊĠĠĠĠĠĠĠ Ġspinner . adapter Ġ= Ġadapter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind Presenter () Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . on Bind ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinput Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( presenter . isEmpty Input ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtil _ create _ task . edit Text !!. text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspinner . selected Item . toString ())) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" No Ġempty Ġvalues !", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġpass Data Back ( data Item : ĠTask Model ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Result Ġ= ĠIntent () ĊĠĠĠĠĠĠĠ Ġintent Result . putExtra ( PAR CEL ABLE _ KEY , Ġdata Item ) ĊĠĠĠĠĠĠĠ Ġset Result ( Activity . RESULT _ OK , Ġintent Result ) ĊĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠ Ġ} Ċ }