package Ġn tu . platform . cook ery . ui . fragment . chat _ list Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . view .* Ċ import Ġandroidx . fragment . app . view Models Ċ import Ġandroidx . navigation . fragment . find Nav Controller Ċ import Ġandroidx . recyclerview . widget . Divider Item Decoration Ċ import Ġn tu . platform . cook ery . base . Binding Fragment Ċ import Ġn tu . platform . cook ery . databinding . Fragment Chat List Binding Ċ import Ġn tu . platform . cook ery . util . set ToolBar Ċ Ċ private Ġconst Ġval ĠTAG Ġ= Ġ" Cy . chat list " Ċ class ĠChat List Fragment : Ġ ĠBinding Fragment < Fragment Chat List Binding >() Ġ{ ĊĠĠĠ Ġoverride Ġval Ġbinding Inflater : Ġ( LayoutInflater ) Ġ-> ĠFragment Chat List Binding ĊĠĠĠ Ġget () Ġ= ĠFragment Chat List Binding :: inflate ĊĊĠĠĠ Ġprivate Ġval Ġ_ viewModel : ĠChat List ViewModel Ġby Ġview Models () ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĊĠĠĠĠĠĠĠ Ġinit Binding () ĊĠĠĠĠĠĠĠ Ġobserve ViewModel () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġinit Binding () Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( binding ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlifecycle Owner Ġ= Ġview Lifecycle Owner ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel Ġ= Ġ_ viewModel ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset ToolBar ( toolbar Layout . toolbar ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġrv Chat List . adapter Ġ= Ġ_ viewModel . chat ListAdapter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrv Chat List . addItem Decoration ( ĠDiv ider Item Decoration ( require Context (), ĠDiv ider Item Decoration . VERTICAL )) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġobserve ViewModel (){ ĊĠĠĠĠĠĠĠ Ġwith (_ viewModel ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Chat Clicked . observe ( view Lifecycle Owner ,{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Chat ( it . key !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġto Chat ( chat Id : String ){ ĊĠĠĠĠĠĠĠ Ġval Ġaction Ġ= ĠChat List Fragment Directions . action Chat List Fragment To Chat Fragment ( chat Id ) ĊĠĠĠĠĠĠĠ Ġfind Nav Controller (). navigate ( action ) ĊĠĠĠ Ġ} ĊĊĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠĠĠĠĠ Ġ_ viewModel . chat ListAdapter . start Listening () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Stop () Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ viewModel . chat ListAdapter . stop Listening () ĊĠĠĠĠĠĠĠ Ġsuper . on Stop () ĊĠĠĠ Ġ} Ċ }