Rename imageItems to imageAndVideoItems.
This commit is contained in:
parent
197fda5d0e
commit
323ae0ad2e
5 changed files with 19 additions and 19 deletions
|
|
@ -77,7 +77,7 @@ class MediaGalleryPresenter @AssistedInject constructor(
|
|||
var mediaItems by remember {
|
||||
mutableStateOf<AsyncData<ImmutableList<MediaItem>>>(AsyncData.Uninitialized)
|
||||
}
|
||||
val imageItems by remember {
|
||||
val imageAndVideoItems by remember {
|
||||
derivedStateOf {
|
||||
mediaItemsPostProcessor.process(
|
||||
mediaItems = mediaItems,
|
||||
|
|
@ -157,7 +157,7 @@ class MediaGalleryPresenter @AssistedInject constructor(
|
|||
return MediaGalleryState(
|
||||
roomName = roomInfo?.name ?: room.displayName,
|
||||
mode = mode,
|
||||
imageItems = imageItems,
|
||||
imageAndVideoItems = imageAndVideoItems,
|
||||
fileItems = fileItems,
|
||||
mediaBottomSheetState = mediaBottomSheetState,
|
||||
snackbarMessage = snackbarMessage,
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ import kotlinx.collections.immutable.ImmutableList
|
|||
data class MediaGalleryState(
|
||||
val roomName: String,
|
||||
val mode: MediaGalleryMode,
|
||||
val imageItems: AsyncData<ImmutableList<MediaItem>>,
|
||||
val imageAndVideoItems: AsyncData<ImmutableList<MediaItem>>,
|
||||
val fileItems: AsyncData<ImmutableList<MediaItem>>,
|
||||
val mediaBottomSheetState: MediaBottomSheetState,
|
||||
val snackbarMessage: SnackbarMessage?,
|
||||
|
|
|
|||
|
|
@ -23,10 +23,10 @@ open class MediaGalleryStateProvider : PreviewParameterProvider<MediaGalleryStat
|
|||
override val values: Sequence<MediaGalleryState>
|
||||
get() = sequenceOf(
|
||||
aMediaGalleryState(),
|
||||
aMediaGalleryState(imageItems = AsyncData.Loading()),
|
||||
aMediaGalleryState(imageItems = AsyncData.Success(emptyList<MediaItem.Image>().toPersistentList())),
|
||||
aMediaGalleryState(imageAndVideoItems = AsyncData.Loading()),
|
||||
aMediaGalleryState(imageAndVideoItems = AsyncData.Success(emptyList<MediaItem.Image>().toPersistentList())),
|
||||
aMediaGalleryState(
|
||||
imageItems = AsyncData.Success(
|
||||
imageAndVideoItems = AsyncData.Success(
|
||||
listOf(
|
||||
aDate(id = UniqueId("0")),
|
||||
anImage(id = UniqueId("1")),
|
||||
|
|
@ -71,12 +71,12 @@ open class MediaGalleryStateProvider : PreviewParameterProvider<MediaGalleryStat
|
|||
private fun aMediaGalleryState(
|
||||
roomName: String = "Room name",
|
||||
mode: MediaGalleryMode = MediaGalleryMode.Images,
|
||||
imageItems: AsyncData<ImmutableList<MediaItem>> = AsyncData.Uninitialized,
|
||||
imageAndVideoItems: AsyncData<ImmutableList<MediaItem>> = AsyncData.Uninitialized,
|
||||
fileItems: AsyncData<ImmutableList<MediaItem>> = AsyncData.Uninitialized,
|
||||
) = MediaGalleryState(
|
||||
roomName = roomName,
|
||||
mode = mode,
|
||||
imageItems = imageItems,
|
||||
imageAndVideoItems = imageAndVideoItems,
|
||||
fileItems = fileItems,
|
||||
mediaBottomSheetState = MediaBottomSheetState.Hidden,
|
||||
snackbarMessage = null,
|
||||
|
|
|
|||
|
|
@ -129,7 +129,7 @@ fun MediaGalleryView(
|
|||
val mode = MediaGalleryMode.entries[page]
|
||||
when (mode) {
|
||||
MediaGalleryMode.Images -> MediaGalleryImages(
|
||||
images = state.imageItems,
|
||||
imagesAndVideos = state.imageAndVideoItems,
|
||||
eventSink = state.eventSink,
|
||||
onItemClick = onItemClick,
|
||||
)
|
||||
|
|
@ -180,21 +180,21 @@ fun MediaGalleryView(
|
|||
|
||||
@Composable
|
||||
private fun MediaGalleryImages(
|
||||
images: AsyncData<ImmutableList<MediaItem>>,
|
||||
imagesAndVideos: AsyncData<ImmutableList<MediaItem>>,
|
||||
eventSink: (MediaGalleryEvents) -> Unit,
|
||||
onItemClick: (MediaItem.Event) -> Unit,
|
||||
) {
|
||||
when (images) {
|
||||
when (imagesAndVideos) {
|
||||
AsyncData.Uninitialized,
|
||||
is AsyncData.Loading -> {
|
||||
LoadingContent(MediaGalleryMode.Images)
|
||||
}
|
||||
is AsyncData.Success -> {
|
||||
if (images.data.isEmpty()) {
|
||||
if (imagesAndVideos.data.isEmpty()) {
|
||||
EmptyContent()
|
||||
} else {
|
||||
MediaGalleryImageGrid(
|
||||
images = images.data,
|
||||
imagesAndVideos = imagesAndVideos.data,
|
||||
eventSink = eventSink,
|
||||
onItemClick = onItemClick,
|
||||
)
|
||||
|
|
@ -202,7 +202,7 @@ private fun MediaGalleryImages(
|
|||
}
|
||||
is AsyncData.Failure -> {
|
||||
ErrorContent(
|
||||
error = images.error,
|
||||
error = imagesAndVideos.error,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -275,7 +275,7 @@ private fun MediaGalleryFilesList(
|
|||
|
||||
@Composable
|
||||
private fun MediaGalleryImageGrid(
|
||||
images: ImmutableList<MediaItem>,
|
||||
imagesAndVideos: ImmutableList<MediaItem>,
|
||||
eventSink: (MediaGalleryEvents) -> Unit,
|
||||
onItemClick: (MediaItem.Event) -> Unit,
|
||||
) {
|
||||
|
|
@ -296,7 +296,7 @@ private fun MediaGalleryImageGrid(
|
|||
verticalArrangement = Arrangement.spacedBy(4.dp),
|
||||
) {
|
||||
items(
|
||||
images,
|
||||
imagesAndVideos,
|
||||
span = { item ->
|
||||
when (item) {
|
||||
is MediaItem.LoadingIndicator,
|
||||
|
|
@ -318,7 +318,7 @@ private fun MediaGalleryImageGrid(
|
|||
}
|
||||
is MediaItem.Image -> {
|
||||
ImageItemView(
|
||||
item,
|
||||
image = item,
|
||||
onClick = { onItemClick(item) },
|
||||
onLongClick = {
|
||||
eventSink(MediaGalleryEvents.OpenInfo(item))
|
||||
|
|
@ -327,7 +327,7 @@ private fun MediaGalleryImageGrid(
|
|||
}
|
||||
is MediaItem.Video -> {
|
||||
VideoItemView(
|
||||
item,
|
||||
video = item,
|
||||
onClick = { onItemClick(item) },
|
||||
onLongClick = {
|
||||
eventSink(MediaGalleryEvents.OpenInfo(item))
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ class MediaGalleryPresenterTest {
|
|||
assertThat(initialState.mode).isEqualTo(MediaGalleryMode.Images)
|
||||
assertThat(initialState.mediaBottomSheetState).isEqualTo(MediaBottomSheetState.Hidden)
|
||||
assertThat(initialState.roomName).isEqualTo(A_ROOM_NAME)
|
||||
assertThat(initialState.imageItems.dataOrNull()).isEmpty()
|
||||
assertThat(initialState.imageAndVideoItems.dataOrNull()).isEmpty()
|
||||
assertThat(initialState.fileItems.dataOrNull()).isEmpty()
|
||||
assertThat(initialState.snackbarMessage).isNull()
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue