package Ġcom . dev es hs he tty . build status . navigation Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġandroid . support . v 4 . app . FragmentManager Ċ import Ġcom . dev es hs he tty . build status . main . Main Fragment Ċ import Ġcom . dev es hs he tty . build status . R Ċ import Ġcom . dev es hs he tty . build status . sample . Sample Fragment Ċ Ċ internal Ġclass ĠNavigation ManagerImpl ( private Ġval Ġfragment Manager : ĠFragment Manager ) Ġ: ĠNavigation Manager Ġ{ ĊĊĠĠĠ Ġ// region Ġ ĠNavigation Manager Ġinterface Ġimplementation ĊĠĠĠ Ġoverride Ġfun Ġtransition To Sample Fragment () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠSample Fragment . newInstance () ĊĠĠĠĠĠĠĠ Ġtransition ( fragment ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtransition To Main Fragment () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠMain Fragment . newInstance () ĊĠĠĠĠĠĠĠ Ġopen As Root ( fragment ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġnavigate Back ( base Activity : ĠActivity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( fragment Manager . is Last Screen ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbase Activity . finish () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Manager . pop Back Stack Immediate () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġ// endregion ĊĊĠĠĠ Ġprivate Ġfun Ġtransition ( fragment : ĠFragment ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfragment Manager . beginTransaction () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ( R . id . content View , Ġfragment ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. addTo Back Stack ( fragment . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. commit () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġopen As Root ( fragment : ĠFragment ) Ġ{ ĊĠĠĠĠĠĠĠ Ġpop All Fragments () ĊĠĠĠĠĠĠĠ Ġtransition ( fragment ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġpop All Fragments () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstack Size Ġ= Ġfragment Manager . back Stack Entry Count ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġstack Size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġback Stack Id Ġ= Ġfragment Manager . get Back Stack Entry At ( i ). id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Manager . pop Back Stack ( back Stack Id , ĠFragment Manager . POP _ BACK _ STACK _ INCL USIVE ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠFragment Manager . is Last Screen (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . back Stack Entry Count Ġ== Ġ 1 ĊĠĠĠ Ġ} Ċ }