Browse Source

Handle no uri to share case.

pull/2984/head
Benoit Marty 4 months ago
parent
commit
66daa63d86
  1. 34
      features/share/impl/src/main/kotlin/io/element/android/features/share/impl/SharePresenter.kt

34
features/share/impl/src/main/kotlin/io/element/android/features/share/impl/SharePresenter.kt

@ -75,21 +75,25 @@ class SharePresenter @AssistedInject constructor( @@ -75,21 +75,25 @@ class SharePresenter @AssistedInject constructor(
val result = shareIntentHandler.handleIncomingShareIntent(
intent,
onUris = { filesToShare ->
roomIds
.map { roomId ->
val room = matrixClient.getRoom(roomId) ?: return@map false
val mediaSender = MediaSender(preProcessor = mediaPreProcessor, room = room)
filesToShare
.map { fileToShare ->
mediaSender.sendMedia(
uri = fileToShare.uri,
mimeType = fileToShare.mimeType,
compressIfPossible = true,
).isSuccess
}
.all { it }
}
.all { it }
if (filesToShare.isEmpty()) {
false
} else {
roomIds
.map { roomId ->
val room = matrixClient.getRoom(roomId) ?: return@map false
val mediaSender = MediaSender(preProcessor = mediaPreProcessor, room = room)
filesToShare
.map { fileToShare ->
mediaSender.sendMedia(
uri = fileToShare.uri,
mimeType = fileToShare.mimeType,
compressIfPossible = true,
).isSuccess
}
.all { it }
}
.all { it }
}
},
onPlainText = { text ->
roomIds

Loading…
Cancel
Save