diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/content/ContentAttachmentData.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/content/ContentAttachmentData.kt index 38c3dd860c..7ee26de8db 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/content/ContentAttachmentData.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/content/ContentAttachmentData.kt @@ -36,7 +36,7 @@ data class ContentAttachmentData( val queryUri: Uri, val mimeType: String?, val type: Type, - val waveform: List? = null + val waveform: List? = null ) : Parcelable { @JsonClass(generateAdapter = false) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/DefaultSendService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/DefaultSendService.kt index a64b903947..6dbb71e096 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/DefaultSendService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/DefaultSendService.kt @@ -185,7 +185,7 @@ internal class DefaultSendService @AssistedInject constructor( name = messageContent.body, queryUri = Uri.parse(messageContent.url), type = ContentAttachmentData.Type.AUDIO, - waveform = messageContent.audioWaveformInfo?.waveform + waveform = messageContent.audioWaveformInfo?.waveform?.filterNotNull() ) localEchoRepository.updateSendState(localEcho.eventId, roomId, SendState.UNSENT) internalSendMedia(listOf(localEcho.root), attachmentData, true) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/WaveFormSanitizer.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/WaveFormSanitizer.kt index b0474dd6ff..78a03f3775 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/WaveFormSanitizer.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/send/WaveFormSanitizer.kt @@ -33,7 +33,7 @@ internal class WaveFormSanitizer @Inject constructor() { * The array should have no less than 30 elements and no more than 120. * List of integers between zero and 1024, inclusive. */ - fun sanitize(waveForm: List?): List? { + fun sanitize(waveForm: List?): List? { if (waveForm.isNullOrEmpty()) { return null } @@ -46,7 +46,7 @@ internal class WaveFormSanitizer @Inject constructor() { val repeatTimes = ceil(MIN_NUMBER_OF_VALUES / waveForm.size.toDouble()).toInt() waveForm.map { value -> repeat(repeatTimes) { - sizeInRangeList.add(value ?: 0) + sizeInRangeList.add(value) } } } @@ -54,12 +54,12 @@ internal class WaveFormSanitizer @Inject constructor() { val keepOneOf = ceil(waveForm.size.toDouble() / MAX_NUMBER_OF_VALUES).toInt() waveForm.mapIndexed { idx, value -> if (idx % keepOneOf == 0) { - sizeInRangeList.add(value ?: 0) + sizeInRangeList.add(value) } } } else -> { - sizeInRangeList.addAll(waveForm.filterNotNull()) + sizeInRangeList.addAll(waveForm) } }