package Ġcom . example . m wt Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroidx . appcompat . app . ActionBar Drawer Toggle Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . core . view . Gravity Compat Ċ import Ġcom . example . m wt . fragments . b mi . BM IF ragment Ċ import Ġcom . example . m wt . fragments . dr ink ing statistics . Dr ink ing Statistics Fragment Ċ import Ġcom . example . m wt . fragments . goals . Go als Fragment Ċ import Ġcom . example . m wt . fragments . information . Information Fragment Ċ import Ġcom . example . m wt . fragments . settings . Settings Fragment Ċ import Ġcom . example . m wt . fragments . tracker Log . Tracker Main Page Ċ import Ġcom . example . m wt . util . ACTIVITY _ SELECTION _ NOTIFICATION Ċ import Ġcom . example . m wt . util . ACTIVITY _ SELECTION _ NOTIFICATION _ ACH IE VE MENT Ċ import Ġcom . example . m wt . util . ACTIVITY _ SELECTION _ NOTIFICATION _ B MI Ċ import Ġcom . google . android . material . navigation . Navigation View Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġkotlinx . android . synt hetic . main . app _ bar _ main .* Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity (), ĠNavigation View . On Navigation ItemSelected Listener Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĊĊĠĠĠĠĠĠĠ Ġval Ġtoggle Ġ= ĠAction Bar Drawer Toggle ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis , Ġdrawer _ layout , Ġtoolbar , ĠR . string . navigation _ drawer _ open , ĠR . string . navigation _ drawer _ close ) ĊĠĠĠĠĠĠĠ Ġdrawer _ layout . add Drawer Listener ( toggle ) ĊĠĠĠĠĠĠĠ Ġtoggle . sync State () ĊĊĠĠĠĠĠĠĠ Ġnav _ view . set Navigation ItemSelected Listener ( this ) ĊĊĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= Ġwhen Ġ( intent . getString Extra ( ACTIVITY _ SELECTION _ NOTIFICATION )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠACT IVITY _ SELECTION _ NOTIFICATION _ ACH IE VE MENT Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoolbar . title Ġ= ĠgetString ( R . string . goals ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGo als Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠACT IVITY _ SELECTION _ NOTIFICATION _ B MI Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoolbar . title Ġ= ĠgetString ( R . string . b mi ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBM IF ragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoolbar . title Ġ= ĠgetString ( R . string . water _ tracker ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTracker Main Page () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsupport FragmentManager ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. beginTransaction () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ( R . id . fragment _ place _ holder , Ġfragment ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. commit () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( drawer _ layout . is Drawer Open ( Gravity Compat . START )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer _ layout . close Drawer ( Gravity Compat . START ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Back Pressed () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . main , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdisplay Fragment ( id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= Ġwhen Ġ( id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ tracker Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoolbar . title Ġ= ĠgetString ( R . string . water _ tracker ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTracker Main Page () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ statistics Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoolbar . title Ġ= ĠgetString ( R . string . dr ink ing _ statistics ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD rink ing Statistics Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ goals Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoolbar . title Ġ= ĠgetString ( R . string . goals ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGo als Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ b mi Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoolbar . title Ġ= ĠgetString ( R . string . b mi ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBM IF ragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ settings Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoolbar . title Ġ= ĠgetString ( R . string . settings ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSettings Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ information Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoolbar . title Ġ= ĠgetString ( R . string . info ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInformation Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsupport FragmentManager ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. beginTransaction () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ( R . id . fragment _ place _ holder , Ġfragment ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. commit () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Navigation ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġdisplay Fragment ( item . itemId ) ĊĠĠĠĠĠĠĠ Ġdrawer _ layout . close Drawer ( Gravity Compat . START ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} Ċ Ċ } Ċ