package Ġcom . example . hg br as il . presentation . main Ċ Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . appcompat . app . ActionBar Drawer Toggle Ċ import Ġandroidx . appcompat . widget . Toolbar Ċ import Ġandroidx . core . view . Gravity Compat Ċ import Ġandroidx . drawer layout . widget . Drawer Layout Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . example . hg br as il . R Ċ import Ġcom . example . hg br as il . presentation . main . fragments . about . About Fragment Ċ import Ġcom . example . hg br as il . presentation . main . fragments . api . Api Fragment Ċ import Ġcom . example . hg br as il . presentation . main . fragments . finance . Finance Fragment Ċ import Ġcom . example . hg br as il . presentation . main . fragments . geo . Geo Fragment Ċ import Ġcom . example . hg br as il . presentation . main . fragments . home . Home Fragment Ċ import Ġcom . example . hg br as il . presentation . main . fragments . weather . Weather Fragment Ċ import Ġcom . google . android . material . navigation . Navigation View Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity (), ĠNavigation View . On Navigation ItemSelected Listener Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġm Toolbar : ĠToolbar ĊĠĠĠ Ġlateinit Ġvar Ġm Title : ĠTextView ĊĠĠĠ Ġlateinit Ġvar Ġm Drawer Layout : ĠDraw er Layout ĊĠĠĠ Ġlateinit Ġvar Ġm Nav View : ĠNavigation View ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġm Toolbar Ġ= ĠfindViewById ( R . id . toolbar ) ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( m Toolbar ) ĊĊĠĠĠĠĠĠĠ Ġm Title Ġ= ĠfindViewById ( R . id . title _ home ) ĊĊĠĠĠĠĠĠĠ Ġm Drawer Layout Ġ= ĠfindViewById ( R . id . drawer _ layout ) ĊĠĠĠĠĠĠĠ Ġm Nav View Ġ= ĠfindViewById ( R . id . nav _ view ) ĊĊĠĠĠĠĠĠĠ Ġval Ġtoggle Ġ= ĠAction Bar Drawer Toggle ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis , Ġm Drawer Layout , Ġm Toolbar , Ġ 0 , Ġ 0 ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġm Drawer Layout . add Drawer Listener ( toggle ) ĊĠĠĠĠĠĠĠ Ġtoggle . sync State () ĊĊĠĠĠĠĠĠĠ Ġm Nav View . set Navigation ItemSelected Listener ( this ) ĊĊĠĠĠĠĠĠĠ Ġstart D af ault Fragment () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Navigation ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġfragment : ĠFragment ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ home Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Title . text Ġ= ĠgetString ( R . string . app _ name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHome Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ weather Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Title . text Ġ= ĠgetString ( R . string . drawer _ title _ weather ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠWeather Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ finance Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Title . text Ġ= ĠgetString ( R . string . drawer _ title _ finance ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFinance Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ geo Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Title . text Ġ= ĠgetString ( R . string . drawer _ title _ geo ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGeo Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ api Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Title . text Ġ= ĠgetString ( R . string . drawer _ title _ api ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApi Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . nav _ about Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Title . text Ġ= ĠgetString ( R . string . drawer _ title _ about ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAbout Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġfragment Man a get Ġ= Ġsupport FragmentManager ĊĊĠĠĠĠĠĠĠ Ġif Ġ( fragment Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Man a get . beginTransaction (). replace ( R . id . frame Content , Ġfragment ). commit () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm Drawer Layout . close Drawer ( Gravity Compat . START ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġstart D af ault Fragment () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfragment : ĠFragment Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHome Fragment () ĊĠĠĠĠĠĠĠ Ġsupport FragmentManager . beginTransaction (). replace ( R . id . frame Content , Ġfragment ). commit () ĊĠĠĠ Ġ} Ċ }