package Ġcom . hak any il ma zz . rick and mort y . ui . base Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . annotation . Layout Res Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġandroidx . databinding . ViewData Binding Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġcom . google . android . material . sn ackbar . Snackbar Ċ import Ġcom . hak any il ma zz . rick and mort y . R Ċ import Ġcom . hak any il ma zz . rick and mort y . di . Injector Ċ import Ġcom . hak any il ma zz . rick and mort y . util . Network Ċ Ċ abstract Ġclass ĠBase Fragment < B Ġ: ĠView Data Binding , ĠV Ġ: ĠViewModel >( ĊĠĠĠ Ġ@ Layout Res Ġprivate Ġval Ġlayout Id Res : ĠInt Ċ ) Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprotected Ġvar Ġbinding : ĠB ? Ġ= Ġnull ĊĠĠĠ Ġprotected Ġvar ĠviewModel : ĠV ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠData Binding Util . inflate < B >( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinflater , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Id Res , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlifecycle Owner Ġ= Ġview Lifecycle Owner ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġbinding !!. root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy View () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy View () ĊĠĠĠĠĠĠĠ Ġbinding Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠĠĠĠĠ Ġif Ġ(! Network . is Network Available ( require Context (). application Context )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding ?. root ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( R . string . please _ connect _ to _ network ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . LENGTH _ LONG ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġinit ViewModel ( viewModel : ĠV ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . viewModel Ġ= ĠviewModel ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Injector (): ĠInject or Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ( activity ?. application Ġas ĠInject or ) ĊĠĠĠ Ġ} Ċ }