package Ġcom . net guru . sample Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . design . widget . Snackbar Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . support . v 7 . widget . Divider Item Decoration Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity (), ĠMain View , ĠAdd Item Dialog Fragment . On Item Add Listener Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġadapter Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠMain Adapter () ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġval Ġpresenter Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠMain Presenter () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠĠĠĠĠ Ġpresenter . attach View ( this ) ĊĠĠĠĠĠĠĠ Ġinit RecyclerView () ĊĠĠĠĠĠĠĠ Ġfab Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdd Item Dialog Fragment . newInstance (). show ( support FragmentManager , ĠAdd Item Dialog Fragment . TAG ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġpresenter . detach View () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Element Added Info () Ġ= ĊĠĠĠĠĠĠĠ ĠSn ackbar . make ( findViewById ( android . R . id . content ), ĠR . string . item _ added , ĠSn ackbar . LENGTH _ SHORT ). show () ĊĊĠĠĠ Ġoverride Ġfun Ġshow ToDo List ( to Do List : ĠList < String >) Ġ{ ĊĠĠĠĠĠĠĠ Ġadapter . items List Ġ= Ġto Do List ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Item Added ( item : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . add New ToDo Element ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit RecyclerView () Ġ= Ġwith ( main RecyclerView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Has Fixed Size ( true ) ĊĠĠĠĠĠĠĠ Ġadd Item Decoration ( Divider Item Decoration ( context , ĠDiv ider Item Decoration . VERTICAL )) ĊĠĠĠĠĠĠĠ Ġadapter Ġ= Ġthis @ MainActivity . adapter ĊĠĠĠ Ġ} Ċ } Ċ