mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-02 21:33:26 +00:00
Revert "Support sending gallery messages behind a feature flag"
This reverts commit 6a2ed331fa.
This commit is contained in:
+6
-54
@@ -22,7 +22,6 @@ class MediaUploadPreviewScreenViewModel: MediaUploadPreviewScreenViewModelType,
|
||||
private var processingTask: Task<Result<[MediaInfo], MediaUploadingPreprocessorError>, Never>
|
||||
private var requestHandle: SendAttachmentJoinHandleProtocol?
|
||||
private let clientProxy: ClientProxyProtocol
|
||||
private let galleryEnabled: Bool
|
||||
|
||||
private var actionsSubject: PassthroughSubject<MediaUploadPreviewScreenViewModelAction, Never> = .init()
|
||||
|
||||
@@ -37,14 +36,12 @@ class MediaUploadPreviewScreenViewModel: MediaUploadPreviewScreenViewModelType,
|
||||
mediaUploadingPreprocessor: MediaUploadingPreprocessor,
|
||||
timelineController: TimelineControllerProtocol,
|
||||
clientProxy: ClientProxyProtocol,
|
||||
userIndicatorController: UserIndicatorControllerProtocol,
|
||||
galleryEnabled: Bool) {
|
||||
userIndicatorController: UserIndicatorControllerProtocol) {
|
||||
self.mediaURLs = mediaURLs
|
||||
self.mediaUploadingPreprocessor = mediaUploadingPreprocessor
|
||||
self.timelineController = timelineController
|
||||
self.clientProxy = clientProxy
|
||||
self.userIndicatorController = userIndicatorController
|
||||
self.galleryEnabled = galleryEnabled
|
||||
|
||||
// Start processing the media whilst the user is reviewing it/adding a caption.
|
||||
processingTask = Self.processMedia(at: mediaURLs, preprocessor: mediaUploadingPreprocessor, clientProxy: clientProxy)
|
||||
@@ -57,7 +54,7 @@ class MediaUploadPreviewScreenViewModel: MediaUploadPreviewScreenViewModelType,
|
||||
|
||||
override func process(viewAction: MediaUploadPreviewScreenViewAction) {
|
||||
// Get the current caption before all the processing starts.
|
||||
let caption = state.bindings.caption.nonBlankString
|
||||
var caption = state.bindings.caption.nonBlankString
|
||||
|
||||
switch viewAction {
|
||||
case .send:
|
||||
@@ -68,25 +65,14 @@ class MediaUploadPreviewScreenViewModel: MediaUploadPreviewScreenViewModelType,
|
||||
|
||||
switch await processingTask.value {
|
||||
case .success(let mediaInfos):
|
||||
if galleryEnabled, mediaInfos.count > 1 {
|
||||
switch await sendGallery(mediaInfos: mediaInfos, caption: caption) {
|
||||
for mediaInfo in mediaInfos {
|
||||
switch await sendAttachment(mediaInfo: mediaInfo, caption: caption) {
|
||||
case .success:
|
||||
break
|
||||
caption = nil // Set the caption only on the first uploaded file.
|
||||
case .failure(let error):
|
||||
MXLog.error("Failed sending gallery with error: \(error)")
|
||||
MXLog.error("Failed sending media with error: \(error)")
|
||||
showError(label: L10n.screenMediaUploadPreviewErrorFailedSending)
|
||||
}
|
||||
} else {
|
||||
var perItemCaption = caption
|
||||
for mediaInfo in mediaInfos {
|
||||
switch await sendAttachment(mediaInfo: mediaInfo, caption: perItemCaption) {
|
||||
case .success:
|
||||
perItemCaption = nil // Set the caption only on the first uploaded file.
|
||||
case .failure(let error):
|
||||
MXLog.error("Failed sending media with error: \(error)")
|
||||
showError(label: L10n.screenMediaUploadPreviewErrorFailedSending)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
actionsSubject.send(.dismiss)
|
||||
@@ -121,40 +107,6 @@ class MediaUploadPreviewScreenViewModel: MediaUploadPreviewScreenViewModelType,
|
||||
}
|
||||
}
|
||||
|
||||
private func sendGallery(mediaInfos: [MediaInfo], caption: String?) async -> Result<Void, TimelineControllerError> {
|
||||
let itemInfos: [GalleryItemInfo] = mediaInfos.map { mediaInfo in
|
||||
switch mediaInfo {
|
||||
case let .image(imageURL, thumbnailURL, imageInfo):
|
||||
return .image(imageInfo: imageInfo,
|
||||
source: .file(filename: imageURL.path(percentEncoded: false)),
|
||||
caption: nil,
|
||||
formattedCaption: nil,
|
||||
thumbnailSource: .file(filename: thumbnailURL.path(percentEncoded: false)))
|
||||
case let .video(videoURL, thumbnailURL, videoInfo):
|
||||
return .video(videoInfo: videoInfo,
|
||||
source: .file(filename: videoURL.path(percentEncoded: false)),
|
||||
caption: nil,
|
||||
formattedCaption: nil,
|
||||
thumbnailSource: .file(filename: thumbnailURL.path(percentEncoded: false)))
|
||||
case let .audio(audioURL, audioInfo):
|
||||
return .audio(audioInfo: audioInfo,
|
||||
source: .file(filename: audioURL.path(percentEncoded: false)),
|
||||
caption: nil,
|
||||
formattedCaption: nil)
|
||||
case let .file(fileURL, fileInfo):
|
||||
return .file(fileInfo: fileInfo,
|
||||
source: .file(filename: fileURL.path(percentEncoded: false)),
|
||||
caption: nil,
|
||||
formattedCaption: nil)
|
||||
}
|
||||
}
|
||||
|
||||
return await timelineController.sendGallery(itemInfos: itemInfos,
|
||||
caption: caption,
|
||||
formattedCaption: nil,
|
||||
inReplyToEventID: nil)
|
||||
}
|
||||
|
||||
func stopProcessing() {
|
||||
processingTask.cancel()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user