package Ġcom . sk . out lay . ui . categories Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . compose . ui . platform . Compose View Ċ import Ġandroidx . compose . ui . platform . View Composition Strategy Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . fragment . app . view Models Ċ import Ġandroidx . navigation . fragment . find Nav Controller Ċ import Ġandroidx . navigation . fragment . nav Args Ċ import Ġcom . sk . out lay . ui . common . Out lay UI Ċ import Ġdagger . h ilt . android . Android EntryPoint Ċ import Ġjava . util .* Ċ import Ġjavax . inject . Inject Ċ Ċ @ Android EntryPoint Ċ class ĠCategory Editor Fragment Ġ: ĠFragment () Ġ{ ĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar ĠviewModel Ass isted Factory : ĠCategory Editor ViewModel . Factory ĊĊĠĠĠ Ġprivate Ġval Ġargs : ĠCategory Editor Fragment Args Ġby Ġnav Args () ĊĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠCategory Editor ViewModel Ġby Ġview Models Ġ{ ĊĠĠĠĠĠĠĠ ĠCategory Editor ViewModel . provide Factory ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel Ass isted Factory , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġargs . categoryId ?. let Ġ{ ĠUUID . fromString ( it ) Ġ}, ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠCompose View ( require Context ()). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset View Composition Strategy ( View Composition Strategy . Dispose On View Tree Lifecycle Destroyed ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Content Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOut lay UI Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCategory Editor Content ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= ĠviewModel . title , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcategory Name Ġ= ĠviewModel . category Name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Category Name Changed Ġ= Ġ{ Ġvalue Ġ-> ĠviewModel . category Name Ġ= Ġvalue Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Back Pressed Ġ= Ġ:: back , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Save Clicked Ġ= Ġ:: save , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ ĠviewModel . load Initial Data () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġback () Ġ{ ĊĠĠĠĠĠĠĠ Ġfind Nav Controller (). pop Back Stack () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsave () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . save Category () ĊĠĠĠĠĠĠĠ Ġback () ĊĠĠĠ Ġ} Ċ }