package Ġcom . nl x . note app kotlin . features . main Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . util . Log Ċ import Ġandroidx . activity . result . Activity Result Ċ import Ġandroidx . activity . view Models Ċ import Ġandroidx . recyclerview . widget . St agger ed Grid LayoutManager Ċ import Ġcom . lx n . domain . model . Note Ċ import Ġcom . lx n . platform . core . view . Base Activity Ċ import Ġcom . lx n . platform . utils . observe Ċ import Ġcom . nl x . note app kotlin . databinding . Activity Main Binding Ċ import Ġcom . nl x . note app kotlin . features . add note . Add Note Activity Ċ import Ġdagger . h ilt . android . Android EntryPoint Ċ import Ġjavax . inject . Inject Ċ Ċ @ Android EntryPoint Ċ class ĠMainActivity Ġ: ĠBase Activity < Activity Main Binding , ĠMain ViewModel >( Activity Main Binding :: inflate ) Ġ{ ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġnotes Adapter : ĠNotes Adapter ĊĊĠĠĠ Ġoverride Ġval ĠviewModel : ĠMain ViewModel Ġby Ġview Models () ĊĊĠĠĠ Ġoverride Ġfun Ġadd View Listener () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġr cv Notes . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Manager Ġ= ĠSt agger ed Grid LayoutManager ( 2 , ĠSt agger ed Grid LayoutManager . VERTICAL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Item Decoration ( Grid Item Decoration ( 2 4 , Ġ 2 , Ġtrue )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= Ġnotes Adapter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfab Add Note . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen Activity For Result ( Add Note Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Data Receiver Activity For Result ( activity Result : ĠActivity Result ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( activity Result . result Code Ġ== ĠActivity . RESULT _ OK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . load Notes () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Loaded () Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( viewModel ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġobserve ( list Notes , Ġ:: handle Notes List ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠviewModel . load Notes () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhandle Notes List ( list : ĠList < Note > ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( list Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotes Adapter . submit List ( list ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠLog . e (" N aml xc nt t ", Ġ"$ list ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġadd Data Observer () Ġ{ ĊĊĠĠĠ Ġ} Ċ Ċ }