package Ġcom . example . simple clean architecture Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . fragment . app . Fragment Activity Ċ import Ġcom . github . ter r ak ok . c icer one . Navigator Holder Ċ import Ġcom . github . ter r ak ok . c icer one . Replace Ċ import Ġcom . github . ter r ak ok . c icer one . android x . App Navigator Ċ import Ġorg . k oin . android . ext . android . inject Ċ import Ġorg . k oin . android x . view model . ext . android . viewModel Ċ Ċ class ĠMainActivity Ġ: ĠFragment Activity () Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠMain ViewModel Ġby ĠviewModel () ĊĊĠĠĠ Ġprivate Ġval Ġscreen Navigator Ġ= ĠApp Navigator ( this , ĠR . id . container ) ĊĊĠĠĠ Ġprivate Ġval Ġnavigator Holder : ĠNavigator Holder Ġby Ġinject () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . main _ activity ) ĊĠĠĠĠĠĠĠ Ġif Ġ( savedInstanceState Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscreen Navigator . apply Commands ( array Of ( Replace ( Router Screen . UserList Screen ()))) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ/* if Ġ( savedInstanceState Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsupport FragmentManager . beginTransaction () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ( R . id . container , ĠUser List Fragment . newInstance ()) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ( R . id . container , ĠSetup Fragment . newInstance ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. commit Now () ĊĠĠĠĠĠĠĠ Ġ}*/ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume Fragments () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume Fragments () ĊĠĠĠĠĠĠĠ Ġnavigator Holder . set Navigator ( screen Navigator ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġnavigator Holder . remove Navigator () ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠ Ġ} Ċ Ċ }