Browse Source

Fix other API change: `body` renamed to `filename`

pull/3694/head
Benoit Marty 2 days ago committed by Benoit Marty
parent
commit
c1c9f53015
  1. 10
      features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/voicemessages/timeline/VoiceMessageMediaRepo.kt
  2. 12
      features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/voicemessages/timeline/VoiceMessagePlayer.kt
  3. 2
      features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/voicemessages/timeline/VoiceMessagePresenter.kt
  4. 2
      features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/voicemessages/timeline/DefaultVoiceMessageMediaRepoTest.kt
  5. 2
      features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/voicemessages/timeline/DefaultVoiceMessagePlayerTest.kt
  6. 4
      features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/voicemessages/timeline/VoiceMessagePresenterTest.kt
  7. 4
      libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/media/MatrixMediaLoader.kt
  8. 4
      libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/media/RustMediaLoader.kt
  9. 2
      libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/media/FakeMatrixMediaLoader.kt
  10. 2
      libraries/mediaviewer/api/src/main/kotlin/io/element/android/libraries/mediaviewer/api/viewer/MediaViewerPresenter.kt
  11. 2
      libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/notifications/DefaultNotifiableEventResolver.kt
  12. 8
      libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/notifications/NotificationMediaRepo.kt
  13. 2
      libraries/push/impl/src/test/kotlin/io/element/android/libraries/push/impl/notifications/fake/FakeNotificationMediaRepo.kt

10
features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/voicemessages/timeline/VoiceMessageMediaRepo.kt

@ -35,12 +35,12 @@ interface VoiceMessageMediaRepo { @@ -35,12 +35,12 @@ interface VoiceMessageMediaRepo {
*
* @param mediaSource the media source of the voice message.
* @param mimeType the mime type of the voice message.
* @param body the body of the voice message.
* @param filename the filename of the voice message.
*/
fun create(
mediaSource: MediaSource,
mimeType: String?,
body: String?,
filename: String?,
): VoiceMessageMediaRepo
}
@ -61,7 +61,7 @@ class DefaultVoiceMessageMediaRepo @AssistedInject constructor( @@ -61,7 +61,7 @@ class DefaultVoiceMessageMediaRepo @AssistedInject constructor(
private val matrixMediaLoader: MatrixMediaLoader,
@Assisted private val mediaSource: MediaSource,
@Assisted("mimeType") private val mimeType: String?,
@Assisted("body") private val body: String?,
@Assisted("filename") private val filename: String?,
) : VoiceMessageMediaRepo {
@ContributesBinding(RoomScope::class)
@AssistedFactory
@ -69,7 +69,7 @@ class DefaultVoiceMessageMediaRepo @AssistedInject constructor( @@ -69,7 +69,7 @@ class DefaultVoiceMessageMediaRepo @AssistedInject constructor(
override fun create(
mediaSource: MediaSource,
@Assisted("mimeType") mimeType: String?,
@Assisted("body") body: String?,
@Assisted("filename") filename: String?,
): DefaultVoiceMessageMediaRepo
}
@ -79,7 +79,7 @@ class DefaultVoiceMessageMediaRepo @AssistedInject constructor( @@ -79,7 +79,7 @@ class DefaultVoiceMessageMediaRepo @AssistedInject constructor(
else -> matrixMediaLoader.downloadMediaFile(
source = mediaSource,
mimeType = mimeType,
body = body,
filename = filename,
).mapCatching {
it.use { mediaFile ->
val dest = cachedFile.apply { parentFile?.mkdirs() }

12
features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/voicemessages/timeline/VoiceMessagePlayer.kt

@ -37,13 +37,13 @@ interface VoiceMessagePlayer { @@ -37,13 +37,13 @@ interface VoiceMessagePlayer {
* @param eventId The eventId of the voice message event.
* @param mediaSource The media source of the voice message.
* @param mimeType The mime type of the voice message.
* @param body The body of the voice message.
* @param filename The filename of the voice message.
*/
fun create(
eventId: EventId?,
mediaSource: MediaSource,
mimeType: String?,
body: String?,
filename: String?,
): VoiceMessagePlayer
}
@ -113,7 +113,7 @@ class DefaultVoiceMessagePlayer( @@ -113,7 +113,7 @@ class DefaultVoiceMessagePlayer(
private val eventId: EventId?,
mediaSource: MediaSource,
mimeType: String?,
body: String?,
filename: String?,
) : VoiceMessagePlayer {
@ContributesBinding(RoomScope::class) // Scoped types can't use @AssistedInject.
class Factory @Inject constructor(
@ -124,21 +124,21 @@ class DefaultVoiceMessagePlayer( @@ -124,21 +124,21 @@ class DefaultVoiceMessagePlayer(
eventId: EventId?,
mediaSource: MediaSource,
mimeType: String?,
body: String?,
filename: String?,
): DefaultVoiceMessagePlayer = DefaultVoiceMessagePlayer(
mediaPlayer = mediaPlayer,
voiceMessageMediaRepoFactory = voiceMessageMediaRepoFactory,
eventId = eventId,
mediaSource = mediaSource,
mimeType = mimeType,
body = body,
filename = filename,
)
}
private val repo = voiceMessageMediaRepoFactory.create(
mediaSource = mediaSource,
mimeType = mimeType,
body = body
filename = filename,
)
private var internalState = MutableStateFlow(

2
features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/voicemessages/timeline/VoiceMessagePresenter.kt

@ -59,7 +59,7 @@ class VoiceMessagePresenter @AssistedInject constructor( @@ -59,7 +59,7 @@ class VoiceMessagePresenter @AssistedInject constructor(
eventId = content.eventId,
mediaSource = content.mediaSource,
mimeType = content.mimeType,
body = content.caption,
filename = content.caption,
)
private val play = mutableStateOf<AsyncData<Unit>>(AsyncData.Uninitialized)

2
features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/voicemessages/timeline/DefaultVoiceMessageMediaRepoTest.kt

@ -137,7 +137,7 @@ private fun createDefaultVoiceMessageMediaRepo( @@ -137,7 +137,7 @@ private fun createDefaultVoiceMessageMediaRepo(
json = null
),
mimeType = MimeTypes.Ogg,
body = "someBody.ogg"
filename = "someBody.ogg"
)
private const val MXC_URI = "mxc://matrix.org/1234567890abcdefg"

2
features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/voicemessages/timeline/DefaultVoiceMessagePlayerTest.kt

@ -279,7 +279,7 @@ private fun createDefaultVoiceMessagePlayer( @@ -279,7 +279,7 @@ private fun createDefaultVoiceMessagePlayer(
json = null
),
mimeType = MimeTypes.Ogg,
body = "someBody.ogg"
filename = "someBody.ogg"
)
private const val MXC_URI = "mxc://matrix.org/1234567890abcdefg"

4
features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/voicemessages/timeline/VoiceMessagePresenterTest.kt

@ -226,14 +226,14 @@ fun TestScope.createVoiceMessagePresenter( @@ -226,14 +226,14 @@ fun TestScope.createVoiceMessagePresenter(
analyticsService: AnalyticsService = FakeAnalyticsService(),
content: TimelineItemVoiceContent = aTimelineItemVoiceContent(),
) = VoiceMessagePresenter(
voiceMessagePlayerFactory = { eventId, mediaSource, mimeType, body ->
voiceMessagePlayerFactory = { eventId, mediaSource, mimeType, filename ->
DefaultVoiceMessagePlayer(
mediaPlayer = mediaPlayer,
voiceMessageMediaRepoFactory = { _, _, _ -> voiceMessageMediaRepo },
eventId = eventId,
mediaSource = mediaSource,
mimeType = mimeType,
body = body
filename = filename
)
},
analyticsService = analyticsService,

4
libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/media/MatrixMediaLoader.kt

@ -25,14 +25,14 @@ interface MatrixMediaLoader { @@ -25,14 +25,14 @@ interface MatrixMediaLoader {
/**
* @param source to fetch the data for.
* @param mimeType: optional mime type.
* @param body: optional body which will be used to name the file.
* @param filename: optional String which will be used to name the file.
* @param useCache: if true, the rust sdk will cache the media in its store.
* @return a [Result] of [MediaFile]
*/
suspend fun downloadMediaFile(
source: MediaSource,
mimeType: String?,
body: String?,
filename: String?,
useCache: Boolean = true,
): Result<MediaFile>
}

4
libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/media/RustMediaLoader.kt

@ -63,7 +63,7 @@ class RustMediaLoader( @@ -63,7 +63,7 @@ class RustMediaLoader(
override suspend fun downloadMediaFile(
source: MediaSource,
mimeType: String?,
body: String?,
filename: String?,
useCache: Boolean,
): Result<MediaFile> =
withContext(mediaDispatcher) {
@ -71,7 +71,7 @@ class RustMediaLoader( @@ -71,7 +71,7 @@ class RustMediaLoader(
source.toRustMediaSource().use { mediaSource ->
val mediaFile = innerClient.getMediaFile(
mediaSource = mediaSource,
body = body,
filename = filename,
mimeType = mimeType?.takeIf { MimeTypes.hasSubtype(it) } ?: MimeTypes.OctetStream,
useCache = useCache,
tempDir = cacheDirectory.path,

2
libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/media/FakeMatrixMediaLoader.kt

@ -35,7 +35,7 @@ class FakeMatrixMediaLoader : MatrixMediaLoader { @@ -35,7 +35,7 @@ class FakeMatrixMediaLoader : MatrixMediaLoader {
override suspend fun downloadMediaFile(
source: MediaSource,
mimeType: String?,
body: String?,
filename: String?,
useCache: Boolean,
): Result<MediaFile> = simulateLongTask {
if (shouldFail) {

2
libraries/mediaviewer/api/src/main/kotlin/io/element/android/libraries/mediaviewer/api/viewer/MediaViewerPresenter.kt

@ -92,7 +92,7 @@ class MediaViewerPresenter @AssistedInject constructor( @@ -92,7 +92,7 @@ class MediaViewerPresenter @AssistedInject constructor(
mediaLoader.downloadMediaFile(
source = inputs.mediaSource,
mimeType = inputs.mediaInfo.mimeType,
body = inputs.mediaInfo.filename
filename = inputs.mediaInfo.filename
)
.onSuccess {
mediaFile.value = it

2
libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/notifications/DefaultNotifiableEventResolver.kt

@ -299,7 +299,7 @@ class DefaultNotifiableEventResolver @Inject constructor( @@ -299,7 +299,7 @@ class DefaultNotifiableEventResolver @Inject constructor(
.getMediaFile(
mediaSource = messageType.source,
mimeType = messageType.info?.mimetype,
body = messageType.filename,
filename = messageType.filename,
)
is VideoMessageType -> null // Use the thumbnail here?
else -> null

8
libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/notifications/NotificationMediaRepo.kt

@ -47,13 +47,13 @@ interface NotificationMediaRepo { @@ -47,13 +47,13 @@ interface NotificationMediaRepo {
*
* @param mediaSource the media source of the media.
* @param mimeType the mime type of the media.
* @param body optional body which will be used to name the file.
* @param filename optional String which will be used to name the file.
* @return A [Result] holding either the media [File] from the cache directory or an [Exception].
*/
suspend fun getMediaFile(
mediaSource: MediaSource,
mimeType: String?,
body: String?,
filename: String?,
): Result<File>
}
@ -75,7 +75,7 @@ class DefaultNotificationMediaRepo @AssistedInject constructor( @@ -75,7 +75,7 @@ class DefaultNotificationMediaRepo @AssistedInject constructor(
override suspend fun getMediaFile(
mediaSource: MediaSource,
mimeType: String?,
body: String?,
filename: String?,
): Result<File> {
val cachedFile = mediaSource.cachedFile()
return when {
@ -84,7 +84,7 @@ class DefaultNotificationMediaRepo @AssistedInject constructor( @@ -84,7 +84,7 @@ class DefaultNotificationMediaRepo @AssistedInject constructor(
else -> matrixMediaLoader.downloadMediaFile(
source = mediaSource,
mimeType = mimeType,
body = body,
filename = filename,
).mapCatching {
it.use { mediaFile ->
val dest = cachedFile.apply { parentFile?.mkdirs() }

2
libraries/push/impl/src/test/kotlin/io/element/android/libraries/push/impl/notifications/fake/FakeNotificationMediaRepo.kt

@ -15,7 +15,7 @@ class FakeNotificationMediaRepo : NotificationMediaRepo { @@ -15,7 +15,7 @@ class FakeNotificationMediaRepo : NotificationMediaRepo {
override suspend fun getMediaFile(
mediaSource: MediaSource,
mimeType: String?,
body: String?,
filename: String?,
): Result<File> {
return Result.failure(IllegalStateException("Fake class"))
}

Loading…
Cancel
Save