package Ġio . nova foundation . nova . feature _ account _ impl . presentation . node . details Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġio . nova foundation . nova . common . base . Base Fragment Ċ import Ġio . nova foundation . nova . common . di . Feature Utils Ċ import Ġio . nova foundation . nova . common . utils . on TextChanged Ċ import Ġio . nova foundation . nova . common . utils . set Drawable Start Ċ import Ġio . nova foundation . nova . common . utils . setVisible Ċ import Ġio . nova foundation . nova . feature _ account _ api . di . Account Feature Api Ċ import Ġio . nova foundation . nova . feature _ account _ impl . R Ċ import Ġio . nova foundation . nova . feature _ account _ impl . di . Account Feature Component Ċ import Ġkotlinx . android . synt hetic . main . fragment _ node _ details . node Details Host Field Ċ import Ġkotlinx . android . synt hetic . main . fragment _ node _ details . node Details Name Field Ċ import Ġkotlinx . android . synt hetic . main . fragment _ node _ details . node Details Network Type Ċ import Ġkotlinx . android . synt hetic . main . fragment _ node _ details . node Host Copy Ċ import Ġkotlinx . android . synt hetic . main . fragment _ node _ details . nova Toolbar Ċ import Ġkotlinx . android . synt hetic . main . fragment _ node _ details . update Btn Ċ Ċ class ĠNode Details Fragment Ġ: ĠBase Fragment < Node Details ViewModel >() Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠKEY _ NODE _ ID Ġ= Ġ" node _ id " ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Bundle ( nodeId : ĠInt ): ĠBundle Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠBundle (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Int ( KEY _ NODE _ ID , ĠnodeId ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ) Ġ= Ġlayout Inflater . inflate ( R . layout . fragment _ node _ details , Ġcontainer , Ġfalse ) ĊĊĠĠĠ Ġoverride Ġfun Ġinit Views () Ġ{ ĊĠĠĠĠĠĠĠ Ġnova Toolbar . set Home Button Listener Ġ{ ĠviewModel . back Clicked () Ġ} ĊĊĠĠĠĠĠĠĠ Ġnode Host Copy . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . copy Node Host Clicked () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġupdate Btn . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . update Clicked ( node Details Name Field . content . text . toString (), Ġnode Details Host Field . content . text . toString ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinject () Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠnodeId Ġ= Ġargument < Int >( KEY _ NODE _ ID ) ĊĠĠĠĠĠĠĠ ĠFeature Utils . get Feature < Account Feature Component >( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Context (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAccount Feature Api :: class . java ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. node Details Component Factory () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create ( this , ĠnodeId ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. inject ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsubscribe ( viewModel : ĠNode Details ViewModel ) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . node Model LiveData . observe Ġ{ Ġnode Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnode Details Name Field . content . setText ( node . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnode Details Host Field . content . setText ( node . link ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( node . network Model Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode Details Network Type . text Ġ= Ġnetwork Type . readable Name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode Details Network Type . set Drawable Start ( icon ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠviewModel . name Edit Enabled . observe Ġ{ Ġedit Enabled Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Btn . setVisible ( edit Enabled ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġnode Details Name Field . content . isEnabled Ġ= Ġedit Enabled ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġnode Details Name Field . content . on TextChanged Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . node Details Edited () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠviewModel . host Edit Enabled . observe Ġ{ Ġedit Enabled Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnode Details Host Field . content . isEnabled Ġ= Ġedit Enabled ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġnode Details Host Field . content . on TextChanged Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . node Details Edited () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠviewModel . update Button Enabled . observe Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Btn . isEnabled Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ