package Ġcom . example . smart attendance . activities Ċ Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġcom . example . smart attendance . R Ċ import Ġandroid . widget . Frame Layout Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . ash ok var ma . bottomnavigation . Bottom NavigationBar Ċ import Ġcom . ash ok var ma . bottomnavigation . Bottom Navigation Item Ċ import Ġcom . example . smart attendance . fragment . Attendance Ċ import Ġcom . example . smart attendance . fragment . Add Db Fragment Ċ import Ġcom . example . smart attendance . fragment . Profile Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġbottom NavigationBar Ġ: ĠBottom NavigationBar ĊĠĠĠ Ġvar Ġfragment Manager Ġ= Ġsupport FragmentManager ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠĠĠĠĠ Ġval Ġframe Layout Ġ= ĠfindViewById < Frame Layout >( R . id . frame Layout ) ĊĠĠĠĠĠĠĠ Ġbottom NavigationBar Ġ= ĠfindViewById ( R . id . bottom _ navigation ) ĊĠĠĠĠĠĠĠ Ġbottom NavigationBar ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Mode ( Bottom NavigationBar . MODE _ SHIFT ING ) ĊĠĠĠĠĠĠĠ Ġbottom NavigationBar ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setBackground Style ( Bottom NavigationBar . BACKGROUND _ STYLE _ R IP PLE ) ĊĠĠĠĠĠĠĠ Ġbottom NavigationBar ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setActive Color ("# FFFFFF ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set In Active Color ("# 3 5 3 b 4 8 ") ĊĊĠĠĠĠĠĠĠ Ġvar Ġstream Ġ= Ġintent . getString Extra (" Stream ") ĊĠĠĠĠĠĠĠ Ġvar Ġsem Ġ= Ġintent . getString Extra (" Sem ") ĊĊĠĠĠĠĠĠĠ Ġif ( sem Ġ!= Ġnull ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Tab ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Manager . beginTransaction () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ( R . id . frame Layout , ĠAtt endance ( stream , sem )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. commit () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstream Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsem Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Tab ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Manager . beginTransaction () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ( R . id . frame Layout , ĠAdd Db Fragment ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. commit () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġbottom NavigationBar . set Tab Selected Listener ( object Ġ: ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBottom NavigationBar . On Tab Selected Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Tab Selected ( position : ĠInt ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġfragment : ĠFragment ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( position ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> Ġfragment Ġ= ĠAtt endance ( stream , sem ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġfragment Ġ= ĠAdd Db Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( fragment Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfragment Manager . beginTransaction () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ( R . id . frame Layout , Ġfragment ). commit () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Tab Un selected ( position : ĠInt ) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Tab Re selected ( position : ĠInt ) Ġ{} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Tab ( i : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbottom NavigationBar ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addItem ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBottom Navigation Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . attendance _ icon , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Attendance " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). setActive Color ("# 0 4 0 3 3 8 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addItem ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBottom Navigation Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . database _ icon , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Database " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). setActive Color ("# 0 7 0 5 6 5 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ). set First Selected Position ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. initial ise () ĊĊĠĠĠ Ġ} Ċ }