Remove RetryLoading (use LoadMedia)
This commit is contained in:
parent
d691a3f6a2
commit
84d603d31f
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 SaveOnDisk(val data: MediaViewerPageData.MediaViewerData) : MediaViewerEvents
|
||||||
data class Share(val data: MediaViewerPageData.MediaViewerData) : MediaViewerEvents
|
data class Share(val data: MediaViewerPageData.MediaViewerData) : MediaViewerEvents
|
||||||
data class OpenWith(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 ClearLoadingError(val eventId: EventId) : MediaViewerEvents
|
||||||
data class ViewInTimeline(val eventId: EventId) : MediaViewerEvents
|
data class ViewInTimeline(val eventId: EventId) : MediaViewerEvents
|
||||||
data class OpenInfo(val data: MediaViewerPageData.MediaViewerData) : 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.Composable
|
||||||
import androidx.compose.runtime.DisposableEffect
|
import androidx.compose.runtime.DisposableEffect
|
||||||
import androidx.compose.runtime.LaunchedEffect
|
import androidx.compose.runtime.LaunchedEffect
|
||||||
import androidx.compose.runtime.MutableIntState
|
|
||||||
import androidx.compose.runtime.MutableState
|
import androidx.compose.runtime.MutableState
|
||||||
import androidx.compose.runtime.collectAsState
|
import androidx.compose.runtime.collectAsState
|
||||||
import androidx.compose.runtime.derivedStateOf
|
import androidx.compose.runtime.derivedStateOf
|
||||||
|
|
@ -81,7 +80,6 @@ class MediaViewerPresenter @AssistedInject constructor(
|
||||||
val groupedMediaItem by remember { mediaGalleryDataSource.groupedMediaItemsFlow() }
|
val groupedMediaItem by remember { mediaGalleryDataSource.groupedMediaItemsFlow() }
|
||||||
.collectAsState(mediaGalleryDataSource.getLastData())
|
.collectAsState(mediaGalleryDataSource.getLastData())
|
||||||
|
|
||||||
val loadMediaTrigger: MutableMap<EventId?, MutableIntState> = remember { mutableMapOf() }
|
|
||||||
val mediaFile: MutableMap<EventId?, MutableState<MediaFile?>> = remember { mutableMapOf() }
|
val mediaFile: MutableMap<EventId?, MutableState<MediaFile?>> = remember { mutableMapOf() }
|
||||||
val localMedia: MutableMap<EventId?, MutableState<AsyncData<LocalMedia>>> = remember { mutableMapOf() }
|
val localMedia: MutableMap<EventId?, MutableState<AsyncData<LocalMedia>>> = remember { mutableMapOf() }
|
||||||
DisposableEffect(Unit) {
|
DisposableEffect(Unit) {
|
||||||
|
|
@ -134,9 +132,6 @@ class MediaViewerPresenter @AssistedInject constructor(
|
||||||
mediaFile = mediaFile.getOrPut(event.data.eventId) { mutableStateOf(null) },
|
mediaFile = mediaFile.getOrPut(event.data.eventId) { mutableStateOf(null) },
|
||||||
localMedia = localMedia.getOrPut(event.data.eventId) { mutableStateOf(AsyncData.Uninitialized) },
|
localMedia = localMedia.getOrPut(event.data.eventId) { mutableStateOf(AsyncData.Uninitialized) },
|
||||||
)
|
)
|
||||||
is MediaViewerEvents.RetryLoading -> {
|
|
||||||
loadMediaTrigger.getOrPut(event.eventId) { mutableIntStateOf(0) }.intValue++
|
|
||||||
}
|
|
||||||
is MediaViewerEvents.ClearLoadingError -> {
|
is MediaViewerEvents.ClearLoadingError -> {
|
||||||
localMedia.getOrPut(event.eventId) { mutableStateOf(AsyncData.Uninitialized) }.value = AsyncData.Uninitialized
|
localMedia.getOrPut(event.eventId) { mutableStateOf(AsyncData.Uninitialized) }.value = AsyncData.Uninitialized
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -150,8 +150,8 @@ fun MediaViewerView(
|
||||||
AnimatedVisibility(visible = showOverlay, enter = fadeIn(), exit = fadeOut()) {
|
AnimatedVisibility(visible = showOverlay, enter = fadeIn(), exit = fadeOut()) {
|
||||||
Box(
|
Box(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxSize()
|
.fillMaxSize()
|
||||||
.navigationBarsPadding()
|
.navigationBarsPadding()
|
||||||
) {
|
) {
|
||||||
MediaViewerBottomBar(
|
MediaViewerBottomBar(
|
||||||
modifier = Modifier.align(Alignment.BottomCenter),
|
modifier = Modifier.align(Alignment.BottomCenter),
|
||||||
|
|
@ -168,8 +168,8 @@ fun MediaViewerView(
|
||||||
AnimatedVisibility(visible = showOverlay, enter = fadeIn(), exit = fadeOut()) {
|
AnimatedVisibility(visible = showOverlay, enter = fadeIn(), exit = fadeOut()) {
|
||||||
Box(
|
Box(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxSize()
|
.fillMaxSize()
|
||||||
.navigationBarsPadding()
|
.navigationBarsPadding()
|
||||||
) {
|
) {
|
||||||
when (currentData) {
|
when (currentData) {
|
||||||
is MediaViewerPageData.Loading -> {
|
is MediaViewerPageData.Loading -> {
|
||||||
|
|
@ -255,9 +255,7 @@ private fun MediaViewerPage(
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
) {
|
) {
|
||||||
fun onRetry() {
|
fun onRetry() {
|
||||||
data.eventId?.let {
|
state.eventSink(MediaViewerEvents.LoadMedia(data))
|
||||||
state.eventSink(MediaViewerEvents.RetryLoading(it))
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun onDismissError() {
|
fun onDismissError() {
|
||||||
|
|
@ -289,8 +287,8 @@ private fun MediaViewerPage(
|
||||||
|
|
||||||
Box(
|
Box(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxSize()
|
.fillMaxSize()
|
||||||
.navigationBarsPadding()
|
.navigationBarsPadding()
|
||||||
) {
|
) {
|
||||||
Box(contentAlignment = Alignment.Center) {
|
Box(contentAlignment = Alignment.Center) {
|
||||||
val zoomableState = rememberZoomableState(
|
val zoomableState = rememberZoomableState(
|
||||||
|
|
@ -335,8 +333,8 @@ private fun MediaViewerPage(
|
||||||
if (showProgress) {
|
if (showProgress) {
|
||||||
LinearProgressIndicator(
|
LinearProgressIndicator(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
.height(2.dp)
|
.height(2.dp)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -365,8 +363,8 @@ private fun MediaViewerLoadingPage(
|
||||||
) {
|
) {
|
||||||
Box(
|
Box(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxSize()
|
.fillMaxSize()
|
||||||
.navigationBarsPadding(),
|
.navigationBarsPadding(),
|
||||||
contentAlignment = Alignment.Center
|
contentAlignment = Alignment.Center
|
||||||
) {
|
) {
|
||||||
AsyncLoading()
|
AsyncLoading()
|
||||||
|
|
@ -502,11 +500,11 @@ private fun MediaViewerBottomBar(
|
||||||
) {
|
) {
|
||||||
Column(
|
Column(
|
||||||
modifier = modifier
|
modifier = modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
.background(Color(0x99101317))
|
.background(Color(0x99101317))
|
||||||
.onSizeChanged {
|
.onSizeChanged {
|
||||||
onHeightChange(it.height)
|
onHeightChange(it.height)
|
||||||
},
|
},
|
||||||
) {
|
) {
|
||||||
if (caption != null) {
|
if (caption != null) {
|
||||||
if (showDivider) {
|
if (showDivider) {
|
||||||
|
|
@ -514,8 +512,8 @@ private fun MediaViewerBottomBar(
|
||||||
}
|
}
|
||||||
Text(
|
Text(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
.padding(16.dp),
|
.padding(16.dp),
|
||||||
text = caption,
|
text = caption,
|
||||||
maxLines = 5,
|
maxLines = 5,
|
||||||
overflow = TextOverflow.Ellipsis,
|
overflow = TextOverflow.Ellipsis,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue