package Ġcom . example . in otes Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . AsyncTask Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . widget . Toast Ċ import Ġcom . example . in otes . db . Note Ċ import Ġcom . example . in otes . db . Note Database Ċ import Ġkotlinx . android . synt hetic . main . activity _ add .* Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ Ċ class Ġadd Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġnote ID Ġ: ĠString Ġ= Ġ"" ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ add ) ĊĠĠĠĠĠĠĠ Ġvar Ġdb Ġ= ĠNote Database ( this ) ĊĠĠĠĠĠĠĠ Ġnote ID Ġ= Ġintent . getString Extra (" note Id ") ĊĠĠĠĠĠĠĠ ĠLog . i (" note ID to Add Activity 2 ", Ġnote ID . toString ()) ĊĊĠĠĠĠĠĠĠ ĠThread { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( note ID . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsingle Note Ġ= Ġdb . get Note Dao (). get Note ById ( note ID . toInt ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . ed Title . setText ( single Note . title ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . ed Body . setText ( single Note . description ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. start () ĊĠĠĠĠĠĠĠ Ġbtn Back . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠMainActivity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbtn Save . setOnClickListener { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtitle Ġ= Ġed Title . text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbody Ġ= Ġed Body . text ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( title . isEmpty ()){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġed Title . error Ġ= Ġ" Enter Ġit Ġto Ġgo " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġed Title . request Focus () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ setOnClickListener ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Name . text Ġ= Ġtitle . toString () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠThread { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( note ID . isEmpty ()){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnote Ġ= ĠNote ( title . toString (), Ġbody . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsave Note ( note ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} else Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnote Ġ= ĠNote ( title . toString (), Ġbody . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnote . id Ġ= Ġnote ID . toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb . get Note Dao (). update Note ( note ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" updated Note Log ", Ġnote . toString ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" getAll Notes ", Ġdb . get Note Dao ()?. getAll Notes (). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. start () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsave Note ( note : ĠNote ){ ĊĠĠĠĠĠĠĠ Ġclass ĠSave Note Ġ: ĠAsync Task < Void , ĠVoid , ĠVoid > (){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdo In Background ( var arg Ġparams : ĠVoid ?): ĠVoid ? Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNote Database ( this @ add Activity ). get Note Dao (). add Note ( note ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Post Execute ( result : ĠVoid ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Post Execute ( result ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i (" note Result Text Data ", Ġresult . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this @ add Activity , Ġ" Save ĠInsert ion ĠCompleted : Ġ" Ġ+ Ġnote . toString (), ĠToast . LENGTH _ LONG ). show () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠSave Note (). execute () ĊĠĠĠ Ġ} Ċ } Ċ