Media: handle PR review remarks

This commit is contained in:
ganfra 2023-05-26 19:09:51 +02:00
parent c72ecc4807
commit b2a66ddafe
6 changed files with 8 additions and 9 deletions

View file

@ -105,7 +105,7 @@ fun MessagesView(
initialValue = ModalBottomSheetValue.Hidden,
)
val composerState = state.composerState
val initialBottomSheetState = if (LocalInspectionMode.current && composerState.showAttachmentSourcePicker != null) {
val initialBottomSheetState = if (LocalInspectionMode.current && composerState.showAttachmentSourcePicker) {
ModalBottomSheetValue.Expanded
} else {
ModalBottomSheetValue.Hidden

View file

@ -58,7 +58,7 @@ class MediaViewerPresenter @AssistedInject constructor(
mutableStateOf(Async.Uninitialized)
}
DisposableEffect(loadMediaTrigger) {
coroutineScope.loadMedia(mediaFile, localMedia)
coroutineScope.downloadMedia(mediaFile, localMedia)
onDispose {
mediaFile.value?.close()
}
@ -80,9 +80,9 @@ class MediaViewerPresenter @AssistedInject constructor(
)
}
private fun CoroutineScope.loadMedia(mediaFile: MutableState<MediaFile?>, localMedia: MutableState<Async<LocalMedia>>) = launch {
private fun CoroutineScope.downloadMedia(mediaFile: MutableState<MediaFile?>, localMedia: MutableState<Async<LocalMedia>>) = launch {
localMedia.value = Async.Loading()
mediaLoader.loadMediaFile(inputs.mediaSource, inputs.mimeType)
mediaLoader.downloadMediaFile(inputs.mediaSource, inputs.mimeType)
.onSuccess {
mediaFile.value = it
}.mapCatching {

View file

@ -36,5 +36,5 @@ interface MatrixMediaLoader {
* @param mimeType: optional mime type
* @return a [Result] of [MediaFile]
*/
suspend fun loadMediaFile(source: MediaSource, mimeType: String?): Result<MediaFile>
suspend fun downloadMediaFile(source: MediaSource, mimeType: String?): Result<MediaFile>
}

View file

@ -59,7 +59,7 @@ class RustMediaLoader(
}
}
override suspend fun loadMediaFile(source: MediaSource, mimeType: String?): Result<MediaFile> =
override suspend fun downloadMediaFile(source: MediaSource, mimeType: String?): Result<MediaFile> =
withContext(dispatchers.io) {
runCatching {
source.toRustMediaSource().use { mediaSource ->

View file

@ -44,7 +44,7 @@ class FakeMediaLoader : MatrixMediaLoader {
}
}
override suspend fun loadMediaFile(source: MediaSource, mimeType: String?): Result<MediaFile> {
override suspend fun downloadMediaFile(source: MediaSource, mimeType: String?): Result<MediaFile> {
delay(FAKE_DELAY_IN_MS)
return if (shouldFail) {
Result.failure(RuntimeException())

View file

@ -35,8 +35,7 @@ internal class CoilMediaFetcher(
override suspend fun fetch(): FetchResult? {
return loadMedia()
.map { data ->
ByteBuffer.wrap(data)
}.map { byteBuffer ->
val byteBuffer = ByteBuffer.wrap(data)
imageLoader.components.newFetcher(byteBuffer, options, imageLoader)?.first?.fetch()
}.getOrThrow()
}