mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-08-08 08:31:13 +00:00
Move screenshot detection activation to a later stage
This commit is contained in:
parent
5ad48ef7d4
commit
9073516dbd
@ -122,6 +122,7 @@ private final class SecretMediaPreviewControllerNode: GalleryControllerNode {
|
|||||||
|
|
||||||
public final class SecretMediaPreviewController: ViewController {
|
public final class SecretMediaPreviewController: ViewController {
|
||||||
private let context: AccountContext
|
private let context: AccountContext
|
||||||
|
private let messageId: MessageId
|
||||||
|
|
||||||
private let _ready = Promise<Bool>()
|
private let _ready = Promise<Bool>()
|
||||||
override public var ready: Promise<Bool> {
|
override public var ready: Promise<Bool> {
|
||||||
@ -150,6 +151,7 @@ public final class SecretMediaPreviewController: ViewController {
|
|||||||
|
|
||||||
public init(context: AccountContext, messageId: MessageId) {
|
public init(context: AccountContext, messageId: MessageId) {
|
||||||
self.context = context
|
self.context = context
|
||||||
|
self.messageId = messageId
|
||||||
self.presentationData = context.sharedContext.currentPresentationData.with { $0 }
|
self.presentationData = context.sharedContext.currentPresentationData.with { $0 }
|
||||||
|
|
||||||
super.init(navigationBarPresentationData: NavigationBarPresentationData(theme: GalleryController.darkNavigationTheme, strings: NavigationBarStrings(presentationStrings: self.presentationData.strings)))
|
super.init(navigationBarPresentationData: NavigationBarPresentationData(theme: GalleryController.darkNavigationTheme, strings: NavigationBarStrings(presentationStrings: self.presentationData.strings)))
|
||||||
@ -159,8 +161,6 @@ public final class SecretMediaPreviewController: ViewController {
|
|||||||
|
|
||||||
self.statusBar.statusBarStyle = .White
|
self.statusBar.statusBarStyle = .White
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
self.disposable.set((context.account.postbox.messageView(messageId) |> deliverOnMainQueue).start(next: { [weak self] view in
|
self.disposable.set((context.account.postbox.messageView(messageId) |> deliverOnMainQueue).start(next: { [weak self] view in
|
||||||
if let strongSelf = self {
|
if let strongSelf = self {
|
||||||
strongSelf.messageView = view
|
strongSelf.messageView = view
|
||||||
@ -178,17 +178,6 @@ public final class SecretMediaPreviewController: ViewController {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
self.screenCaptureEventsDisposable = (screenCaptureEvents()
|
|
||||||
|> deliverOnMainQueue).start(next: { [weak self] _ in
|
|
||||||
if let strongSelf = self, strongSelf.traceVisibility() {
|
|
||||||
if messageId.peerId.namespace == Namespaces.Peer.CloudUser {
|
|
||||||
let _ = enqueueMessages(account: context.account, peerId: messageId.peerId, messages: [.message(text: "", attributes: [], mediaReference: .standalone(media: TelegramMediaAction(action: TelegramMediaActionType.historyScreenshot)), replyToMessageId: nil, localGroupingKey: nil)]).start()
|
|
||||||
} else if messageId.peerId.namespace == Namespaces.Peer.SecretChat {
|
|
||||||
let _ = addSecretChatMessageScreenshot(account: context.account, peerId: messageId.peerId).start()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
required public init(coder aDecoder: NSCoder) {
|
required public init(coder aDecoder: NSCoder) {
|
||||||
@ -348,6 +337,19 @@ public final class SecretMediaPreviewController: ViewController {
|
|||||||
override public func viewDidAppear(_ animated: Bool) {
|
override public func viewDidAppear(_ animated: Bool) {
|
||||||
super.viewDidAppear(animated)
|
super.viewDidAppear(animated)
|
||||||
|
|
||||||
|
if self.screenCaptureEventsDisposable == nil {
|
||||||
|
self.screenCaptureEventsDisposable = (screenCaptureEvents()
|
||||||
|
|> deliverOnMainQueue).start(next: { [weak self] _ in
|
||||||
|
if let strongSelf = self, strongSelf.traceVisibility() {
|
||||||
|
if strongSelf.messageId.peerId.namespace == Namespaces.Peer.CloudUser {
|
||||||
|
let _ = enqueueMessages(account: strongSelf.context.account, peerId: strongSelf.messageId.peerId, messages: [.message(text: "", attributes: [], mediaReference: .standalone(media: TelegramMediaAction(action: TelegramMediaActionType.historyScreenshot)), replyToMessageId: nil, localGroupingKey: nil)]).start()
|
||||||
|
} else if strongSelf.messageId.peerId.namespace == Namespaces.Peer.SecretChat {
|
||||||
|
let _ = addSecretChatMessageScreenshot(account: strongSelf.context.account, peerId: strongSelf.messageId.peerId).start()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
var nodeAnimatesItself = false
|
var nodeAnimatesItself = false
|
||||||
|
|
||||||
if let centralItemNode = self.controllerNode.pager.centralItemNode(), let message = self.messageView?.message {
|
if let centralItemNode = self.controllerNode.pager.centralItemNode(), let message = self.messageView?.message {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user