package Ġua . sy t 0 r . f ur ig anit . app . main čĊč Ċ import Ġandroidx . appcompat . app . AppCompatActivity č Ċ import Ġandroidx . appcompat . widget . Toolbar č Ċ import Ġandroidx . navigation . Nav Controller č Ċ import Ġandroidx . navigation . Navigation č Ċ import Ġandroidx . navigation . ui . Navigation UI č Ċ import Ġandroid . os . Bundle č Ċ import Ġandroid . view . Menu č Ċ import Ġandroid . view . MenuItem č Ċ import Ġandroidx . activity . On Back Pressed Callback č Ċ import Ġua . sy t 0 r . f ur ig anit . R čĊč Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ čĊčĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġnav Controller : ĠNav Controller čĊčĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ čĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) čĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) čĊčĊĠĠĠĠĠĠĠ Ġval Ġtoolbar Ġ= ĠfindViewById < Toolbar >( R . id . toolbar ) čĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) čĊčĊĠĠĠĠĠĠĠ Ġnav Controller Ġ= ĠNavigation . find Nav Controller ( this , ĠR . id . nav _ host _ fragment ) čĊčĊĠĠĠĠĠĠĠ ĠNavigation UI . setup ActionBar With Nav Controller ( this , Ġnav Controller ) čĊčĊĠĠĠĠĠĠĠ Ġon Back Pressed Dispatcher . add Callback ( this , Ġobject Ġ: ĠOn Back Pressed Callback ( true ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġhandle On Back Pressed () Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnav Controller . pop Back Stack ( R . id . service _ manager _ fragment , Ġfalse ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ}) čĊčĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ): ĠBoolean Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġinflater Ġ= Ġmenu Inflater čĊĠĠĠĠĠĠĠ Ġinflater . inflate ( R . menu . activity _ menu , Ġmenu ) čĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . onCreate Options Menu ( menu ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ čĊčĊĠĠĠĠĠĠĠ Ġif Ġ( item . itemId Ġ== Ġandroid . R . id . home ) čĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġnav Controller . pop Back Stack ( R . id . service _ manager _ fragment , Ġfalse ) čĊĠĠĠĠĠĠĠ Ġelse Ġif Ġ( dest inations . contains ( item . itemId )) čĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġnav Controller . navigate ( item . itemId ) čĊčĊĠĠĠĠĠĠĠ Ġreturn Ġtrue čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġcompanion Ġobject Ġ{ čĊčĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġdest inations Ġ= Ġset Of ( čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . history _ fragment , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . settings _ fragment , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . about _ fragment čĊĠĠĠĠĠĠĠ Ġ) čĊčĊĠĠĠ Ġ} čĊč Ċ } čĊ