Renaming.
This commit is contained in:
parent
9b9255d0e8
commit
c5b0581bca
6 changed files with 20 additions and 16 deletions
|
|
@ -11,7 +11,7 @@ import com.squareup.anvil.annotations.ContributesTo
|
|||
import dagger.Module
|
||||
import dagger.Provides
|
||||
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.matrix.api.core.UserId
|
||||
import io.element.android.libraries.matrix.api.room.MatrixRoom
|
||||
|
|
@ -22,11 +22,15 @@ object RoomMemberModule {
|
|||
@Provides
|
||||
fun provideRoomMemberDetailsPresenterFactory(
|
||||
room: MatrixRoom,
|
||||
userProfileStatePresenterFactory: UserProfileStatePresenterFactory,
|
||||
userProfilePresenterFactory: UserProfilePresenterFactory,
|
||||
): RoomMemberDetailsPresenter.Factory {
|
||||
return object : RoomMemberDetailsPresenter.Factory {
|
||||
override fun create(roomMemberId: UserId): RoomMemberDetailsPresenter {
|
||||
return RoomMemberDetailsPresenter(roomMemberId, room, userProfileStatePresenterFactory)
|
||||
return RoomMemberDetailsPresenter(
|
||||
roomMemberId = roomMemberId,
|
||||
room = room,
|
||||
userProfilePresenterFactory = userProfilePresenterFactory,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import androidx.compose.runtime.produceState
|
|||
import dagger.assisted.Assisted
|
||||
import dagger.assisted.AssistedInject
|
||||
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.matrix.api.core.UserId
|
||||
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.
|
||||
* 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(
|
||||
@Assisted private val roomMemberId: UserId,
|
||||
private val room: MatrixRoom,
|
||||
userProfileStatePresenterFactory: UserProfileStatePresenterFactory,
|
||||
userProfilePresenterFactory: UserProfilePresenterFactory,
|
||||
) : Presenter<UserProfileState> {
|
||||
interface Factory {
|
||||
fun create(roomMemberId: UserId): RoomMemberDetailsPresenter
|
||||
}
|
||||
|
||||
private val userProfilePresenter = userProfileStatePresenterFactory.create(roomMemberId)
|
||||
private val userProfilePresenter = userProfilePresenterFactory.create(roomMemberId)
|
||||
|
||||
@Composable
|
||||
override fun present(): UserProfileState {
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ class RoomDetailsPresenterTest {
|
|||
return RoomMemberDetailsPresenter(
|
||||
roomMemberId = roomMemberId,
|
||||
room = room,
|
||||
userProfileStatePresenterFactory = {
|
||||
userProfilePresenterFactory = {
|
||||
Presenter { aUserProfileState() }
|
||||
},
|
||||
)
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import com.google.common.truth.Truth.assertThat
|
|||
import io.element.android.features.roomdetails.aMatrixRoom
|
||||
import io.element.android.features.roomdetails.impl.members.aRoomMember
|
||||
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.libraries.architecture.Presenter
|
||||
import io.element.android.libraries.matrix.api.core.UserId
|
||||
|
|
@ -139,7 +139,7 @@ class RoomMemberDetailsPresenterTest {
|
|||
)
|
||||
val presenter = createRoomMemberDetailsPresenter(
|
||||
room = room,
|
||||
userProfileStatePresenterFactory = {
|
||||
userProfilePresenterFactory = {
|
||||
Presenter {
|
||||
aUserProfileState(
|
||||
userName = null,
|
||||
|
|
@ -159,7 +159,7 @@ class RoomMemberDetailsPresenterTest {
|
|||
|
||||
private fun createRoomMemberDetailsPresenter(
|
||||
room: MatrixRoom,
|
||||
userProfileStatePresenterFactory: UserProfileStatePresenterFactory = UserProfileStatePresenterFactory {
|
||||
userProfilePresenterFactory: UserProfilePresenterFactory = UserProfilePresenterFactory {
|
||||
Presenter {
|
||||
aUserProfileState(
|
||||
userName = "Profile user name",
|
||||
|
|
@ -171,7 +171,7 @@ class RoomMemberDetailsPresenterTest {
|
|||
return RoomMemberDetailsPresenter(
|
||||
roomMemberId = UserId("@alice:server.org"),
|
||||
room = room,
|
||||
userProfileStatePresenterFactory = userProfileStatePresenterFactory
|
||||
userProfilePresenterFactory = userProfilePresenterFactory
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,6 +10,6 @@ package io.element.android.features.userprofile.api
|
|||
import io.element.android.libraries.architecture.Presenter
|
||||
import io.element.android.libraries.matrix.api.core.UserId
|
||||
|
||||
fun interface UserProfileStatePresenterFactory {
|
||||
fun interface UserProfilePresenterFactory {
|
||||
fun create(userId: UserId): Presenter<UserProfileState>
|
||||
}
|
||||
|
|
@ -9,7 +9,7 @@ package io.element.android.features.userprofile.impl
|
|||
|
||||
import com.squareup.anvil.annotations.ContributesBinding
|
||||
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.libraries.architecture.Presenter
|
||||
import io.element.android.libraries.di.SessionScope
|
||||
|
|
@ -17,8 +17,8 @@ import io.element.android.libraries.matrix.api.core.UserId
|
|||
import javax.inject.Inject
|
||||
|
||||
@ContributesBinding(SessionScope::class)
|
||||
class DefaultUserProfileStatePresenterFactory @Inject constructor(
|
||||
class DefaultUserProfilePresenterFactory @Inject constructor(
|
||||
private val factory: UserProfilePresenter.Factory,
|
||||
) : UserProfileStatePresenterFactory {
|
||||
) : UserProfilePresenterFactory {
|
||||
override fun create(userId: UserId): Presenter<UserProfileState> = factory.create(userId)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue