package Ġcom . by an dev . submission 2 ui ux . ui Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġandroidx . navigation . fragment . find Nav Controller Ċ import Ġcom . by an dev . submission 2 ui ux . R Ċ import Ġcom . by an dev . submission 2 ui ux . data . Shared Pref Ċ import Ġcom . by an dev . submission 2 ui ux . data . dao . User Database Ċ import Ġcom . by an dev . submission 2 ui ux . data . repo . Search List Repository Ċ import Ġcom . by an dev . submission 2 ui ux . ui . viewModel . search . Search ViewModel Ċ import Ġcom . by an dev . submission 2 ui ux . ui . viewModel . search . Search ViewModel Factory Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĊĠĠĠ Ġlateinit Ġvar ĠviewModel : ĠSearch ViewModel ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġshared Pref : ĠShared Pref ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġshared Pref Ġ= ĠShared Pref ( this ) ĊĠĠĠĠĠĠĠ Ġif Ġ( shared Pref . load Mode State () Ġ== Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Theme ( R . style . Dark The m ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Theme ( R . style . App Theme ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġval Ġsearch List Repository Ġ= ĠSearch List Repository ( User Database ( this )) ĊĠĠĠĠĠĠĠ Ġval Ġsearch ViewModel Provider Factory Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSearch ViewModel Factory ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapplication , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch List Repository ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠViewModel Provider ( this , Ġsearch ViewModel Provider Factory ). get ( Search ViewModel :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġsupport FragmentManager . find Fragment ById ( R . id . search Nav Host Fragment )?. find Nav Controller () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠĠĠĠĠ Ġif Ġ( shared Pref . load Mode State () Ġ== Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Theme ( R . style . Dark The m ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Theme ( R . style . App Theme ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ } Ċ