package Ġcom . red ridge apps . tr ak x . ui . base Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġandroidx . databinding . ViewData Binding Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġandroidx . lifecycle . ViewModel Providers Ċ import Ġcom . red ridge apps . tr ak x . ui . common . Activity Error Actions Ċ import Ġdagger . android . support . D agger AppCompatActivity Ċ import Ġjavax . inject . Inject Ċ Ċ abstract Ġclass ĠBase Activity < VM Ġ: ĠBase ViewModel , ĠV DB Ġ: ĠView Data Binding > Ġ: ĠD agger AppCompatActivity () Ġ{ ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar ĠviewModel Factory : ĠViewModel Provider . Factory ĊĊĠĠĠ Ġprotected Ġlateinit Ġvar Ġbinding : ĠV DB ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠ Ġprotected Ġlateinit Ġvar ĠviewModel : ĠVM ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠ Ġprotected Ġabstract Ġval Ġlayout Res Id : ĠInt ĊĊĠĠĠ Ġprotected Ġabstract Ġval ĠviewModel Class : ĠClass < VM > ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠData Binding Util . set ContentView ( this , Ġlayout Res Id ) ĊĊĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠViewModel Providers ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. of ( this , ĠviewModel Factory ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get ( viewModel Class ) ĊĊĠĠĠĠĠĠĠ ĠActivity Error Actions . handle Errors ( this , ĠviewModel . errors LiveData ) ĊĠĠĠ Ġ} Ċ } Ċ