package Ġcom . imp liz studio . android . app . pit zz . base Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . SharedPreferences Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . Menu Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġandroidx . databinding . ViewData Binding Ċ import Ġcom . imp liz studio . android . app . pit zz . data . model . constant . Constant Ċ import Ġcom . imp liz studio . android . app . pit zz . util . Language Util Ċ Ċ /** Ċ Ġ* Ġ@ param < B > Ġ- ĠMean Ġlayout Ġbinding Ċ Ġ*/ Ċ abstract Ġclass ĠBase Activity < B : ĠView Data Binding > Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠB ĊĊĠĠĠ Ġprotected Ġabstract Ġfun Ġget ContentView (): ĠInt ĊĠĠĠ Ġprotected Ġabstract Ġfun Ġon Created ( savedInstanceState : ĠBundle ?) ĊĊĠĠĠ Ġprotected Ġfun Ġget Language Preference (): ĠSharedPreferences Ġ= Ġget SharedPreferences ( Constant . Tag . LANGUAGE _ PREFER ENCE , ĠContext . MODE _ PRIVATE ) ĊĊĠĠĠ Ġoverride Ġfun Ġattach Base Context ( new Base : ĠContext ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠLanguage Util . on Attach ( new Base ) ĊĠĠĠĠĠĠĠ Ġsuper . attach Base Context ( new Base ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ ĠLanguage Util . on Attach ( this ) ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠData Binding Util . set ContentView < B >( this , Ġget ContentView ()). apply Ġ{ Ġlifecycle Owner Ġ= Ġthis @ Base Activity Ġ} ĊĊĠĠĠĠĠĠĠ Ġon Language () ĊĊĠĠĠĠĠĠĠ Ġon Created ( savedInstanceState ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġon Language () ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . onCreate Options Menu ( menu ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġopen Ġfun Ġon English Language () Ġ{ ĠLanguage Util . set Locale ( this , ĠConstant . Key . LANGUAGE _ EN GL ISH ) Ġ} ĊĊĠĠĠ Ġprotected Ġopen Ġfun Ġon Ind onesia Language () Ġ{ ĠLanguage Util . set Locale ( this , ĠConstant . Key . LANGUAGE _ IND ONESIA ) Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġget Binding () Ġ= Ġbinding ĊĊĠĠĠ Ġprivate Ġfun Ġon Language () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( get Language Preference (). getString ( Constant . Key . LANGUAGE , ĠConstant . Key . LANGUAGE _ EN GL ISH )) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠConstant . Key . LANGUAGE _ EN GL ISH Ġ-> Ġon English Language () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠConstant . Key . LANGUAGE _ IND ONESIA Ġ-> Ġon Ind onesia Language () ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ }