mirror of
https://github.com/TelegramMessenger/Telegram-iOS.git
synced 2026-07-06 03:33:41 +02:00
Tag saved message
This commit is contained in:
parent
2d23d6c497
commit
dc7541065d
23 changed files with 861 additions and 237 deletions
|
|
@ -469,6 +469,13 @@ public final class ShareController: ViewController {
|
|||
}
|
||||
}
|
||||
}
|
||||
public var enqueued: (([PeerId], [Int64]) -> Void)? {
|
||||
didSet {
|
||||
if self.isNodeLoaded {
|
||||
self.controllerNode.enqueued = enqueued
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public var openShareAsImage: (([Message]) -> Void)?
|
||||
|
||||
|
|
@ -713,6 +720,7 @@ public final class ShareController: ViewController {
|
|||
strongSelf.present(standardTextAlertController(theme: AlertControllerTheme(presentationData: strongSelf.presentationData), title: title, text: text, actions: [TextAlertAction(type: .defaultAction, title: strongSelf.presentationData.strings.Common_OK, action: {})]), in: .window(.root))
|
||||
}, externalShare: self.externalShare, immediateExternalShare: self.immediateExternalShare, immediatePeerId: self.immediatePeerId, fromForeignApp: self.fromForeignApp, forceTheme: self.forceTheme, fromPublicChannel: fromPublicChannel, segmentedValues: self.segmentedValues, shareStory: self.shareStory)
|
||||
self.controllerNode.completed = self.completed
|
||||
self.controllerNode.enqueued = self.enqueued
|
||||
self.controllerNode.present = { [weak self] c in
|
||||
self?.presentInGlobalOverlay(c)
|
||||
}
|
||||
|
|
@ -1841,7 +1849,7 @@ public final class ShareController: ViewController {
|
|||
case let .progress(value):
|
||||
return .progress(value)
|
||||
case .done:
|
||||
return .done
|
||||
return .done([])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1876,21 +1884,21 @@ public final class ShareController: ViewController {
|
|||
}
|
||||
|> mapToSignal { progressSets -> Signal<ShareState, ShareControllerError> in
|
||||
if progressSets.isEmpty {
|
||||
return .single(.done)
|
||||
return .single(.done([]))
|
||||
}
|
||||
for item in progressSets {
|
||||
if case .progress = item {
|
||||
return .complete()
|
||||
}
|
||||
}
|
||||
return .single(.done)
|
||||
return .single(.done([]))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private func shareLegacy(text: String, peerIds: [EnginePeer.Id], topicIds: [EnginePeer.Id: Int64], showNames: Bool, silently: Bool) -> Signal<ShareState, ShareControllerError> {
|
||||
guard let currentContext = self.currentContext as? ShareControllerAppAccountContext else {
|
||||
return .single(.done)
|
||||
return .single(.done([]))
|
||||
}
|
||||
return currentContext.context.engine.data.get(EngineDataMap(
|
||||
peerIds.map(TelegramEngine.EngineData.Item.Peer.Peer.init(id:))
|
||||
|
|
@ -1924,6 +1932,8 @@ public final class ShareController: ViewController {
|
|||
}
|
||||
}
|
||||
|
||||
var correlationIds: [Int64] = []
|
||||
|
||||
switch subject {
|
||||
case let .url(url):
|
||||
for peerId in peerIds {
|
||||
|
|
@ -2205,7 +2215,9 @@ public final class ShareController: ViewController {
|
|||
return .fail(.generic)
|
||||
}
|
||||
|
||||
messagesToEnqueue.append(.message(text: text, attributes: [], inlineStickers: [:], mediaReference: nil, threadId: threadId, replyToMessageId: replyToMessageId.flatMap { EngineMessageReplySubject(messageId: $0, quote: nil) }, replyToStoryId: nil, localGroupingKey: nil, correlationId: nil, bubbleUpEmojiOrStickersets: []))
|
||||
let correlationId = Int64.random(in: Int64.min ... Int64.max)
|
||||
correlationIds.append(correlationId)
|
||||
messagesToEnqueue.append(.message(text: text, attributes: [], inlineStickers: [:], mediaReference: nil, threadId: threadId, replyToMessageId: replyToMessageId.flatMap { EngineMessageReplySubject(messageId: $0, quote: nil) }, replyToStoryId: nil, localGroupingKey: nil, correlationId: correlationId, bubbleUpEmojiOrStickersets: []))
|
||||
}
|
||||
for message in messages {
|
||||
for media in message.media {
|
||||
|
|
@ -2277,7 +2289,7 @@ public final class ShareController: ViewController {
|
|||
case let .progress(value):
|
||||
return .progress(value)
|
||||
case .done:
|
||||
return .done
|
||||
return .done([])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2326,7 +2338,7 @@ public final class ShareController: ViewController {
|
|||
}
|
||||
}
|
||||
if !hasStatuses {
|
||||
return .single(.done)
|
||||
return .single(.done(correlationIds))
|
||||
}
|
||||
return .complete()
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue