Let RootFlowNode manage MatrixClientsHolder save and restoration.

This commit is contained in:
Benoit Marty 2023-07-12 12:23:46 +02:00
parent 5622517dff
commit 47b684f724
4 changed files with 23 additions and 25 deletions

View file

@ -52,8 +52,7 @@ class MainActivity : NodeComponentActivity() {
Timber.tag(loggerTag.value).w("onCreate, with savedInstanceState: ${savedInstanceState != null}")
installSplashScreen()
super.onCreate(savedInstanceState)
appBindings = bindings<AppBindings>()
appBindings.matrixClientsHolder().restore(savedInstanceState)
appBindings = bindings()
WindowCompat.setDecorFitsSystemWindows(window, false)
setContent {
MainContent(appBindings)
@ -125,9 +124,4 @@ class MainActivity : NodeComponentActivity() {
super.onDestroy()
Timber.tag(loggerTag.value).w("onDestroy")
}
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
bindings<AppBindings>().matrixClientsHolder().onSaveInstanceState(outState)
}
}

View file

@ -17,13 +17,11 @@
package io.element.android.x.di
import com.squareup.anvil.annotations.ContributesTo
import io.element.android.appnav.di.MatrixClientsHolder
import io.element.android.libraries.designsystem.utils.SnackbarDispatcher
import io.element.android.libraries.di.AppScope
@ContributesTo(AppScope::class)
interface AppBindings {
fun matrixClientsHolder(): MatrixClientsHolder
fun mainDaggerComponentOwner(): MainDaggerComponentsOwner
fun snackbarDispatcher(): SnackbarDispatcher
}