Remove RetryLoading (use LoadMedia)

This commit is contained in:
Benoit Marty 2025-01-17 11:38:03 +01:00 committed by Benoit Marty
parent cbf7bf0fd4
commit a06607f530
3 changed files with 18 additions and 26 deletions

View file

@ -15,7 +15,6 @@ sealed interface MediaViewerEvents {
data class SaveOnDisk(val data: MediaViewerPageData.MediaViewerData) : MediaViewerEvents
data class Share(val data: MediaViewerPageData.MediaViewerData) : MediaViewerEvents
data class OpenWith(val data: MediaViewerPageData.MediaViewerData) : MediaViewerEvents
data class RetryLoading(val eventId: EventId) : MediaViewerEvents
data class ClearLoadingError(val eventId: EventId) : MediaViewerEvents
data class ViewInTimeline(val eventId: EventId) : MediaViewerEvents
data class OpenInfo(val data: MediaViewerPageData.MediaViewerData) : MediaViewerEvents

View file

@ -11,7 +11,6 @@ import android.content.ActivityNotFoundException
import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.MutableIntState
import androidx.compose.runtime.MutableState
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.derivedStateOf
@ -81,7 +80,6 @@ class MediaViewerPresenter @AssistedInject constructor(
val groupedMediaItem by remember { mediaGalleryDataSource.groupedMediaItemsFlow() }
.collectAsState(mediaGalleryDataSource.getLastData())
val loadMediaTrigger: MutableMap<EventId?, MutableIntState> = remember { mutableMapOf() }
val mediaFile: MutableMap<EventId?, MutableState<MediaFile?>> = remember { mutableMapOf() }
val localMedia: MutableMap<EventId?, MutableState<AsyncData<LocalMedia>>> = remember { mutableMapOf() }
DisposableEffect(Unit) {
@ -134,9 +132,6 @@ class MediaViewerPresenter @AssistedInject constructor(
mediaFile = mediaFile.getOrPut(event.data.eventId) { mutableStateOf(null) },
localMedia = localMedia.getOrPut(event.data.eventId) { mutableStateOf(AsyncData.Uninitialized) },
)
is MediaViewerEvents.RetryLoading -> {
loadMediaTrigger.getOrPut(event.eventId) { mutableIntStateOf(0) }.intValue++
}
is MediaViewerEvents.ClearLoadingError -> {
localMedia.getOrPut(event.eventId) { mutableStateOf(AsyncData.Uninitialized) }.value = AsyncData.Uninitialized
}

View file

@ -150,8 +150,8 @@ fun MediaViewerView(
AnimatedVisibility(visible = showOverlay, enter = fadeIn(), exit = fadeOut()) {
Box(
modifier = Modifier
.fillMaxSize()
.navigationBarsPadding()
.fillMaxSize()
.navigationBarsPadding()
) {
MediaViewerBottomBar(
modifier = Modifier.align(Alignment.BottomCenter),
@ -168,8 +168,8 @@ fun MediaViewerView(
AnimatedVisibility(visible = showOverlay, enter = fadeIn(), exit = fadeOut()) {
Box(
modifier = Modifier
.fillMaxSize()
.navigationBarsPadding()
.fillMaxSize()
.navigationBarsPadding()
) {
when (currentData) {
is MediaViewerPageData.Loading -> {
@ -255,9 +255,7 @@ private fun MediaViewerPage(
modifier: Modifier = Modifier,
) {
fun onRetry() {
data.eventId?.let {
state.eventSink(MediaViewerEvents.RetryLoading(it))
}
state.eventSink(MediaViewerEvents.LoadMedia(data))
}
fun onDismissError() {
@ -289,8 +287,8 @@ private fun MediaViewerPage(
Box(
modifier = Modifier
.fillMaxSize()
.navigationBarsPadding()
.fillMaxSize()
.navigationBarsPadding()
) {
Box(contentAlignment = Alignment.Center) {
val zoomableState = rememberZoomableState(
@ -335,8 +333,8 @@ private fun MediaViewerPage(
if (showProgress) {
LinearProgressIndicator(
modifier = Modifier
.fillMaxWidth()
.height(2.dp)
.fillMaxWidth()
.height(2.dp)
)
}
}
@ -365,8 +363,8 @@ private fun MediaViewerLoadingPage(
) {
Box(
modifier = Modifier
.fillMaxSize()
.navigationBarsPadding(),
.fillMaxSize()
.navigationBarsPadding(),
contentAlignment = Alignment.Center
) {
AsyncLoading()
@ -502,11 +500,11 @@ private fun MediaViewerBottomBar(
) {
Column(
modifier = modifier
.fillMaxWidth()
.background(Color(0x99101317))
.onSizeChanged {
onHeightChange(it.height)
},
.fillMaxWidth()
.background(Color(0x99101317))
.onSizeChanged {
onHeightChange(it.height)
},
) {
if (caption != null) {
if (showDivider) {
@ -514,8 +512,8 @@ private fun MediaViewerBottomBar(
}
Text(
modifier = Modifier
.fillMaxWidth()
.padding(16.dp),
.fillMaxWidth()
.padding(16.dp),
text = caption,
maxLines = 5,
overflow = TextOverflow.Ellipsis,