package Ġchat . sphinx . scanner . navigation Ċ Ċ import Ġandroidx . navigation . Nav Controller Ċ import Ġchat . sphinx . detail _ resources . Detail Nav Options Ċ import Ġchat . sphinx . scanner . R Ċ import Ġchat . sphinx . scanner . ui . Scanner Fragment Args Ċ import Ġio . mat the wn el son . android _ feature _ navigation . R Ġas Ġnav _ R Ċ import Ġio . mat the wn el son . concept _ navigation . Navigation Request Ċ Ċ internal Ġclass ĠTo Scanner Detail ( ĊĠĠĠ Ġprivate Ġval Ġshow Bottom View : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġprivate Ġval Ġscanner Mode Label : ĠString Ġ= Ġ"", Ċ ): ĠNavigation Request < Nav Controller >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġnavigate ( controller : ĠNav Controller ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠOnly Ġnavigate Ġto Ġthe Ġscanner Ġdetail Ġscreen Ġif Ġit Ġis ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ_ not _ Ġon Ġthe Ġback stack , Ġas Ġdoing Ġso Ġwill Ġbreak Ġthe ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠScanner Coordinator 's Ġshared Ġflow Ġconnection . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontroller . get Back Stack Entry ( R . id . navigation _ scanner _ fragment ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIllegalArgumentException ) Ġ{} ĊĊĠĠĠĠĠĠĠ Ġcontroller . navigate ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . scanner _ nav _ graph , ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠScanner Fragment Args . Builder ( controller . previous Back Stack Entry Ġ!= Ġnull , Ġshow Bottom View , Ġscanner Mode Label ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Bundle (), ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( controller . previous Back Stack Entry Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDetail Nav Options . default Built ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDetail Nav Options . default ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Enter Anim ( nav _ R . anim . slide _ in _ left ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Pop Exit Anim ( nav _ R . anim . slide _ out _ right ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ