Fix detekted issues.
This commit is contained in:
parent
c31f066d23
commit
e9639516b5
5 changed files with 30 additions and 23 deletions
|
|
@ -101,6 +101,9 @@ import io.element.android.x.features.messages.textcomposer.MessageComposerViewMo
|
||||||
import io.element.android.x.features.messages.textcomposer.MessageComposerViewState
|
import io.element.android.x.features.messages.textcomposer.MessageComposerViewState
|
||||||
import io.element.android.x.textcomposer.MessageComposerMode
|
import io.element.android.x.textcomposer.MessageComposerMode
|
||||||
import io.element.android.x.textcomposer.TextComposer
|
import io.element.android.x.textcomposer.TextComposer
|
||||||
|
import kotlinx.collections.immutable.ImmutableList
|
||||||
|
import kotlinx.collections.immutable.persistentListOf
|
||||||
|
import kotlinx.collections.immutable.toImmutableList
|
||||||
import kotlinx.coroutines.flow.distinctUntilChanged
|
import kotlinx.coroutines.flow.distinctUntilChanged
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
|
|
@ -140,7 +143,7 @@ fun MessagesScreen(
|
||||||
MessagesScreenContent(
|
MessagesScreenContent(
|
||||||
roomTitle = roomTitle,
|
roomTitle = roomTitle,
|
||||||
roomAvatar = roomAvatar,
|
roomAvatar = roomAvatar,
|
||||||
timelineItems = timelineItems().orEmpty(),
|
timelineItems = timelineItems().orEmpty().toImmutableList(),
|
||||||
hasMoreToLoad = hasMoreToLoad,
|
hasMoreToLoad = hasMoreToLoad,
|
||||||
onReachedLoadMore = viewModel::loadMore,
|
onReachedLoadMore = viewModel::loadMore,
|
||||||
onBackPressed = onBackPressed,
|
onBackPressed = onBackPressed,
|
||||||
|
|
@ -182,7 +185,7 @@ fun MessagesScreen(
|
||||||
fun MessagesScreenContent(
|
fun MessagesScreenContent(
|
||||||
roomTitle: String?,
|
roomTitle: String?,
|
||||||
roomAvatar: AvatarData?,
|
roomAvatar: AvatarData?,
|
||||||
timelineItems: List<MessagesTimelineItemState>,
|
timelineItems: ImmutableList<MessagesTimelineItemState>,
|
||||||
hasMoreToLoad: Boolean,
|
hasMoreToLoad: Boolean,
|
||||||
onReachedLoadMore: () -> Unit,
|
onReachedLoadMore: () -> Unit,
|
||||||
onBackPressed: () -> Unit,
|
onBackPressed: () -> Unit,
|
||||||
|
|
@ -241,7 +244,7 @@ fun MessagesScreenContent(
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun MessagesContent(
|
fun MessagesContent(
|
||||||
timelineItems: List<MessagesTimelineItemState>,
|
timelineItems: ImmutableList<MessagesTimelineItemState>,
|
||||||
hasMoreToLoad: Boolean,
|
hasMoreToLoad: Boolean,
|
||||||
onReachedLoadMore: () -> Unit,
|
onReachedLoadMore: () -> Unit,
|
||||||
onSendMessage: (String) -> Unit,
|
onSendMessage: (String) -> Unit,
|
||||||
|
|
@ -337,7 +340,7 @@ fun MessagesTopAppBar(
|
||||||
@Composable
|
@Composable
|
||||||
fun TimelineItems(
|
fun TimelineItems(
|
||||||
lazyListState: LazyListState,
|
lazyListState: LazyListState,
|
||||||
timelineItems: List<MessagesTimelineItemState>,
|
timelineItems: ImmutableList<MessagesTimelineItemState>,
|
||||||
highlightedEventId: String?,
|
highlightedEventId: String?,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
hasMoreToLoad: Boolean = false,
|
hasMoreToLoad: Boolean = false,
|
||||||
|
|
@ -523,7 +526,7 @@ private fun MessageSenderInformation(
|
||||||
@Composable
|
@Composable
|
||||||
internal fun BoxScope.MessagesScrollHelper(
|
internal fun BoxScope.MessagesScrollHelper(
|
||||||
lazyListState: LazyListState,
|
lazyListState: LazyListState,
|
||||||
timelineItems: List<MessagesTimelineItemState>,
|
timelineItems: ImmutableList<MessagesTimelineItemState>,
|
||||||
onLoadMore: () -> Unit = {},
|
onLoadMore: () -> Unit = {},
|
||||||
) {
|
) {
|
||||||
val coroutineScope = rememberCoroutineScope()
|
val coroutineScope = rememberCoroutineScope()
|
||||||
|
|
@ -609,7 +612,7 @@ private fun TimelineItemsPreview(
|
||||||
) {
|
) {
|
||||||
TimelineItems(
|
TimelineItems(
|
||||||
lazyListState = LazyListState(),
|
lazyListState = LazyListState(),
|
||||||
timelineItems = listOf(
|
timelineItems = persistentListOf(
|
||||||
// 3 items (First Middle Last) with isMine = false
|
// 3 items (First Middle Last) with isMine = false
|
||||||
createMessageEvent(
|
createMessageEvent(
|
||||||
isMine = false,
|
isMine = false,
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,8 @@ import io.element.android.x.features.roomlist.model.RoomListRoomSummary
|
||||||
import io.element.android.x.features.roomlist.model.RoomListViewState
|
import io.element.android.x.features.roomlist.model.RoomListViewState
|
||||||
import io.element.android.x.features.roomlist.model.stubbedRoomSummaries
|
import io.element.android.x.features.roomlist.model.stubbedRoomSummaries
|
||||||
import io.element.android.x.matrix.core.RoomId
|
import io.element.android.x.matrix.core.RoomId
|
||||||
|
import kotlinx.collections.immutable.ImmutableList
|
||||||
|
import kotlinx.collections.immutable.toImmutableList
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun RoomListScreen(
|
fun RoomListScreen(
|
||||||
|
|
@ -53,7 +55,7 @@ fun RoomListScreen(
|
||||||
val roomSummaries by viewModel.collectAsState(RoomListViewState::rooms)
|
val roomSummaries by viewModel.collectAsState(RoomListViewState::rooms)
|
||||||
val matrixUser by viewModel.collectAsState(RoomListViewState::user)
|
val matrixUser by viewModel.collectAsState(RoomListViewState::user)
|
||||||
RoomListContent(
|
RoomListContent(
|
||||||
roomSummaries = roomSummaries().orEmpty(),
|
roomSummaries = roomSummaries().orEmpty().toImmutableList(),
|
||||||
matrixUser = matrixUser(),
|
matrixUser = matrixUser(),
|
||||||
onRoomClicked = onRoomClicked,
|
onRoomClicked = onRoomClicked,
|
||||||
onLogoutClicked = viewModel::logout,
|
onLogoutClicked = viewModel::logout,
|
||||||
|
|
@ -66,16 +68,16 @@ fun RoomListScreen(
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun RoomListContent(
|
fun RoomListContent(
|
||||||
roomSummaries: List<RoomListRoomSummary>,
|
roomSummaries: ImmutableList<RoomListRoomSummary>,
|
||||||
matrixUser: MatrixUser?,
|
matrixUser: MatrixUser?,
|
||||||
onRoomClicked: (RoomId) -> Unit,
|
|
||||||
filter: String,
|
filter: String,
|
||||||
onFilterChanged: (String) -> Unit,
|
|
||||||
onLogoutClicked: () -> Unit,
|
|
||||||
onScrollOver: (IntRange) -> Unit,
|
|
||||||
isLoginOut: Boolean,
|
isLoginOut: Boolean,
|
||||||
|
modifier: Modifier = Modifier,
|
||||||
|
onRoomClicked: (RoomId) -> Unit = {},
|
||||||
|
onFilterChanged: (String) -> Unit = {},
|
||||||
|
onLogoutClicked: () -> Unit = {},
|
||||||
|
onScrollOver: (IntRange) -> Unit = {},
|
||||||
) {
|
) {
|
||||||
|
|
||||||
fun onRoomClicked(room: RoomListRoomSummary) {
|
fun onRoomClicked(room: RoomListRoomSummary) {
|
||||||
onRoomClicked(room.roomId)
|
onRoomClicked(room.roomId)
|
||||||
}
|
}
|
||||||
|
|
@ -104,7 +106,7 @@ fun RoomListContent(
|
||||||
}
|
}
|
||||||
|
|
||||||
Scaffold(
|
Scaffold(
|
||||||
modifier = Modifier.nestedScroll(scrollBehavior.nestedScrollConnection),
|
modifier = modifier.nestedScroll(scrollBehavior.nestedScrollConnection),
|
||||||
topBar = {
|
topBar = {
|
||||||
RoomListTopBar(
|
RoomListTopBar(
|
||||||
matrixUser = matrixUser,
|
matrixUser = matrixUser,
|
||||||
|
|
|
||||||
|
|
@ -84,14 +84,15 @@ fun RoomListTopBar(
|
||||||
@Composable
|
@Composable
|
||||||
fun SearchRoomListTopBar(
|
fun SearchRoomListTopBar(
|
||||||
text: String,
|
text: String,
|
||||||
onFilterChanged: (String) -> Unit,
|
scrollBehavior: TopAppBarScrollBehavior,
|
||||||
onCloseClicked: () -> Unit,
|
modifier: Modifier = Modifier,
|
||||||
scrollBehavior: TopAppBarScrollBehavior
|
onFilterChanged: (String) -> Unit = {},
|
||||||
|
onCloseClicked: () -> Unit = {},
|
||||||
) {
|
) {
|
||||||
var filterState by textFieldState(stateValue = text)
|
var filterState by textFieldState(stateValue = text)
|
||||||
val focusRequester = remember { FocusRequester() }
|
val focusRequester = remember { FocusRequester() }
|
||||||
TopAppBar(
|
TopAppBar(
|
||||||
modifier = Modifier
|
modifier = modifier
|
||||||
.nestedScroll(scrollBehavior.nestedScrollConnection),
|
.nestedScroll(scrollBehavior.nestedScrollConnection),
|
||||||
title = {
|
title = {
|
||||||
TextField(
|
TextField(
|
||||||
|
|
|
||||||
|
|
@ -43,11 +43,10 @@ private val minHeight = 72.dp
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
internal fun RoomSummaryRow(
|
internal fun RoomSummaryRow(
|
||||||
modifier: Modifier = Modifier,
|
|
||||||
room: RoomListRoomSummary,
|
room: RoomListRoomSummary,
|
||||||
onClick: (RoomListRoomSummary) -> Unit
|
modifier: Modifier = Modifier,
|
||||||
|
onClick: (RoomListRoomSummary) -> Unit = {},
|
||||||
) {
|
) {
|
||||||
|
|
||||||
val clickModifier = if (room.isPlaceholder) {
|
val clickModifier = if (room.isPlaceholder) {
|
||||||
modifier
|
modifier
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,11 @@
|
||||||
package io.element.android.x.features.roomlist.model
|
package io.element.android.x.features.roomlist.model
|
||||||
|
|
||||||
import io.element.android.x.designsystem.components.avatar.AvatarData
|
import io.element.android.x.designsystem.components.avatar.AvatarData
|
||||||
|
import kotlinx.collections.immutable.ImmutableList
|
||||||
|
import kotlinx.collections.immutable.persistentListOf
|
||||||
|
|
||||||
internal fun stubbedRoomSummaries(): List<RoomListRoomSummary> {
|
internal fun stubbedRoomSummaries(): ImmutableList<RoomListRoomSummary> {
|
||||||
return listOf(
|
return persistentListOf(
|
||||||
RoomListRoomSummary(
|
RoomListRoomSummary(
|
||||||
name = "Room",
|
name = "Room",
|
||||||
hasUnread = true,
|
hasUnread = true,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue