package Ġdan b roid . ipfs d . demo . api Ċ Ċ import Ġandroid . view . Menu Ċ import Ġandroidx . navigation . Nav Controller Ċ import Ġcom . google . android . material . sn ackbar . Snackbar Ċ import Ġdan b roid . ipfs d . demo . api . activities . Activity Interface Ċ import Ġdan b roid . ipfs d . demo . api . content . root Content Ċ import Ġdan b roid . logging . Android Log Ċ import Ġdan b roid . logging . Log Config Ċ import Ġdan b roid . util . menu . Menu Activity Ċ import Ġdan b roid . util . menu . MenuItem Builder Ċ import Ġdan b roid . util . menu . ui . Menu ListAdapter ĊĊ Ċ class ĠMainActivity Ġ: ĠMenu Activity ( R . layout . activity _ main ), ĠActivity Interface Ġ{ ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġval Ġlog Ġ= ĠLog Config . let Ġ{ ĊĠĠĠĠĠ Ġval Ġlog Ġ= ĠAndroid Log (" IP F SD ") ĊĠĠĠĠĠ Ġit . DEBUG Ġ= ĠBuild Config . DEBUG ĊĠĠĠĠĠ Ġit . CO LO URE D Ġ= ĠBuild Config . DEBUG ĊĠĠĠĠĠ Ġit . GET _ LOG Ġ= Ġ{ Ġlog Ġ} ĊĠĠĠĠĠ Ġlog ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġcreate Nav Graph ( nav Controller : ĠNav Controller ) Ġ= Ġnav Controller . create Demo Nav Graph ( this ) ĊĊĠ Ġprivate Ġval Ġroot Content Ġby Ġlazy Ġ{ ĊĠĠĠ Ġroot Content ( this ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġget Root Menu (): ĠMenuItem Builder Ġ= Ġroot Content ĊĊĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ): ĠBoolean Ġ{ ĊĠĠĠ Ġ// ĠInf late Ġthe Ġmenu ; Ġthis Ġadds Ġitems Ġto Ġthe Ġaction Ġbar Ġif Ġit Ġis Ġpresent . ĊĠĠĠ Ġmenu Inflater . inflate ( R . menu . menu _ main , Ġmenu ) ĊĠĠĠ Ġreturn Ġtrue ĊĠ Ġ} ĊĊĊĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : Ġandroid . view . MenuItem ): ĠBoolean Ġ{ ĊĠĠĠ Ġ// ĠHandle Ġaction Ġbar Ġitem Ġclicks Ġhere . ĠThe Ġaction Ġbar Ġwill ĊĠĠĠ Ġ// Ġautomatically Ġhandle Ġclicks Ġon Ġthe ĠHome / Up Ġbutton , Ġso Ġlong ĊĠĠĠ Ġ// Ġas Ġyou Ġspecify Ġa Ġparent Ġactivity Ġin ĠAndroid Manifest . xml . ĊĠĠĠ Ġreturn Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠ ĠR . id . action _ settings Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġlog . debug (" nav ing ating Ġto Ġsettings ") ĊĠĠĠĠĠĠĠ Ġnav Host Fragment . nav Controller . navigate ( Demo Nav Graph . action . to Settings ) ĊĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġelse Ġ-> Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon Item Clicked ( holder : ĠMenu ListAdapter . Menu ViewHolder ) Ġ{ ĊĠĠĠ ĠTODO (" Not Ġyet Ġimplemented ") ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġopen ( uri : ĠString ) Ġ{ ĊĠĠĠ Ġlog . info (" open () Ġ$ uri Ġ ĠNOT ĠIMP LEMENT ED ") ĊĠ Ġ} ĊĊĊĠ Ġoverride Ġfun Ġshow Snackbar ( ĊĠĠĠ Ġmsg : ĠCharSequence , ĊĠĠĠ Ġlength : ĠInt , ĊĠĠĠ Ġaction Label : ĠString ?, ĊĠĠĠ Ġaction : Ġ(() Ġ-> ĠUnit )? ĊĠ Ġ) Ġ= ĊĠĠĠ ĠSn ackbar . make ( nav Host Fragment . require View (), Ġmsg , Ġlength ). setAction ( action Label ) Ġ{ ĊĠĠĠĠĠ Ġaction ?. invoke () ĊĠĠĠ Ġ}. show () ĊĊĊĠ Ġoverride Ġfun Ġopen Browser ( url : ĠString ) Ġ{ ĊĠĠĠ ĠTODO (" Not Ġyet Ġimplemented ") ĊĠ Ġ} Ċ Ċ } ĊĊĊĊ