@@ -19,6 +19,14 @@ package im.vector.app.features.attachments
1919import android.content.Context
2020import android.content.Intent
2121import org.matrix.android.sdk.api.session.content.ContentAttachmentData
22+ import org.matrix.android.sdk.api.util.MimeTypes
23+ import org.matrix.android.sdk.api.util.MimeTypes.isMimeTypeAny
24+ import org.matrix.android.sdk.api.util.MimeTypes.isMimeTypeApplication
25+ import org.matrix.android.sdk.api.util.MimeTypes.isMimeTypeAudio
26+ import org.matrix.android.sdk.api.util.MimeTypes.isMimeTypeFile
27+ import org.matrix.android.sdk.api.util.MimeTypes.isMimeTypeImage
28+ import org.matrix.android.sdk.api.util.MimeTypes.isMimeTypeText
29+ import org.matrix.android.sdk.api.util.MimeTypes.isMimeTypeVideo
2230import javax.inject.Inject
2331
2432class ShareIntentHandler @Inject constructor(
@@ -34,11 +42,11 @@ class ShareIntentHandler @Inject constructor(
3442 fun handleIncomingShareIntent (intent : Intent , onFile : (List <ContentAttachmentData >) -> Unit , onPlainText : (String ) -> Unit ): Boolean {
3543 val type = intent.resolveType(context) ? : return false
3644 return when {
37- type == " text/plain " -> handlePlainText(intent, onPlainText)
38- type.startsWith( " image " ) -> onFile(multiPickerIncomingFiles.image(intent)).let { true }
39- type.startsWith( " video " ) -> onFile(multiPickerIncomingFiles.video(intent)).let { true }
40- type.startsWith( " audio " ) -> onFile(multiPickerIncomingFiles.audio(intent)).let { true }
41- type.startsWith( " application " ) || type.startsWith( " file " ) || type.startsWith( " text " ) || type.startsWith( " * " ) -> {
45+ type == MimeTypes . PlainText -> handlePlainText(intent, onPlainText)
46+ type.isMimeTypeImage( ) -> onFile(multiPickerIncomingFiles.image(intent)).let { true }
47+ type.isMimeTypeVideo( ) -> onFile(multiPickerIncomingFiles.video(intent)).let { true }
48+ type.isMimeTypeAudio( ) -> onFile(multiPickerIncomingFiles.audio(intent)).let { true }
49+ type.isMimeTypeApplication( ) || type.isMimeTypeFile( ) || type.isMimeTypeText( ) || type.isMimeTypeAny( ) -> {
4250 onFile(multiPickerIncomingFiles.file(intent)).let { true }
4351 }
4452 else -> false
0 commit comments