package Ġcom . example . j azz hand z app . Activities Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . MenuItem Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . core . view . Gravity Compat Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . example . j azz hand z app . R Ċ import Ġcom . example . j azz hand z app . ViewModels . MainActivity ViewModel Ċ import Ġcom . google . firebase . auth . k tx . action Code Settings Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġkotlinx . android . synt hetic . main . content _ main .* Ċ import Ġkotlinx . android . synt hetic . main . side _ menu .* ĊĊ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġmain activity ViewModel : ĠMainActivity ViewModel ĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĊĠĠĠĠĠĠĠ Ġmain activity ViewModel Ġ= ĠViewModel Provider ( this ). get ( MainActivity ViewModel :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġnav _ view . set Navigation ItemSelected Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action Home Ġ-> ĠstartActivity ( Intent ( this , ĠMainActivity :: class . java )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action Login Ġ-> ĠstartActivity ( Intent ( this , ĠRegister Activity :: class . java )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action Fre estyle Ġ-> ĠstartActivity ( Intent ( this , ĠD ance Activity :: class . java )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action Create Ġ-> ĠstartActivity ( Intent ( this , ĠD ance Activity :: class . java ). putExtra (" create mode ", Ġtrue )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action Rout ines Ġ-> ĠstartActivity ( Intent ( this , ĠD ance Rout ines Activity :: class . java ). putExtra (" create mode ", Ġfalse )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action Downloaded Rout ines Ġ-> ĠstartActivity ( Intent ( this , ĠDownload Rout ines Activity :: class . java )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . isChecked Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer Layout . close Draw ers () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Display Home As Up Enabled ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Home As Up Indicator ( R . drawable . ic _ menu _ black _ 2 4 dp ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcre ater outine button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠD ance Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" create mode ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfree play button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠD ance Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" create mode ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsign in button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠRegister Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġdrawer Layout . open Drawer ( Gravity Compat . START ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} Ċ Ċ } Ċ