Skip to content
Snippets Groups Projects
Commit 850704f6 authored by Taras's avatar Taras
Browse files

Update room request models and mapping

parent 403834d8
No related branches found
No related tags found
No related merge requests found
......@@ -3,6 +3,7 @@ package org.futo.circles.core.feature.timeline.options
import androidx.navigation.fragment.findNavController
import org.futo.circles.core.extensions.navigateSafe
import org.futo.circles.core.model.CircleRoomTypeArg
import org.futo.circles.core.model.toRoomRequestArgument
import org.futo.circles.core.model.toShareUrlType
class TimelineOptionsNavigator(private val fragment: TimelineOptionsDialogFragment) {
......@@ -54,7 +55,10 @@ class TimelineOptionsNavigator(private val fragment: TimelineOptionsDialogFragme
fun navigateToRequestForInvite(roomTypeArg: CircleRoomTypeArg, timelineId: String) {
fragment.findNavController()
.navigateSafe(
TimelineOptionsDialogFragmentDirections.toRoomRequests(roomTypeArg, timelineId)
TimelineOptionsDialogFragmentDirections.toRoomRequests(
roomTypeArg.toRoomRequestArgument(),
timelineId
)
)
}
......
......@@ -7,6 +7,7 @@ import org.futo.circles.core.model.CircleRoomTypeArg
import org.futo.circles.core.model.JoinedGalleryListItem
import org.futo.circles.core.model.KnockRequestListItem
import org.futo.circles.core.model.RoomInviteListItem
import org.futo.circles.core.model.RoomRequestTypeArg
import org.futo.circles.core.model.SelectRoomTypeArg
import org.futo.circles.core.model.SelectableRoomListItem
import org.futo.circles.core.model.isCircle
......@@ -45,12 +46,12 @@ fun RoomSummary.toJoinedGalleryListItem() = JoinedGalleryListItem(
fun RoomMemberSummary.toUser() = User(userId, notEmptyDisplayName(), avatarUrl)
fun RoomMemberSummary.toKnockRequestListItem(roomId: String, roomType: CircleRoomTypeArg) =
fun RoomMemberSummary.toKnockRequestListItem(roomId: String, requestType: RoomRequestTypeArg) =
KnockRequestListItem(
roomId = roomId,
roomName = MatrixSessionProvider.currentSession?.getRoom(roomId)?.roomSummary()?.nameOrId()
?: "",
roomType = roomType,
requestType = requestType,
requesterId = userId,
requesterName = displayName ?: UserIdUtils.removeDomainSuffix(userId),
requesterAvatarUrl = avatarUrl,
......@@ -64,14 +65,14 @@ private fun getReasonMessage(roomId: String, userId: String) =
it.content.toModel<RoomMemberContent>()?.membership == Membership.KNOCK
}?.content.toModel<RoomMemberContent>()?.safeReason
fun RoomSummary.toRoomInviteListItem(roomType: CircleRoomTypeArg, shouldBlurIcon: Boolean) =
fun RoomSummary.toRoomInviteListItem(requestType: RoomRequestTypeArg, shouldBlurIcon: Boolean) =
RoomInviteListItem(
roomId = roomId,
info = toRoomInfo(roomType == CircleRoomTypeArg.Circle),
info = toRoomInfo(requestType == RoomRequestTypeArg.Circle),
inviterName = getInviterName(),
isEncrypted = isEncrypted,
shouldBlurIcon = shouldBlurIcon,
roomType = roomType
requestType = requestType
)
fun RoomSummary.getInviterName() =
......
......@@ -8,8 +8,8 @@ fun CircleRoomTypeArg.toShareUrlType() = when (this) {
CircleRoomTypeArg.Photo -> ShareUrlTypeArg.GALLERY
}
fun convertToStringRoomType(roomType: CircleRoomTypeArg) = when (roomType) {
CircleRoomTypeArg.Group -> GROUP_TYPE
CircleRoomTypeArg.Circle -> TIMELINE_TYPE
CircleRoomTypeArg.Photo -> GALLERY_TYPE
fun CircleRoomTypeArg.toRoomRequestArgument() = when (this) {
CircleRoomTypeArg.Circle -> RoomRequestTypeArg.Circle
CircleRoomTypeArg.Group -> RoomRequestTypeArg.Group
CircleRoomTypeArg.Photo -> RoomRequestTypeArg.Photo
}
......@@ -18,7 +18,7 @@ data class RoomRequestHeaderItem(
data class RoomInviteListItem(
val roomId: String,
val roomType: CircleRoomTypeArg,
val requestType: RoomRequestTypeArg,
val info: RoomInfo,
val isEncrypted: Boolean,
val inviterName: String,
......@@ -31,7 +31,7 @@ data class RoomInviteListItem(
data class KnockRequestListItem(
val roomId: String,
val roomName: String,
val roomType: CircleRoomTypeArg,
val requestType: RoomRequestTypeArg,
val requesterId: String,
val requesterName: String,
val requesterAvatarUrl: String?,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment