package Ġcom . jon ap oul . common . domain Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . annotation . Id Res Ċ import Ġandroidx . navigation . Nav Controller Ċ import Ġandroidx . navigation . Nav Directions Ċ import Ġandroidx . navigation . Nav Options Ċ import Ġandroidx . navigation . Navigator Ċ Ċ /** Ċ Ġ* ĠPerforms Ġnavigation Ġto Ġthe Ġspecified Ġ[ destination ], Ġignoring Ġthe Ġeffects Ġof Ġdouble - t apping Ġthe Ċ Ġ* Ġbutton Ġand Ġany Ġassociated Ġ[ IllegalArgumentException ] Ċ Ġ*/ Ċ fun ĠNav Controller . saf ely Navigate (@ Id Res Ġdestination : ĠInt ) Ġ= ĊĠĠĠ Ġsafely Ġ{ Ġnavigate ( destination ) Ġ} Ċ Ċ /** Ċ Ġ* ĠPerforms Ġnavigation Ġto Ġthe Ġspecified Ġ[ destination ], Ġignoring Ġthe Ġeffects Ġof Ġdouble - t apping Ġthe Ċ Ġ* Ġbutton Ġand Ġany Ġassociated Ġ[ IllegalArgumentException ] Ċ Ġ*/ Ċ fun ĠNav Controller . saf ely Navigate ( ĊĠĠĠ Ġ@ Id Res Ġdestination : ĠInt , ĊĠĠĠ Ġargs : ĠBundle ?, ĊĠĠĠ Ġnav Options : ĠNav Options , Ċ ) Ġ= Ġsafely Ġ{ Ġnavigate ( destination , Ġargs , Ġnav Options ) Ġ} Ċ Ċ /** Ċ Ġ* ĠPerforms Ġnavigation Ġto Ġthe Ġspecified Ġ[ destination ], Ġignoring Ġthe Ġeffects Ġof Ġdouble - t apping Ġthe Ċ Ġ* Ġbutton Ġand Ġany Ġassociated Ġ[ IllegalArgumentException ] Ċ Ġ*/ Ċ fun ĠNav Controller . saf ely Navigate ( ĊĠĠĠ Ġ@ Id Res Ġdestination : ĠInt , ĊĠĠĠ Ġargs : ĠBundle ?, ĊĠĠĠ Ġnav Options : ĠNav Options , ĊĠĠĠ Ġextras : ĠNavigator . Extras , Ċ ) Ġ= Ġsafely Ġ{ Ġnavigate ( destination , Ġargs , Ġnav Options , Ġextras ) Ġ} Ċ Ċ /** Ċ Ġ* ĠPerforms Ġnavigation Ġto Ġthe Ġspecified Ġ[ directions ], Ġignoring Ġthe Ġeffects Ġof Ġdouble - t apping Ġthe Ċ Ġ* Ġbutton Ġand Ġany Ġassociated Ġ[ IllegalArgumentException ] Ċ Ġ*/ Ċ fun ĠNav Controller . saf ely Navigate ( directions : ĠNav Directions ) Ġ= ĊĠĠĠ Ġsafely Ġ{ Ġnavigate ( directions ) Ġ} Ċ Ċ /** Ċ Ġ* ĠPerforms Ġnavigation Ġto Ġthe Ġspecified Ġ[ directions ], Ġignoring Ġthe Ġeffects Ġof Ġdouble - t apping Ġthe Ċ Ġ* Ġbutton Ġand Ġany Ġassociated Ġ[ IllegalArgumentException ] Ċ Ġ*/ Ċ fun ĠNav Controller . saf ely Navigate ( directions : ĠNav Directions , Ġnav Options : ĠNav Options ) Ġ= ĊĠĠĠ Ġsafely Ġ{ Ġnavigate ( directions , Ġnav Options ) Ġ} Ċ Ċ /** Ċ Ġ* ĠPerforms Ġnavigation Ġto Ġthe Ġspecified Ġ[ directions ], Ġignoring Ġthe Ġeffects Ġof Ġdouble - t apping Ġthe Ċ Ġ* Ġbutton Ġand Ġany Ġassociated Ġ[ IllegalArgumentException ] Ċ Ġ*/ Ċ fun ĠNav Controller . saf ely Navigate ( directions : ĠNav Directions , Ġnav Extras : ĠNavigator . Extras ) Ġ= ĊĠĠĠ Ġsafely Ġ{ Ġnavigate ( directions , Ġnav Extras ) Ġ} Ċ Ċ private Ġfun ĠNav Controller . saf ely ( call : ĠNav Controller . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . call () ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠIllegalArgumentException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ/* ĠI 've Ġseen Ġthis Ġexception Ġthrown Ġsometimes Ġif Ġthe Ġuser Ġdouble Ġt aps Ġon Ġa Ġmenu Ġitem Ġor ĊĠĠĠĠĠĠĠĠ Ġ* Ġbutton Ġvery Ġquickly Ġbefore Ġthe Ġapp Ġhas Ġa Ġchance Ġto Ġactually Ġnavigate . ĠNo - op , Ġwe Ġjust Ġput ĊĠĠĠĠĠĠĠĠ Ġ* Ġthis Ġhere Ġto Ġavoid Ġthe Ġapp Ġcrash ing Ġ*/ ĊĠĠĠ Ġ} Ċ } Ċ