package Ġcom . m ash up . healthy up . features . setting Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . fragment . app . activity ViewModels Ċ import Ġandroidx . lifecycle . lifecycle Scope Ċ import Ġandroidx . lifecycle . repeat On Lifecycle Ċ import Ġandroidx . navigation . Nav Controller Ċ import Ġandroidx . navigation . Navigation Ċ import Ġcom . m ash up . healthy up . R Ċ import Ġcom . m ash up . healthy up . base . Base Fragment Ċ import Ġcom . m ash up . healthy up . databinding . Fragment Setting Main Binding Ċ import Ġcom . m ash up . healthy up . features . web . Health y Up WebView Activity Ċ import Ġcom . m ash up . healthy up . features . web . Web Constants Ċ import Ġkotlinx . coroutines . flow . collect Ċ import Ġkotlinx . coroutines . launch Ċ import Ġjava . util .* Ċ Ċ interface ĠOn Back Pressed Listener Ġ{ ĊĠĠĠ Ġfun Ġon Back Pressed () Ċ } Ċ Ċ class ĠSetting Main Fragment Ġ: ĊĠĠĠ ĠBase Fragment < Fragment Setting Main Binding >( R . layout . fragment _ setting _ main ), ĊĠĠĠ ĠOn Back Pressed Listener Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠviewModel Ġby Ġactivity ViewModels < Setting ViewModel >() ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġnav Controller : ĠNav Controller ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Created ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Created ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġbinding . viewModel Ġ= ĠviewModel ĊĠĠĠĠĠĠĠ Ġnav Controller Ġ= ĠNavigation . find Nav Controller ( require View ()) ĊĠĠĠĠĠĠĠ Ġinit Listeners () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Listeners () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . init Listeners () ĊĊĠĠĠĠĠĠĠ Ġbinding . btn Change Profile . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnav Controller . navigate ( R . id . action _ setting Main Fragment _ to _ change Profile Fragment ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . btn Split Setting . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHealth y Up WebView Activity . start ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext Ġ= Ġrequire Context (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload Url Ġ= ĠWeb Constants . URL . SPLIT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaction Ġ= Ġ{ Ġflags Ġ= ĠIntent . FLAG _ ACTIVITY _ SINGLE _ TOP Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity ?. override Pending Transition ( 0 , Ġ 0 ); ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . btn Change Co ach Voice . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnav Controller . navigate ( R . id . action _ setting Main Fragment _ to _ change Co ach Voice Fragment ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . btn Change Exercise Speed . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnav Controller . navigate ( R . id . action _ setting Main Fragment _ to _ change Exercise Speed Fragment ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . btn Change Explanation Length . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnav Controller . navigate ( R . id . action _ setting Main Fragment _ to _ change Explanation Length Fragment ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbinding . app bar . btn Close . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity ?. finish () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Ob serves () Ġ{ ĊĠĠĠĠĠĠĠ Ġview Lifecycle Owner . lifecycle Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . user . collect Ġ{ Ġuser Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . btn Split Setting . text Ġ= Ġuser . split Type . value ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġclose Fragment () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfragment Manager Ġ= Ġactivity ?. support FragmentManager ĊĠĠĠĠĠĠĠ Ġfragment Manager ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . beginTransaction (). remove ( this @ Setting Main Fragment ). commit () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġclose Fragment () ĊĠĠĠ Ġ} Ċ } Ċ