package Ġcom . wild an p urn omo . cab aca . ui . book Detail Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . fragment . app . activity ViewModels Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġandroidx . navigation . fragment . find Nav Controller Ċ import Ġandroidx . navigation . fragment . nav Args Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . request . RequestOptions Ċ import Ġcom . wild an p urn omo . cab aca . R Ċ import Ġcom . wild an p urn omo . cab aca . data . book . Book ViewModel Ċ import Ġcom . wild an p urn omo . cab aca . ui . Main Fragment Directions Ċ import Ġkotlinx . android . synt hetic . main . fragment _ book _ detail .* ĊĊ Ċ class ĠBook Detail Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġargs : ĠBook Detail Fragment Args Ġby Ġnav Args () ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Book ViewModel : ĠBook ViewModel ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Book Detail ViewModel : ĠBook Detail ViewModel ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠInf late Ġthe Ġlayout Ġfor Ġthis Ġfragment ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ book _ detail , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġm Book ViewModel Ġ= ĠViewModel Provider ( this ). get ( Book ViewModel :: class . java ) ĊĠĠĠĠĠĠĠ Ġm Book Detail ViewModel Ġ= ĠViewModel Provider ( this ). get ( Book Detail ViewModel :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġfrag Book Detail To Writer Detail . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠuserId Ġ= Ġm Book ViewModel . get Writer Id From Detail () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaction Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBook Detail Fragment Directions . action Book Detail Page To Writer Detail Page ( userId ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfind Nav Controller (). navigate ( action ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm Book ViewModel . set Book Detail ( args . book Detail Args ) ĊĊĠĠĠĠĠĠĠ Ġm Book ViewModel . get Book Detail (). observe ( view Lifecycle Owner , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSet ĠImage ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġoptions : ĠRequest Options Ġ= ĠRequest Options () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fit Center () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. placeholder ( R . mip map . ic _ launcher _ round ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. error ( R . mip map . ic _ launcher _ round ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġimage URL Ġ= Ġm Book Detail ViewModel . getImage Url ( it . cover Url . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( this ). load ( image URL ). apply ( options ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( frag Book Detail Img ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSet ĠTitle ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrag Book Detail Title Value . text Ġ= Ġit . title . toString () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSet ĠGen re ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgenre String Ġ= Ġm Book Detail ViewModel . get Genre String ( it . genre ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrag Book Detail Genre Value . text Ġ= Ġgenre String ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSet ĠAuthor ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrag Book Detail Author Value . text Ġ= Ġit . writer By Writer Id ?. user By UserId ?. name . toString () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSet ĠDesc ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrag Book Detail Desc Value . text Ġ= ĠString . format ( it . syn opsis . toString ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrag Book Detail Content . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrag Book Detail ProgressBar . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ }