diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/RoomDetailFragment.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/RoomDetailFragment.kt index 8380774a49..9157ec3a2c 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/RoomDetailFragment.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/RoomDetailFragment.kt @@ -161,7 +161,7 @@ import im.vector.app.features.home.room.detail.timeline.url.PreviewUrlRetriever import im.vector.app.features.home.room.detail.upgrade.MigrateRoomBottomSheet import im.vector.app.features.home.room.detail.views.RoomDetailLazyLoadedViews import im.vector.app.features.home.room.detail.widget.RoomWidgetsBottomSheet -import im.vector.app.features.home.room.threads.detail.RoomThreadDetailArgs +import im.vector.app.features.home.room.threads.detail.arguments.RoomThreadDetailArgs import im.vector.app.features.home.room.threads.detail.RoomThreadDetailActivity import im.vector.app.features.html.EventHtmlRenderer import im.vector.app.features.html.PillImageSpan @@ -1962,7 +1962,11 @@ class RoomDetailFragment @Inject constructor( is EventSharedAction.ReplyInThread -> { if (!views.voiceMessageRecorderView.isActive()) { context?.let { - val roomThreadDetailArgs = RoomThreadDetailArgs(roomDetailArgs.roomId,action.eventId) + val roomThreadDetailArgs = RoomThreadDetailArgs( + roomId = roomDetailArgs.roomId, + displayName = roomDetailViewModel.getRoomSummary()?.displayName, + avatarUrl = roomDetailViewModel.getRoomSummary()?.avatarUrl, + eventId = action.eventId) startActivity(RoomThreadDetailActivity.newIntent(it, roomThreadDetailArgs)) } } else { diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/RoomDetailViewModel.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/RoomDetailViewModel.kt index 0c0e5ee6cd..b9622ae9ae 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/RoomDetailViewModel.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/RoomDetailViewModel.kt @@ -282,6 +282,8 @@ class RoomDetailViewModel @AssistedInject constructor( fun getOtherUserIds() = room.roomSummary()?.otherMemberIds + fun getRoomSummary() = room.roomSummary() + override fun handle(action: RoomDetailAction) { when (action) { is RoomDetailAction.ComposerFocusChange -> handleComposerFocusChange(action) diff --git a/vector/src/main/java/im/vector/app/features/home/room/threads/detail/RoomThreadDetailActivity.kt b/vector/src/main/java/im/vector/app/features/home/room/threads/detail/RoomThreadDetailActivity.kt index 96b65d0272..25dd1e6031 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/threads/detail/RoomThreadDetailActivity.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/threads/detail/RoomThreadDetailActivity.kt @@ -24,9 +24,16 @@ import im.vector.app.core.di.ScreenComponent import im.vector.app.core.extensions.replaceFragment import im.vector.app.core.platform.VectorBaseActivity import im.vector.app.databinding.ActivityRoomThreadDetailBinding +import im.vector.app.features.home.AvatarRenderer +import im.vector.app.features.home.room.threads.detail.arguments.RoomThreadDetailArgs +import org.matrix.android.sdk.api.util.MatrixItem +import javax.inject.Inject class RoomThreadDetailActivity : VectorBaseActivity() { + @Inject + lateinit var avatarRenderer: AvatarRenderer + // private val roomThreadDetailFragment: RoomThreadDetailFragment? // get() { // return supportFragmentManager.findFragmentByTag(FRAGMENT_TAG) as? RoomThreadDetailFragment @@ -44,20 +51,34 @@ class RoomThreadDetailActivity : VectorBaseActivity() { +) : VectorBaseFragment() { + private val roomThreadDetailArgs: RoomThreadDetailArgs by args() override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentRoomThreadDetailBinding { diff --git a/vector/src/main/java/im/vector/app/features/home/room/threads/detail/arguments/RoomThreadDetailArgs.kt b/vector/src/main/java/im/vector/app/features/home/room/threads/detail/arguments/RoomThreadDetailArgs.kt new file mode 100644 index 0000000000..5fce24cd0d --- /dev/null +++ b/vector/src/main/java/im/vector/app/features/home/room/threads/detail/arguments/RoomThreadDetailArgs.kt @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2021 New Vector Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package im.vector.app.features.home.room.threads.detail.arguments + +import android.os.Parcelable +import kotlinx.parcelize.Parcelize + +@Parcelize +data class RoomThreadDetailArgs( + val roomId: String, + val displayName: String?, + val avatarUrl: String?, + val eventId: String? = null, +) : Parcelable