package Ġcom . ebf studio . co met . base Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . navigation . fragment . Fragment Navigator Ċ import Ġandroidx . navigation . fragment . Fragment Navigator Extras Ċ import Ġandroidx . navigation . fragment . find Nav Controller Ċ import Ġcom . ebf studio . co met . navigation . Navigation Command Ċ Ċ abstract Ġclass ĠBase Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Created ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Created ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġobserve Navigation ( get ViewModel ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun Ġget ViewModel (): ĠBase ViewModel ĊĊĠĠĠ Ġ// ĠUT IL S ĠMETHO DS Ġ--- ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠOb serve Ġa Ġ[ Navigation Command ] Ġ[ LiveData ]. ĊĠĠĠĠ Ġ* ĠWhen Ġthis Ġ[ LiveData ] Ġis Ġupdated , Ġ[ Fragment ] Ġwill Ġnavigate Ġto Ġits Ġdestination ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġobserve Navigation ( viewModel : ĠBase ViewModel ) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . navigation . observe ( view Lifecycle Owner , ĠObserver Ġ{ Ġcommand Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( command ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠNavigation Command . To Ġ-> Ġfind Nav Controller (). navigate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcommand . directions , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Extras () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠNavigation Command . Back Ġ-> Ġfind Nav Controller (). navigate Up () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ[ Fragment Navigator Extras ] Ġmainly Ġused Ġto Ġenable ĠShared ĠElement Ġtransition ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġfun Ġget Extras (): ĠFragment Navigator . Extras Ġ= ĠFragment Navigator Extras () Ċ Ċ }