package Ġcom . an ib al vent ura . flags quiz . ui Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġandroidx . navigation . Nav Controller Ċ import Ġandroidx . navigation . find Nav Controller Ċ import Ġandroidx . navigation . ui . Navigation UI . navigate Up Ċ import Ġandroidx . navigation . ui . setup ActionBar With Nav Controller Ċ import Ġandroidx . navigation . ui . setup With Nav Controller Ċ import Ġcom . an ib al vent ura . flags quiz . CONST Ċ import Ġcom . an ib al vent ura . flags quiz . R Ċ import Ġcom . an ib al vent ura . flags quiz . Utils Ċ import Ġcom . an ib al vent ura . flags quiz . Utils . Companion . shared Pref Ċ import Ġcom . an ib al vent ura . flags quiz . databinding . Activity Main Binding Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġ// ĠUse ĠData Binding . ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠActivity Main Binding ĊĊĠĠĠ Ġ// ĠNav Controller . ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġnav Controller : ĠNav Controller ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠSet Ġtheme Ġafter Ġsplash Ġscreen . ĊĠĠĠĠĠĠĠ Ġset Theme ( R . style . App Theme ) ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠUse ĠData Binding Ġto Ġset Ġthe Ġactivity Ġview . ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠData Binding Util . set ContentView ( this , ĠR . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠShow ĠWelcome Activity Ġfor Ġthe Ġfirst Ġtime . ĊĠĠĠĠĠĠĠ Ġstart Welcome () ĊĊĠĠĠĠĠĠĠ Ġ// ĠSetup Ġnavigation . ĊĠĠĠĠĠĠĠ Ġsetup Navigation () ĊĊĠĠĠĠĠĠĠ Ġ// ĠSetup Ġtheme . ĊĠĠĠĠĠĠĠ ĠUtils . setup Theme ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* ĊĠĠĠĠ Ġ* ĠStart Ġthe ĠWelcome Activity Ġwhen Ġthe Ġuser Ġinstall Ġthe Ġapp . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġstart Welcome () Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠGet Ġstatus Ġfrom ĠSharedPreferences . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ! shared Pref ( this ). getBoolean ( CONST . SHOW _ ACT , Ġfalse ) Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠWelcome Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCalled Ġwhen Ġthe Ġh amburger Ġmenu Ġor Ġback Ġbutton Ġare Ġpressed Ġon Ġthe ĠToolbar . ĊĠĠĠĠ Ġ* ĠDelegate Ġthis Ġto ĠNavigation . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġon Support Navigate Up () Ġ= Ġnavigate Up ( ĊĠĠĠĠĠĠĠ Ġfind Nav Controller ( R . id . nav Host Fragment ), Ġbinding . drawer Layout ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSetup ĠNavigation Ġfor Ġthis ĠActivity . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġsetup Navigation () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠSet Ġthe Ġtoolbar . ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( binding . toolbar ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠFind Ġthe Ġnav Ġcontroller . ĊĠĠĠĠĠĠĠ Ġnav Controller Ġ= Ġfind Nav Controller ( R . id . nav Host Fragment ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠSetup Ġthe Ġaction Ġbar , Ġtell Ġit Ġabout Ġthe ĠDraw er Layout . ĊĠĠĠĠĠĠĠ Ġsetup ActionBar With Nav Controller ( nav Controller , Ġbinding . drawer Layout ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠSetup Ġthe Ġleft Ġdrawer Ġ( called Ġa ĠNavigation View ). ĊĠĠĠĠĠĠĠ Ġbinding . navigation View . setup With Nav Controller ( nav Controller ) ĊĠĠĠ Ġ} Ċ } ĊĊ