[MatrixSDK] start mapping all the timeline objects
This commit is contained in:
parent
98911a12ad
commit
fb85f35525
37 changed files with 1054 additions and 49 deletions
|
|
@ -18,9 +18,7 @@ package io.element.android.libraries.matrix.ui.media
|
|||
|
||||
import io.element.android.libraries.designsystem.components.avatar.AvatarData
|
||||
import io.element.android.libraries.matrix.api.media.MediaResolver
|
||||
import org.matrix.rustcomponents.sdk.mediaSourceFromUrl
|
||||
|
||||
fun AvatarData.toMetadata(): MediaResolver.Meta {
|
||||
val mediaSource = url?.let { mediaSourceFromUrl(it) }
|
||||
return MediaResolver.Meta(source = mediaSource, kind = MediaResolver.Kind.Thumbnail(size.value))
|
||||
return MediaResolver.Meta(url = url, kind = MediaResolver.Kind.Thumbnail(size.value))
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ internal class MediaFetcher(
|
|||
) : Fetcher {
|
||||
|
||||
override suspend fun fetch(): FetchResult? {
|
||||
val byteArray = mediaResolver?.resolve(meta) ?: return null
|
||||
val byteArray = mediaResolver?.resolve(meta.url, meta.kind) ?: return null
|
||||
val byteBuffer = ByteBuffer.wrap(byteArray)
|
||||
return imageLoader.components.newFetcher(byteBuffer, options, imageLoader)?.first?.fetch()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,4 +33,4 @@ internal class MediaKeyer : Keyer<MediaResolver.Meta> {
|
|||
}
|
||||
}
|
||||
|
||||
private fun MediaResolver.Meta.toKey() = "${source?.url()}_${kind}"
|
||||
private fun MediaResolver.Meta.toKey() = "${url}_${kind}"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue