@@ -15,6 +15,8 @@ import androidx.core.content.pm.ShortcutManagerCompat
1515import androidx.lifecycle.lifecycleScope
1616import com.topjohnwu.magisk.arch.BaseViewModel
1717import com.topjohnwu.magisk.arch.VMFactory
18+ import com.topjohnwu.magisk.arch.ViewEvent
19+ import com.topjohnwu.magisk.arch.ViewModelHolder
1820import com.topjohnwu.magisk.arch.viewModel
1921import com.topjohnwu.magisk.core.Config
2022import com.topjohnwu.magisk.core.Const
@@ -36,10 +38,10 @@ import com.topjohnwu.magisk.core.R as CoreR
3638
3739class MainViewModel : BaseViewModel ()
3840
39- class MainActivity : AppCompatActivity (), SplashScreenHost, IActivityExtension {
41+ class MainActivity : AppCompatActivity (), SplashScreenHost, IActivityExtension, ViewModelHolder {
4042
4143 override val extension = ActivityExtension (this )
42- val viewModel by viewModel<MainViewModel >()
44+ override val viewModel by viewModel<MainViewModel >()
4345 override val splashController = SplashController (this )
4446
4547 private var savedSection: String? = null
@@ -52,6 +54,7 @@ class MainActivity : AppCompatActivity(), SplashScreenHost, IActivityExtension {
5254 splashController.preOnCreate()
5355 super .onCreate(savedInstanceState)
5456 extension.onCreate(savedInstanceState)
57+ startObserveLiveData()
5558 enableEdgeToEdge()
5659 splashController.onCreate(savedInstanceState)
5760 }
@@ -86,6 +89,14 @@ class MainActivity : AppCompatActivity(), SplashScreenHost, IActivityExtension {
8689 }
8790 }
8891
92+ override fun onEventDispatched (event : ViewEvent ) {}
93+
94+ fun setDisplayHomeAsUpEnabled (isEnabled : Boolean ) {}
95+
96+ fun requestNavigationHidden (hide : Boolean = true) {}
97+
98+ fun invalidateToolbar () {}
99+
89100 @SuppressLint(" InlinedApi" )
90101 override fun showInvalidStateMessage (): Unit = runOnUiThread {
91102 MagiskDialog (this ).apply {
0 commit comments