package Ġcom . pro jet . mini pro jet . android V ox . fragments Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . view Models Ċ import Ġandroidx . navigation . fragment . nav Args Ċ import Ġcom . get stream . sdk . chat . view model . Message Input ViewModel Ċ import Ġcom . get stream . sdk . chat . view model . messages . Message List ViewModel Ċ import Ġcom . pro jet . mini pro jet . android V ox . R Ċ import Ġcom . pro jet . mini pro jet . android V ox . databinding . Fragment Chat Binding Ċ import Ġio . get stream . chat . android . ui . message . input . view model . bind View Ċ import Ġio . get stream . chat . android . ui . message . list . header . view model . Message List Header ViewModel Ċ import Ġio . get stream . chat . android . ui . message . list . header . view model . bind View Ċ import Ġio . get stream . chat . android . ui . message . list . view model . bind View Ċ import Ġio . get stream . chat . android . ui . message . list . view model . factory . Message List ViewModel Factory Ċ import Ġkotlinx . android . synt hetic . main . fragment _ channel .* ĊĊ Ċ class ĠChat Fragment Ġ: ĠFragment () Ġ{ ĊĠĠĠ Ġprivate Ġval Ġargs : ĠChat Fragment Args Ġby Ġnav Args () ĊĊĠĠĠ Ġprivate Ġvar Ġ_ binding : ĠFragment Chat Binding ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġbinding Ġget () Ġ= Ġ_ binding !! ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠInf late Ġthe Ġlayout Ġfor Ġthis Ġfragment ĊĠĠĠĠĠĠĠ Ġ_ binding Ġ= ĠFragment Chat Binding . inflate ( in flater , Ġcontainer , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġsetup Messages () ĊĊĠĠĠĠĠĠĠ Ġbinding . messages Header View . set Back Button ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Activity (). on Back Pressed () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsetup Messages () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfactory Ġ= ĠMessage List ViewModel Factory ( cid Ġ= Ġargs . channelId ) ĊĊĠĠĠĠĠĠĠ Ġval Ġmessage List Header ViewModel : ĠMessage List Header ViewModel Ġby Ġview Models Ġ{ Ġfactory Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġmessage List ViewModel : ĠMessage List ViewModel Ġby Ġview Models Ġ{ Ġfactory Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġmessage Input ViewModel : ĠMessage Input ViewModel Ġby Ġview Models Ġ{ Ġfactory Ġ} ĊĊĠĠĠĠĠĠĠ Ġmessage List Header ViewModel . bind View ( binding . messages Header View , Ġview Lifecycle Owner ) ĊĠĠĠĠĠĠĠ Ġmessage List ViewModel . bind View ( binding . message List , Ġview Lifecycle Owner ) ĊĠĠĠĠĠĠĠ Ġmessage Input ViewModel . bind View ( binding . message Input View , Ġview Lifecycle Owner ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy View () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy View () ĊĠĠĠĠĠĠĠ Ġ_ binding Ġ= Ġnull ĊĠĠĠ Ġ} Ċ }