Skip to content

Commit efb5fe2

Browse files
committed
Remove multi-photo display
1 parent ddbead9 commit efb5fe2

21 files changed

Lines changed: 37 additions & 1005 deletions

Mixin.xcodeproj/project.pbxproj

Lines changed: 2 additions & 36 deletions
Large diffs are not rendered by default.

Mixin/UserInterface/Controllers/Chat/Cells/StackedPhotoMessageCell.swift

Lines changed: 0 additions & 34 deletions
This file was deleted.

Mixin/UserInterface/Controllers/Chat/ConversationViewController.swift

Lines changed: 15 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -735,10 +735,9 @@ class ConversationViewController: UIViewController {
735735
let isImageOrVideo = message.category.hasSuffix("_IMAGE") || message.category.hasSuffix("_VIDEO")
736736
let mediaStatusIsReady = message.mediaStatus == MediaStatus.DONE.rawValue || message.mediaStatus == MediaStatus.READ.rawValue
737737
if let quoteMessageId = viewModel.message.quoteMessageId, !quoteMessageId.isEmpty, let quote = cell.quotedMessageViewIfLoaded, quote.bounds.contains(recognizer.location(in: quote)) {
738-
let messageId = messageIdIfIncluedInStackedPhotoMessage(for: quoteMessageId)
739-
if let indexPath = dataSource?.indexPath(where: { $0.messageId == messageId }) {
738+
if let indexPath = dataSource?.indexPath(where: { $0.messageId == quoteMessageId }) {
740739
quotingMessageId = message.messageId
741-
scheduleCellBackgroundFlash(messageId: messageId)
740+
scheduleCellBackgroundFlash(messageId: quoteMessageId)
742741
tableView.scrollToRow(at: indexPath, at: .middle, animated: true)
743742
} else if MessageDAO.shared.hasMessage(id: quoteMessageId) {
744743
quotingMessageId = message.messageId
@@ -822,9 +821,6 @@ class ConversationViewController: UIViewController {
822821
conversationInputViewController.dismiss()
823822
let vc = StickerPreviewViewController.instance(message: message)
824823
vc.presentAsChild(of: self)
825-
} else if message.category == MessageCategory.STACKED_PHOTO.rawValue {
826-
let vc = StackedPhotoPreviewViewController(conversationId: conversationId, stackedPhotoMessage: message)
827-
vc.presentAsChild(of: self)
828824
} else {
829825
conversationInputViewController.dismiss()
830826
}
@@ -865,7 +861,7 @@ class ConversationViewController: UIViewController {
865861
cell.messageContentView.frame.origin.x = 0
866862
}
867863
if shouldQuote, let viewModel = cell.viewModel {
868-
conversationInputViewController.quote = (messageIfIncludedInStackedPhotoMessage(for: viewModel.message), viewModel.thumbnail)
864+
conversationInputViewController.quote = (viewModel.message, viewModel.thumbnail)
869865
}
870866
case .cancelled, .failed:
871867
tableView.isScrollEnabled = true
@@ -1308,7 +1304,7 @@ extension ConversationViewController: MultipleSelectionActionViewDelegate {
13081304
func multipleSelectionActionViewDidTapAction(_ view: MultipleSelectionActionView) {
13091305
switch view.intent {
13101306
case .forward:
1311-
let messages = dataSource.selectedMessageViewModels
1307+
let messages = dataSource.selectedViewModels.values
13121308
.map({ $0.message })
13131309
.sorted(by: { $0.createdAt < $1.createdAt })
13141310
let containsTranscriptMessage = messages.contains {
@@ -1331,7 +1327,7 @@ extension ConversationViewController: MultipleSelectionActionViewDelegate {
13311327
present(alert, animated: true, completion: nil)
13321328
}
13331329
case .delete:
1334-
let viewModels = dataSource.selectedMessageViewModels
1330+
let viewModels = dataSource.selectedViewModels.values.map({ $0 })
13351331
let controller = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet)
13361332
if !viewModels.contains(where: { $0.message.userId != myUserId || !$0.message.canRecall }) {
13371333
controller.addAction(UIAlertAction(title: Localized.ACTION_DELETE_EVERYONE, style: .destructive, handler: { (_) in
@@ -1891,8 +1887,6 @@ extension ConversationViewController {
18911887
actions = [.delete]
18921888
} else if category == MessageCategory.MESSAGE_RECALL.rawValue {
18931889
actions = [.delete]
1894-
} else if category == MessageCategory.STACKED_PHOTO.rawValue {
1895-
actions = [.reply, .forward, .delete]
18961890
} else {
18971891
actions = []
18981892
}
@@ -1909,7 +1903,6 @@ extension ConversationViewController {
19091903
index = nil
19101904
}
19111905
if let index = index {
1912-
let message = messageIfIncludedInStackedPhotoMessage(for: message)
19131906
let action: MessageAction = pinnedMessageIds.contains(message.messageId) ? .unpin : .pin
19141907
actions.insert(action, at: index)
19151908
}
@@ -1939,7 +1932,7 @@ extension ConversationViewController {
19391932
case .forward:
19401933
beginMultipleSelection(on: indexPath, intent: .forward)
19411934
case .reply:
1942-
conversationInputViewController.quote = (messageIfIncludedInStackedPhotoMessage(for: message), viewModel.thumbnail)
1935+
conversationInputViewController.quote = (message, viewModel.thumbnail)
19431936
case .addToStickers:
19441937
if message.category.hasSuffix("_STICKER"), let stickerId = message.stickerId {
19451938
StickerAPI.addSticker(stickerId: stickerId, completion: { (result) in
@@ -1960,9 +1953,9 @@ extension ConversationViewController {
19601953
case .report:
19611954
report(conversationId: conversationId, message: message)
19621955
case .pin:
1963-
SendMessageService.shared.sendPinMessages(items: [messageIfIncludedInStackedPhotoMessage(for: message)], conversationId: conversationId, action: .pin)
1956+
SendMessageService.shared.sendPinMessages(items: [message], conversationId: conversationId, action: .pin)
19641957
case .unpin:
1965-
SendMessageService.shared.sendPinMessages(items: [messageIfIncludedInStackedPhotoMessage(for: message)], conversationId: conversationId, action: .unpin)
1958+
SendMessageService.shared.sendPinMessages(items: [message], conversationId: conversationId, action: .unpin)
19661959
}
19671960
}
19681961

@@ -2677,13 +2670,9 @@ extension ConversationViewController {
26772670
guard let weakSelf = self, let indexPath = weakSelf.dataSource.indexPath(where: { $0.messageId == message.messageId }) else {
26782671
return
26792672
}
2680-
if message.category == MessageCategory.STACKED_PHOTO.rawValue {
2681-
message.messageItems?.forEach({ MessageDAO.shared.deleteMessage(id: $0.messageId) })
2682-
} else {
2683-
let (deleted, childMessageIds) = MessageDAO.shared.deleteMessage(id: message.messageId)
2684-
if deleted {
2685-
ReceiveMessageService.shared.stopRecallMessage(item: message, childMessageIds: childMessageIds)
2686-
}
2673+
let (deleted, childMessageIds) = MessageDAO.shared.deleteMessage(id: message.messageId)
2674+
if deleted {
2675+
ReceiveMessageService.shared.stopRecallMessage(item: message, childMessageIds: childMessageIds)
26872676
}
26882677
DispatchQueue.main.sync {
26892678
_ = weakSelf.dataSource?.removeViewModel(at: indexPath)
@@ -2728,16 +2717,15 @@ extension ConversationViewController {
27282717
let flashingId = self.messageIdToFlashAfterAnimationFinished
27292718
self.messageIdToFlashAfterAnimationFinished = nil
27302719
scroll(messageId, {
2731-
let msgId = self.messageIdIfIncluedInStackedPhotoMessage(for: messageId)
2732-
guard let indexPath = self.dataSource?.indexPath(where: { $0.messageId == msgId }) else {
2720+
guard let indexPath = self.dataSource?.indexPath(where: { $0.messageId == messageId }) else {
27332721
return
27342722
}
27352723
if scrollUpwards {
27362724
self.tableView.scrollToRow(at: indexPath, at: .bottom, animated: false)
27372725
} else {
27382726
self.tableView.scrollToRow(at: indexPath, at: .top, animated: false)
27392727
}
2740-
self.messageIdToFlashAfterAnimationFinished = flashingId != nil ? msgId : flashingId
2728+
self.messageIdToFlashAfterAnimationFinished = flashingId
27412729
self.tableView.scrollToRow(at: indexPath, at: .middle, animated: true)
27422730
})
27432731
}
@@ -2797,9 +2785,8 @@ extension ConversationViewController {
27972785
}
27982786

27992787
private func scrollToPinnedMessage(messageId: String) {
2800-
let msgId = messageIdIfIncluedInStackedPhotoMessage(for: messageId)
2801-
if let indexPath = dataSource.indexPath(where: { $0.messageId == msgId }) {
2802-
scheduleCellBackgroundFlash(messageId: msgId)
2788+
if let indexPath = dataSource.indexPath(where: { $0.messageId == messageId }) {
2789+
scheduleCellBackgroundFlash(messageId: messageId)
28032790
tableView.scrollToRow(at: indexPath, at: .middle, animated: true)
28042791
} else if MessageDAO.shared.hasMessage(id: messageId) {
28052792
messageIdToFlashAfterAnimationFinished = messageId
@@ -2815,30 +2802,6 @@ extension ConversationViewController {
28152802
}
28162803
}
28172804

2818-
private func messageIdIfIncluedInStackedPhotoMessage(for messageId: String) -> String {
2819-
guard !dataSource.stackedPhotoMessages.isEmpty else {
2820-
return messageId
2821-
}
2822-
let msgId: String
2823-
let stackedPhotoMessage = dataSource.stackedPhotoMessages.first { message in
2824-
message.messageItems?.contains(where: { $0.messageId == messageId }) ?? false
2825-
}
2826-
if let stackedPhotoMessageId = stackedPhotoMessage?.messageId {
2827-
msgId = stackedPhotoMessageId
2828-
} else {
2829-
msgId = messageId
2830-
}
2831-
return msgId
2832-
}
2833-
2834-
private func messageIfIncludedInStackedPhotoMessage(for message: MessageItem) -> MessageItem {
2835-
if message.category == MessageCategory.STACKED_PHOTO.rawValue, let photoMessage = message.messageItems?.first {
2836-
return photoMessage
2837-
} else {
2838-
return message
2839-
}
2840-
}
2841-
28422805
}
28432806

28442807
// MARK: - Context menu configs
@@ -2889,9 +2852,6 @@ extension ConversationViewController {
28892852
} else if let viewModel = viewModel as? AppButtonGroupViewModel {
28902853
param.visiblePath = UIBezierPath(roundedRect: viewModel.buttonGroupFrame,
28912854
cornerRadius: AppButtonView.cornerRadius)
2892-
} else if let viewModel = viewModel as? StackedPhotoMessageViewModel {
2893-
param.visiblePath = UIBezierPath(roundedRect: viewModel.stackedPhotoViewFrame,
2894-
cornerRadius: 13)
28952855
} else {
28962856
if viewModel.style.contains(.received) {
28972857
if viewModel.style.contains(.tail) {

0 commit comments

Comments
 (0)