Renaming.

This commit is contained in:
Benoit Marty 2024-10-17 14:24:08 +02:00
parent fbd7e33bf0
commit feeddaceb9
6 changed files with 20 additions and 16 deletions

View file

@ -11,7 +11,7 @@ import com.squareup.anvil.annotations.ContributesTo
import dagger.Module import dagger.Module
import dagger.Provides import dagger.Provides
import io.element.android.features.roomdetails.impl.members.details.RoomMemberDetailsPresenter import io.element.android.features.roomdetails.impl.members.details.RoomMemberDetailsPresenter
import io.element.android.features.userprofile.api.UserProfileStatePresenterFactory import io.element.android.features.userprofile.api.UserProfilePresenterFactory
import io.element.android.libraries.di.RoomScope import io.element.android.libraries.di.RoomScope
import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.core.UserId
import io.element.android.libraries.matrix.api.room.MatrixRoom import io.element.android.libraries.matrix.api.room.MatrixRoom
@ -22,11 +22,15 @@ object RoomMemberModule {
@Provides @Provides
fun provideRoomMemberDetailsPresenterFactory( fun provideRoomMemberDetailsPresenterFactory(
room: MatrixRoom, room: MatrixRoom,
userProfileStatePresenterFactory: UserProfileStatePresenterFactory, userProfilePresenterFactory: UserProfilePresenterFactory,
): RoomMemberDetailsPresenter.Factory { ): RoomMemberDetailsPresenter.Factory {
return object : RoomMemberDetailsPresenter.Factory { return object : RoomMemberDetailsPresenter.Factory {
override fun create(roomMemberId: UserId): RoomMemberDetailsPresenter { override fun create(roomMemberId: UserId): RoomMemberDetailsPresenter {
return RoomMemberDetailsPresenter(roomMemberId, room, userProfileStatePresenterFactory) return RoomMemberDetailsPresenter(
roomMemberId = roomMemberId,
room = room,
userProfilePresenterFactory = userProfilePresenterFactory,
)
} }
} }
} }

View file

@ -14,7 +14,7 @@ import androidx.compose.runtime.produceState
import dagger.assisted.Assisted import dagger.assisted.Assisted
import dagger.assisted.AssistedInject import dagger.assisted.AssistedInject
import io.element.android.features.userprofile.api.UserProfileState import io.element.android.features.userprofile.api.UserProfileState
import io.element.android.features.userprofile.api.UserProfileStatePresenterFactory import io.element.android.features.userprofile.api.UserProfilePresenterFactory
import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.architecture.Presenter
import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.core.UserId
import io.element.android.libraries.matrix.api.room.MatrixRoom import io.element.android.libraries.matrix.api.room.MatrixRoom
@ -22,18 +22,18 @@ import io.element.android.libraries.matrix.ui.room.getRoomMemberAsState
/** /**
* Presenter for room member details screen. * Presenter for room member details screen.
* Rely on UserProfileStatePresenter, but override some fields with room member info when available. * Rely on UserProfilePresenter, but override some fields with room member info when available.
*/ */
class RoomMemberDetailsPresenter @AssistedInject constructor( class RoomMemberDetailsPresenter @AssistedInject constructor(
@Assisted private val roomMemberId: UserId, @Assisted private val roomMemberId: UserId,
private val room: MatrixRoom, private val room: MatrixRoom,
userProfileStatePresenterFactory: UserProfileStatePresenterFactory, userProfilePresenterFactory: UserProfilePresenterFactory,
) : Presenter<UserProfileState> { ) : Presenter<UserProfileState> {
interface Factory { interface Factory {
fun create(roomMemberId: UserId): RoomMemberDetailsPresenter fun create(roomMemberId: UserId): RoomMemberDetailsPresenter
} }
private val userProfilePresenter = userProfileStatePresenterFactory.create(roomMemberId) private val userProfilePresenter = userProfilePresenterFactory.create(roomMemberId)
@Composable @Composable
override fun present(): UserProfileState { override fun present(): UserProfileState {

View file

@ -86,7 +86,7 @@ class RoomDetailsPresenterTest {
return RoomMemberDetailsPresenter( return RoomMemberDetailsPresenter(
roomMemberId = roomMemberId, roomMemberId = roomMemberId,
room = room, room = room,
userProfileStatePresenterFactory = { userProfilePresenterFactory = {
Presenter { aUserProfileState() } Presenter { aUserProfileState() }
}, },
) )

View file

@ -14,7 +14,7 @@ import com.google.common.truth.Truth.assertThat
import io.element.android.features.roomdetails.aMatrixRoom import io.element.android.features.roomdetails.aMatrixRoom
import io.element.android.features.roomdetails.impl.members.aRoomMember import io.element.android.features.roomdetails.impl.members.aRoomMember
import io.element.android.features.roomdetails.impl.members.details.RoomMemberDetailsPresenter import io.element.android.features.roomdetails.impl.members.details.RoomMemberDetailsPresenter
import io.element.android.features.userprofile.api.UserProfileStatePresenterFactory import io.element.android.features.userprofile.api.UserProfilePresenterFactory
import io.element.android.features.userprofile.shared.aUserProfileState import io.element.android.features.userprofile.shared.aUserProfileState
import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.architecture.Presenter
import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.core.UserId
@ -139,7 +139,7 @@ class RoomMemberDetailsPresenterTest {
) )
val presenter = createRoomMemberDetailsPresenter( val presenter = createRoomMemberDetailsPresenter(
room = room, room = room,
userProfileStatePresenterFactory = { userProfilePresenterFactory = {
Presenter { Presenter {
aUserProfileState( aUserProfileState(
userName = null, userName = null,
@ -159,7 +159,7 @@ class RoomMemberDetailsPresenterTest {
private fun createRoomMemberDetailsPresenter( private fun createRoomMemberDetailsPresenter(
room: MatrixRoom, room: MatrixRoom,
userProfileStatePresenterFactory: UserProfileStatePresenterFactory = UserProfileStatePresenterFactory { userProfilePresenterFactory: UserProfilePresenterFactory = UserProfilePresenterFactory {
Presenter { Presenter {
aUserProfileState( aUserProfileState(
userName = "Profile user name", userName = "Profile user name",
@ -171,7 +171,7 @@ class RoomMemberDetailsPresenterTest {
return RoomMemberDetailsPresenter( return RoomMemberDetailsPresenter(
roomMemberId = UserId("@alice:server.org"), roomMemberId = UserId("@alice:server.org"),
room = room, room = room,
userProfileStatePresenterFactory = userProfileStatePresenterFactory userProfilePresenterFactory = userProfilePresenterFactory
) )
} }
} }

View file

@ -10,6 +10,6 @@ package io.element.android.features.userprofile.api
import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.architecture.Presenter
import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.core.UserId
fun interface UserProfileStatePresenterFactory { fun interface UserProfilePresenterFactory {
fun create(userId: UserId): Presenter<UserProfileState> fun create(userId: UserId): Presenter<UserProfileState>
} }

View file

@ -9,7 +9,7 @@ package io.element.android.features.userprofile.impl
import com.squareup.anvil.annotations.ContributesBinding import com.squareup.anvil.annotations.ContributesBinding
import io.element.android.features.userprofile.api.UserProfileState import io.element.android.features.userprofile.api.UserProfileState
import io.element.android.features.userprofile.api.UserProfileStatePresenterFactory import io.element.android.features.userprofile.api.UserProfilePresenterFactory
import io.element.android.features.userprofile.impl.root.UserProfilePresenter import io.element.android.features.userprofile.impl.root.UserProfilePresenter
import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.architecture.Presenter
import io.element.android.libraries.di.SessionScope import io.element.android.libraries.di.SessionScope
@ -17,8 +17,8 @@ import io.element.android.libraries.matrix.api.core.UserId
import javax.inject.Inject import javax.inject.Inject
@ContributesBinding(SessionScope::class) @ContributesBinding(SessionScope::class)
class DefaultUserProfileStatePresenterFactory @Inject constructor( class DefaultUserProfilePresenterFactory @Inject constructor(
private val factory: UserProfilePresenter.Factory, private val factory: UserProfilePresenter.Factory,
) : UserProfileStatePresenterFactory { ) : UserProfilePresenterFactory {
override fun create(userId: UserId): Presenter<UserProfileState> = factory.create(userId) override fun create(userId: UserId): Presenter<UserProfileState> = factory.create(userId)
} }