package Ġio . real world . android . ui . article Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . real world . cond uit . R Ċ import Ġcom . real world . cond uit . databinding . Fragment Article Binding Ċ Ċ import Ġio . real world . android . extensions . load Image Ċ import Ġio . real world . android . extensions . time Stamp Ċ Ċ class ĠArticle Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġ_ binding : ĠFragment Article Binding ? Ġ= Ġnull ĊĠĠĠ Ġlateinit Ġvar Ġarticle ViewModel : ĠArticle ViewModel ĊĠĠĠ Ġprivate Ġvar Ġarticle Id : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġarticle ViewModel Ġ= ĠViewModel Provider ( this ). get ( Article ViewModel :: class . java ) ĊĠĠĠĠĠĠĠ Ġ_ binding Ġ= ĠFragment Article Binding . inflate ( in flater , Ġcontainer , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġarguments ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarticle Id Ġ= Ġit . getString ( resources . getString ( R . string . arg _ article _ id )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġarticle Id ?. let Ġ{ Ġarticle ViewModel . fetch Article ( it ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġ_ binding ?. root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġarticle ViewModel . article . observe ({ Ġlifecycle Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ binding ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle TextView . text Ġ= Ġit . title ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbody TextView . text Ġ= Ġit . body ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġauthor TextView . text Ġ= Ġit . author . username ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate TextView . time Stamp Ġ= Ġit . createdAt ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġavatar ImageView . load Image ( it . author . image , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy View () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy View () ĊĠĠĠĠĠĠĠ Ġ_ binding Ġ= Ġnull ĊĠĠĠ Ġ} Ċ }