package Ġcom . ps he ty e . apim odel er . ui . home Ċ Ċ import Ġandroid . content . Context Ċ 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 . view Models Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . ps he ty e . apim odel er . R Ċ import Ġcom . ps he ty e . apim odel er . di . components . Fragment Component Ċ import Ġcom . ps he ty e . apim odel er . di . interfaces . Provide Activity Component Ċ import Ġcom . ps he ty e . apim odel er . ui . home . recyclerview . Module Adapter Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠHome Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġfragment Component : ĠFragment Component ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġmodule Adapter : ĠModule Adapter ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġinflater . context ĊĊĠĠĠĠĠĠĠ Ġinitialize Fragment Component ( context ) ĊĠĠĠĠĠĠĠ Ġfragment Component . inject ( this ) ĊĊĠĠĠĠĠĠĠ Ġval Ġroot Ġ= Ġinflater . inflate ( R . layout . fragment _ home , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġval Ġre cyclerView : ĠRecyclerView Ġ= Ġroot . findViewById ( R . id . modules ) ĊĠĠĠĠĠĠĠ Ġre cyclerView . layout Manager Ġ= ĠLinearLayoutManager ( context ) ĊĠĠĠĠĠĠĠ Ġre cyclerView . adapter Ġ= Ġmodule Adapter ĊĊĠĠĠĠĠĠĠ Ġval Ġhome ViewModel : ĠHome ViewModel Ġby Ġview Models () ĊĠĠĠĠĠĠĠ Ġhome ViewModel . supported Modules . observe ( view Lifecycle Owner , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodule Adapter . submit List ( it ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġreturn Ġroot ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinitialize Fragment Component ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfragment Component Ġ= Ġ( context Ġas ĠProvide Activity Component ). getActivity Component () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Fragment Component Factory () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create () ĊĠĠĠ Ġ} Ċ }