package Ġcom . base . fragment Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . databinding . ViewData Binding Ċ import Ġcom . base . view model . Fragment ViewModel Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġv op ham t uan anh Ġon Ġ 1 / 7 / 1 8 . Ċ Ġ*/ Ċ abstract Ġclass ĠBase Inject ing Fragment < B Ġ: ĠView Data Binding , ĠVM Ġ: ĠFragment ViewModel , ĠComponent > Ġ: ĠBase Fragment < B , ĠVM >() Ġ{ ĊĊĠĠĠ Ġprotected Ġvar Ġm Component : ĠComponent ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġon Attach ( context : ĠContext ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attach ( context ) ĊĠĠĠĠĠĠĠ Ġm Component Ġ= Ġcreate Component () ĊĠĠĠĠĠĠĠ Ġm Component ?. let Ġ{ Ġon Inject ( it ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġabstract Ġfun Ġcreate Component (): ĠComponent ? ĊĊĠĠĠ Ġprotected Ġabstract Ġfun Ġon Inject ( component : ĠComponent ) Ċ Ċ }