package Ġau . com . heart y . view Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġandroidx . databinding . ViewData Binding Ċ import Ġau . com . heart y . R Ċ import Ġau . com . heart y . databinding . Activity Base Binding Ċ Ċ abstract Ġclass ĠBase Activity < T Ġ: ĠView Data Binding > Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprotected Ġopen Ġval Ġshow Back Button Ġ= Ġfalse ĊĠĠĠ Ġprotected Ġlateinit Ġvar Ġbinding : ĠT ĊĠĠĠ Ġprotected Ġlateinit Ġvar Ġbase Binding : ĠActivity Base Binding ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġbase Binding Ġ= ĠData Binding Util . inflate ( layout Inflater , ĠR . layout . activity _ base , Ġnull , Ġfalse ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( base Binding . root ) ĊĠĠĠĠĠĠĠ Ġsetup Toolbar () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠsetContentView ( layout Res ID : ĠInt ) Ġ{ ĊĠĠĠĠĠĠ Ġbase Binding . main Content . let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠ Ġit . view Stub ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Resource Ġ= Ġlayout Res ID ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinf late () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding Ġ= Ġit . binding Ġas ĠT ĊĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsetup Toolbar () Ġ{ ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( base Binding . toolbar ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . title Ġ= Ġthis @ Base Activity . title ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Display Home As Up Enabled ( show Back Button ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Toolbar () Ġ= Ġbase Binding . toolbar Ċ }