Start migrating Anvil KSP to Metro
This commit is contained in:
parent
d4d57b1e21
commit
b76a71ebf5
703 changed files with 3523 additions and 2820 deletions
|
|
@ -10,14 +10,15 @@ package io.element.android.features.userprofile.impl
|
|||
import com.bumble.appyx.core.modality.BuildContext
|
||||
import com.bumble.appyx.core.node.Node
|
||||
import com.bumble.appyx.core.plugin.Plugin
|
||||
import com.squareup.anvil.annotations.ContributesBinding
|
||||
import dev.zacsweers.metro.ContributesBinding
|
||||
import io.element.android.features.userprofile.api.UserProfileEntryPoint
|
||||
import io.element.android.libraries.architecture.createNode
|
||||
import io.element.android.libraries.di.AppScope
|
||||
import javax.inject.Inject
|
||||
import dev.zacsweers.metro.AppScope
|
||||
import dev.zacsweers.metro.Inject
|
||||
|
||||
@ContributesBinding(AppScope::class)
|
||||
class DefaultUserProfileEntryPoint @Inject constructor() : UserProfileEntryPoint {
|
||||
@Inject
|
||||
class DefaultUserProfileEntryPoint() : UserProfileEntryPoint {
|
||||
override fun nodeBuilder(parentNode: Node, buildContext: BuildContext): UserProfileEntryPoint.NodeBuilder {
|
||||
return object : UserProfileEntryPoint.NodeBuilder {
|
||||
val plugins = ArrayList<Plugin>()
|
||||
|
|
|
|||
|
|
@ -7,17 +7,18 @@
|
|||
|
||||
package io.element.android.features.userprofile.impl
|
||||
|
||||
import com.squareup.anvil.annotations.ContributesBinding
|
||||
import dev.zacsweers.metro.ContributesBinding
|
||||
import io.element.android.features.userprofile.api.UserProfilePresenterFactory
|
||||
import io.element.android.features.userprofile.api.UserProfileState
|
||||
import io.element.android.features.userprofile.impl.root.UserProfilePresenter
|
||||
import io.element.android.libraries.architecture.Presenter
|
||||
import io.element.android.libraries.di.SessionScope
|
||||
import io.element.android.libraries.matrix.api.core.UserId
|
||||
import javax.inject.Inject
|
||||
import dev.zacsweers.metro.Inject
|
||||
|
||||
@ContributesBinding(SessionScope::class)
|
||||
class DefaultUserProfilePresenterFactory @Inject constructor(
|
||||
@Inject
|
||||
class DefaultUserProfilePresenterFactory(
|
||||
private val factory: UserProfilePresenter.Factory,
|
||||
) : UserProfilePresenterFactory {
|
||||
override fun create(userId: UserId): Presenter<UserProfileState> = factory.create(userId)
|
||||
|
|
|
|||
|
|
@ -17,8 +17,8 @@ import com.bumble.appyx.core.plugin.plugins
|
|||
import com.bumble.appyx.navmodel.backstack.BackStack
|
||||
import com.bumble.appyx.navmodel.backstack.operation.pop
|
||||
import com.bumble.appyx.navmodel.backstack.operation.push
|
||||
import dagger.assisted.Assisted
|
||||
import dagger.assisted.AssistedInject
|
||||
import dev.zacsweers.metro.Assisted
|
||||
import dev.zacsweers.metro.Inject
|
||||
import io.element.android.anvilannotations.ContributesNode
|
||||
import io.element.android.features.call.api.CallType
|
||||
import io.element.android.features.call.api.ElementCallEntryPoint
|
||||
|
|
@ -40,7 +40,8 @@ import io.element.android.libraries.mediaviewer.api.MediaViewerEntryPoint
|
|||
import kotlinx.parcelize.Parcelize
|
||||
|
||||
@ContributesNode(SessionScope::class)
|
||||
class UserProfileFlowNode @AssistedInject constructor(
|
||||
@Inject
|
||||
class UserProfileFlowNode(
|
||||
@Assisted buildContext: BuildContext,
|
||||
@Assisted plugins: List<Plugin>,
|
||||
private val elementCallEntryPoint: ElementCallEntryPoint,
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@ import com.bumble.appyx.core.lifecycle.subscribe
|
|||
import com.bumble.appyx.core.modality.BuildContext
|
||||
import com.bumble.appyx.core.node.Node
|
||||
import com.bumble.appyx.core.plugin.Plugin
|
||||
import dagger.assisted.Assisted
|
||||
import dagger.assisted.AssistedInject
|
||||
import dev.zacsweers.metro.Assisted
|
||||
import dev.zacsweers.metro.Inject
|
||||
import im.vector.app.features.analytics.plan.MobileScreen
|
||||
import io.element.android.anvilannotations.ContributesNode
|
||||
import io.element.android.features.userprofile.shared.UserProfileNodeHelper
|
||||
|
|
@ -29,7 +29,8 @@ import io.element.android.libraries.matrix.api.permalink.PermalinkBuilder
|
|||
import io.element.android.services.analytics.api.AnalyticsService
|
||||
|
||||
@ContributesNode(SessionScope::class)
|
||||
class UserProfileNode @AssistedInject constructor(
|
||||
@Inject
|
||||
class UserProfileNode(
|
||||
@Assisted buildContext: BuildContext,
|
||||
@Assisted plugins: List<Plugin>,
|
||||
private val analyticsService: AnalyticsService,
|
||||
|
|
|
|||
|
|
@ -17,9 +17,9 @@ import androidx.compose.runtime.produceState
|
|||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.rememberCoroutineScope
|
||||
import androidx.compose.runtime.setValue
|
||||
import dagger.assisted.Assisted
|
||||
import dagger.assisted.AssistedFactory
|
||||
import dagger.assisted.AssistedInject
|
||||
import dev.zacsweers.metro.Assisted
|
||||
import dev.zacsweers.metro.AssistedFactory
|
||||
import dev.zacsweers.metro.Inject
|
||||
import io.element.android.features.enterprise.api.SessionEnterpriseService
|
||||
import io.element.android.features.startchat.api.StartDMAction
|
||||
import io.element.android.features.userprofile.api.UserProfileEvents
|
||||
|
|
@ -41,7 +41,8 @@ import kotlinx.coroutines.flow.map
|
|||
import kotlinx.coroutines.flow.onEach
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
class UserProfilePresenter @AssistedInject constructor(
|
||||
@Inject
|
||||
class UserProfilePresenter(
|
||||
@Assisted private val userId: UserId,
|
||||
private val client: MatrixClient,
|
||||
private val startDMAction: StartDMAction,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue