package Ġcom . y iding . kotlin . mall . ui . activity Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġcom . ash ok var ma . bottomnavigation . Bottom NavigationBar Ċ import Ġcom . y iding . kotlin . goods . ui . fragment . Category Fragment Ċ import Ġcom . y iding . kotlin . mall . R Ċ import Ġcom . y iding . kotlin . mall . ui . fragment . Home Fragment Ċ import Ġcom . y iding . kotlin . mall . ui . fragment . Me Fragment Ċ Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġrx . Observable Ċ import Ġrx . android . schedul ers . Android Schedulers Ċ import Ġjava . util .* Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġm Stack Ġ= ĠStack < Fragment >() ĊĊĠĠĠ Ġprivate Ġval Ġm Home Fragment Ġby Ġlazy Ġ{ ĠHome Fragment () Ġ} ĊĠĠĠ Ġprivate Ġval Ġm Category Fragment Ġby Ġlazy Ġ{ ĠCategory Fragment () Ġ} ĊĠĠĠ Ġprivate Ġval Ġm Cart Fragment Ġby Ġlazy Ġ{ ĠHome Fragment () Ġ} ĊĠĠĠ Ġprivate Ġval Ġm Msg Fragment Ġby Ġlazy Ġ{ ĠHome Fragment () Ġ} ĊĠĠĠ Ġprivate Ġval Ġm Me Fragment Ġby Ġlazy Ġ{ ĠMe Fragment () Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġm Bottom NavBar . check Msg Badge ( false ) ĊĠĠĠĠĠĠĠ Ġm Bottom NavBar . check Card Badge ( 2 0 ) Ċ Ċ // ĠĠĠĠĠĠĠ Ġinit View () ĊĠĠĠĠĠĠĠ Ġinit Fragment () ĊĠĠĠĠĠĠĠ Ġinit Bottom Nav () ĊĠĠĠĠĠĠĠ Ġchange Fragment ( 0 ) ĊĊĠĠĠĠĠĠĠ ĠObservable . timer ( 2 , ĠTimeUnit . SECONDS ). observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġm Bottom NavBar . check Msg Badge ( true ) Ġ} ĊĊĠĠĠĠĠĠĠ ĠObservable . timer ( 5 , ĠTimeUnit . SECONDS ). observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġm Bottom NavBar . check Card Badge ( 0 ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Fragment () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmanager Ġ= Ġsupport FragmentManager . beginTransaction () ĊĠĠĠĠĠĠĠ Ġmanager . add ( R . id . m Container , Ġm Home Fragment ) ĊĠĠĠĠĠĠĠ Ġmanager . add ( R . id . m Container , Ġm Category Fragment ) ĊĠĠĠĠĠĠĠ Ġmanager . add ( R . id . m Container , Ġm Cart Fragment ) ĊĠĠĠĠĠĠĠ Ġmanager . add ( R . id . m Container , Ġm Msg Fragment ) ĊĠĠĠĠĠĠĠ Ġmanager . add ( R . id . m Container , Ġm Me Fragment ) ĊĠĠĠĠĠĠĠ Ġmanager . commit () ĊĊĠĠĠĠĠĠĠ Ġm Stack . add ( m Home Fragment ) ĊĠĠĠĠĠĠĠ Ġm Stack . add ( m Category Fragment ) ĊĠĠĠĠĠĠĠ Ġm Stack . add ( m Cart Fragment ) ĊĠĠĠĠĠĠĠ Ġm Stack . add ( m Msg Fragment ) ĊĠĠĠĠĠĠĠ Ġm Stack . add ( m Me Fragment ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmanager Ġ= Ġsupport FragmentManager . beginTransaction () ĊĠĠĠĠĠĠĠ Ġmanager . replace ( R . id . m Container , ĠHome Fragment ()) ĊĠĠĠĠĠĠĠ Ġmanager . commit () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Bottom Nav () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Bottom NavBar . set Tab Selected Listener ( object Ġ: ĠBottom NavigationBar . On Tab Selected Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Tab Re selected ( position : ĠInt ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Tab Un selected ( position : ĠInt ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Tab Selected ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchange Fragment ( position ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġchange Fragment ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmanager Ġ= Ġsupport FragmentManager . beginTransaction () ĊĠĠĠĠĠĠĠ Ġfor Ġ( fragment Ġin Ġm Stack ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmanager . hide ( fragment ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġmanager . show ( m Stack [ position ]) ĊĠĠĠĠĠĠĠ Ġmanager . commit () ĊĠĠĠ Ġ} Ċ Ċ } Ċ