package Ġsan che z . san che z . ser gio . feature _ main . ui . tv Ċ Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġsan che z . san che z . ser gio . feature _ main . di . factory . Feature Main Component Factory Ċ import Ġsan che z . san che z . ser gio . feature _ main . domain . model . Tv Ċ import Ġsan che z . san che z . ser gio . feature _ main . ui . core . IN avig ator Manager Ċ import Ġsan che z . san che z . ser gio . movie _ add ict s . core . ui . Support Adapter Ċ import Ġsan che z . san che z . ser gio . movie _ add ict s . core . ui . Support L CE Fragment Ċ import Ġjavax . inject . Inject Ċ Ċ /** Ċ Ġ* ĠT v ĠList ĠFragment Ċ Ġ*/ Ċ class ĠT v List Fragment Ġ: ĠSupport L CE Fragment < Tv List ViewModel , ĠT v , ĠT v ListAdapter . Tv ViewHolder >( Tv List ViewModel :: class . java ), ĠT v ListAdapter . On Tv ClickListener Ġ{ ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġnavigation Manager : ĠIN avig ator Manager ĊĊĠĠĠ Ġoverride Ġfun Ġon Attach Component () Ġ{ ĊĠĠĠĠĠĠĠ ĠFeature Main Component Factory . get Tv List Component ( require Activity () Ġas ĠAppCompatActivity ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. inject ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Detach Component () Ġ{ ĊĠĠĠĠĠĠĠ ĠFeature Main Component Factory . remove Tv List Component () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Build Adapter (): ĠSupport Adapter < Tv ListAdapter . Tv ViewHolder , ĠT v > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠT v ListAdapter ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext Ġ= Ġrequire Context (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ= Ġmutable ListOf (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv Item Listener Ġ= Ġthis @ Tv List Fragment ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ĠOn ĠT v ĠClick ed ĊĠĠĠĠ Ġ* Ġ Ġ@ param Ġtv ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġon Tv Clicked ( tv : ĠT v ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnavigation Manager . show Tv Detail ( tv . id ) ĊĠĠĠ Ġ} Ċ }