Some cleanup:

- Remove unnecessary `GlobalScope`.
- Rename `Component` to `Graph`, `DaggerComponentOwner` to `DependencyInjectionGraphOwner`.
- Rename component builders to factories, where necessary.
This commit is contained in:
Jorge Martín 2025-09-01 16:11:10 +02:00
parent 6a05e1b911
commit 08bbe3fdaa
20 changed files with 99 additions and 127 deletions

View file

@ -26,11 +26,11 @@ import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.Assisted
import dev.zacsweers.metro.Inject
import io.element.android.anvilannotations.ContributesNode
import io.element.android.appnav.di.SessionComponentFactory
import io.element.android.appnav.di.SessionGraphFactory
import io.element.android.libraries.architecture.NodeInputs
import io.element.android.libraries.architecture.createNode
import io.element.android.libraries.architecture.inputs
import io.element.android.libraries.di.DaggerComponentOwner
import io.element.android.libraries.di.DependencyInjectionGraphOwner
import io.element.android.libraries.matrix.api.MatrixClient
import io.element.android.libraries.matrix.ui.media.ImageLoaderHolder
import kotlinx.parcelize.Parcelize
@ -45,7 +45,7 @@ import kotlinx.parcelize.Parcelize
class LoggedInAppScopeFlowNode(
@Assisted buildContext: BuildContext,
@Assisted plugins: List<Plugin>,
sessionComponentFactory: SessionComponentFactory,
sessionGraphFactory: SessionGraphFactory,
private val imageLoaderHolder: ImageLoaderHolder,
) : ParentNode<LoggedInAppScopeFlowNode.NavTarget>(
navModel = PermanentNavModel(
@ -54,7 +54,7 @@ class LoggedInAppScopeFlowNode(
),
buildContext = buildContext,
plugins = plugins
), DaggerComponentOwner {
), DependencyInjectionGraphOwner {
interface Callback : Plugin {
fun onOpenBugReport()
}
@ -67,7 +67,7 @@ class LoggedInAppScopeFlowNode(
) : NodeInputs
private val inputs: Inputs = inputs()
override val daggerComponent = sessionComponentFactory.create(inputs.matrixClient)
override val graph = sessionGraphFactory.create(inputs.matrixClient)
override fun onBuilt() {
super.onBuilt()

View file

@ -9,6 +9,6 @@ package io.element.android.appnav.di
import io.element.android.libraries.matrix.api.MatrixClient
interface SessionComponentFactory {
interface SessionGraphFactory {
fun create(client: MatrixClient): Any
}

View file

@ -28,7 +28,7 @@ import io.element.android.libraries.architecture.BackstackView
import io.element.android.libraries.architecture.BaseFlowNode
import io.element.android.libraries.architecture.NodeInputs
import io.element.android.libraries.architecture.inputs
import io.element.android.libraries.di.DaggerComponentOwner
import io.element.android.libraries.di.DependencyInjectionGraphOwner
import io.element.android.libraries.di.SessionScope
import io.element.android.libraries.di.annotations.SessionCoroutineScope
import io.element.android.libraries.matrix.api.MatrixClient
@ -68,7 +68,7 @@ class JoinedRoomLoadedFlowNode(
),
buildContext = buildContext,
plugins = plugins,
), DaggerComponentOwner {
), DependencyInjectionGraphOwner {
interface Callback : Plugin {
fun onOpenRoom(roomId: RoomId, serverNames: List<String>)
fun onPermalinkClick(data: PermalinkData, pushToBackstack: Boolean)
@ -83,7 +83,7 @@ class JoinedRoomLoadedFlowNode(
private val inputs: Inputs = inputs()
private val callbacks = plugins.filterIsInstance<Callback>()
override val daggerComponent = roomComponentFactory.create(inputs.room)
override val graph = roomComponentFactory.create(inputs.room)
init {
lifecycle.subscribe(