package Ġxyz . god i . popular movies . base Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroidx . appcompat . widget . Toolbar Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġxyz . god i . popular movies . R Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠFar ou k Ġon Ġ 1 2 / 0 6 / 2 0 . Ċ Ġ*/ Ċ Ċ /** Ċ Ġ* ĠTo Ġbe Ġimplemented Ġby Ġcomponents Ġthat Ġhost Ġtop - level Ġnavigation Ġdest inations . Ċ Ġ*/ Ċ interface ĠNavigation Host Ġ{ ĊĊĠĠĠ Ġ/** ĠCalled Ġby ĠMain Navigation Fragment Ġto Ġsetup Ġit 's Ġtoolbar Ġwith Ġthe Ġnavigation Ġcontroller . Ġ*/ ĊĠĠĠ Ġfun Ġregister Toolbar With Navigation ( toolbar : ĠToolbar ) Ċ } Ċ Ċ /** Ċ Ġ* ĠTo Ġbe Ġimplemented Ġby Ġmain Ġnavigation Ġdest inations Ġshown Ġby Ġa Ġ[ Navigation Host ]. Ċ Ġ*/ Ċ interface ĠNavigation Destination Ġ{ ĊĊĠĠĠ Ġ/** ĠCalled Ġby Ġthe Ġhost Ġwhen Ġthe Ġuser Ġinteract s Ġwith Ġit . Ġ*/ ĊĠĠĠ Ġfun Ġon User Interaction () Ġ{} Ċ } Ċ Ċ open Ġclass ĠMain Navigation Fragment : ĠFragment (), ĠNavigation Destination Ġ{ ĊĠĠĠ Ġprotected Ġvar Ġnavigation Host : ĠNavigation Host ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġon Attach ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attach ( context ) ĊĠĠĠĠĠĠĠ Ġif Ġ( context Ġis ĠNavigation Host ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnavigation Host Ġ= Ġcontext ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Detach () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Detach () ĊĠĠĠĠĠĠĠ Ġnavigation Host Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠIf Ġwe Ġhave Ġa Ġtoolbar Ġand Ġwe Ġare Ġattached Ġto Ġa Ġproper Ġnavigation Ġhost , Ġset Ġup Ġthe Ġtoolbar ĊĠĠĠĠĠĠĠ Ġ// Ġnavigation Ġicon . ĊĠĠĠĠĠĠĠ Ġval Ġhost Ġ= Ġnavigation Host Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġval Ġmain Toolbar : ĠToolbar Ġ= Ġview . findViewById ( R . id . main _ toolbar ) Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġmain Toolbar . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhost . register Toolbar With Navigation ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }