package Ġcom . example . k dot di . common . base Ċ Ċ import Ġandroid . content . pm . Activity Info Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . navigation . fragment . Nav Host Fragment Ċ import Ġcom . example . k dot di . presenter . base . Base View Ċ import Ġcom . example . k dot di . common . utils . widget . sn ackbar . Snackbar Setup Ċ import Ġcom . example . k dot di . common . utils . widget . sn ackbar . Snackbar Access Ċ import Ġjavax . inject . Inject Ċ Ċ abstract Ġclass ĠBase Activity Ġ: ĠAppCompatActivity (), ĠBase View , ĠSn ackbar Access Ġ{ ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġsn ackbar Api : ĠSn ackbar Setup ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( support FragmentManager . fragments . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( support FragmentManager . fragments [ 0 ] Ġis ĠNav Host Fragment ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsupport FragmentManager . fragments [ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. child FragmentManager ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fragments ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . is Added Ġ&& Ġit Ġis ĠBack Aware ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . on Back Pressed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Fragment Start ( fragment : ĠBase Fragment ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrequested Orientation Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( fragment . is Added Ġ&& Ġfragment Ġis ĠOrientation Owner ) Ġ-> Ġfragment . provide Orientation () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠActivity Info . SCREEN _ OR IENTATION _ POR TRA IT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ