package Ġcom . fe el sok man . android template . ui . fragments . another Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . fragment . app . activity ViewModels Ċ import Ġandroidx . fragment . app . view Models Ċ import Ġandroidx . lifecycle . lifecycle Scope Ċ import Ġcom . fe el sok man . android template . R Ċ import Ġcom . fe el sok man . android template . di . component . App Component Ċ import Ġcom . fe el sok man . android template . di . getComponent Ċ import Ġcom . fe el sok man . android template . extensions . saved State Ċ import Ġcom . fe el sok man . android template . preferences . App Preferences Ċ import Ġcom . fe el sok man . android template . ui . activity . view model . Todo ViewModel Ċ import Ġcom . fe el sok man . android template . ui . base . Base Fragment Ċ import Ġcom . fe el sok man . android template . ui . fragments . another . view model . Another ViewModel Ċ import Ġcom . fe el sok man . android template . utilities . view model . ViewModel Factory Ċ import Ġkotlinx . android . synt hetic . main . fragment _ another .* Ċ import Ġkotlinx . coroutines . flow . collect Ċ import Ġkotlinx . coroutines . launch Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠAnother Fragment Ġ: ĠBase Fragment () Ġ{ ĊĊĠĠĠ Ġ@ Inject Ġinternal Ġlateinit Ġvar Ġapp Preferences : ĠApp Preferences ĊĠĠĠ Ġ@ Inject Ġinternal Ġlateinit Ġvar ĠviewModel Factory : ĠViewModel Factory ĊĊĠĠĠ Ġprivate Ġval ĠviewModel Another Ġby Ġview Models < Another ViewModel > Ġ{ ĠviewModel Factory Ġ} ĊĠĠĠ Ġprivate Ġval Ġtodo ViewModel Ġby Ġactivity ViewModels < Todo ViewModel >() ĊĊĠĠĠ Ġprivate Ġval Ġstate Ġby Ġsaved State () ĊĠĠĠ Ġprivate Ġvar Ġcount : ĠInt Ġby Ġstate . property ( defaultValue Ġ= Ġ 0 ) ĊĠĠĠ Ġprivate Ġvar Ġtext : ĠString Ġby Ġstate . property ( ĊĠĠĠĠĠĠĠ Ġ{ ĠgetString ( it , Ġ" default Ġvalue ") Ġ}, ĊĠĠĠĠĠĠĠ Ġ{ Ġkey , Ġvalue Ġ-> Ġput String ( key , Ġvalue ) Ġ}) ĊĠĠĠ Ġprivate Ġvar Ġbool : ĠBoolean Ġby Ġstate . property ( defaultValue Ġ= Ġfalse ) ĊĊĠĠĠ Ġoverride Ġfun Ġon Attach ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinject Dependencies ( context ) ĊĠĠĠĠĠĠĠ Ġsuper . on Attach ( context ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ another , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġview Lifecycle Owner . lifecycle Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtodo ViewModel . todo Shared Flow . collect Ġ{ Ġtodo String Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( todo String Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView 1 . text Ġ= Ġtodo String ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView 1 . text Ġ= Ġ" null " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinject Dependencies ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ( context Ġas ĠAppCompatActivity ). application . getComponent < App Component >(). inject ( this ) ĊĠĠĠ Ġ} Ċ } Ċ