Remove RetryLoading (use LoadMedia)
This commit is contained in:
parent
cbf7bf0fd4
commit
a06607f530
3 changed files with 18 additions and 26 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue