diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/MimeTypes.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/MimeTypes.kt index 182b37f2ad..ef47775f1b 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/MimeTypes.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/util/MimeTypes.kt @@ -31,6 +31,8 @@ object MimeTypes { const val Jpeg = "image/jpeg" const val Gif = "image/gif" + const val Ogg = "audio/ogg" + fun String?.normalizeMimeType() = if (this == BadJpg) Jpeg else this fun String?.isMimeTypeImage() = this?.startsWith("image/").orFalse() diff --git a/multipicker/src/main/java/im/vector/lib/multipicker/utils/ContentResolverUtil.kt b/multipicker/src/main/java/im/vector/lib/multipicker/utils/ContentResolverUtil.kt index 6cadfa6ce7..78136c274a 100644 --- a/multipicker/src/main/java/im/vector/lib/multipicker/utils/ContentResolverUtil.kt +++ b/multipicker/src/main/java/im/vector/lib/multipicker/utils/ContentResolverUtil.kt @@ -141,7 +141,7 @@ fun Uri.toMultiPickerAudioType(context: Context): MultiPickerAudioType? { MultiPickerAudioType( name, size, - context.contentResolver.getType(this), + sanitize(context.contentResolver.getType(this)), this, duration ) @@ -150,3 +150,11 @@ fun Uri.toMultiPickerAudioType(context: Context): MultiPickerAudioType? { } } } + +private fun sanitize(type: String?): String? { + if (type == "application/ogg") { + // Not supported on old system + return "audio/ogg" + } + return type +} diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/composer/VoiceMessageHelper.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/composer/VoiceMessageHelper.kt index 4f07cf98fe..1b78425f5e 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/composer/VoiceMessageHelper.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/composer/VoiceMessageHelper.kt @@ -74,7 +74,6 @@ class VoiceMessageHelper @Inject constructor( voiceRecorder.getVoiceMessageFile() } try { - // TODO Improve this voiceMessageFile?.let { val outputFileUri = FileProvider.getUriForFile(context, BuildConfig.APPLICATION_ID + ".fileProvider", it) return outputFileUri