Some cleanup:
- Remove unnecessary `GlobalScope`. - Rename `Component` to `Graph`, `DaggerComponentOwner` to `DependencyInjectionGraphOwner`. - Rename component builders to factories, where necessary.
This commit is contained in:
parent
6a05e1b911
commit
08bbe3fdaa
20 changed files with 99 additions and 127 deletions
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue