mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-23 06:35:51 +00:00
Generate screenshot notifications for regular secret media
This commit is contained in:
@@ -14,6 +14,7 @@ import AccountContext
|
|||||||
import TelegramUniversalVideoContent
|
import TelegramUniversalVideoContent
|
||||||
import WebsiteType
|
import WebsiteType
|
||||||
import OpenInExternalAppUI
|
import OpenInExternalAppUI
|
||||||
|
import ScreenCaptureDetection
|
||||||
|
|
||||||
private func tagsForMessage(_ message: Message) -> MessageTags? {
|
private func tagsForMessage(_ message: Message) -> MessageTags? {
|
||||||
for media in message.media {
|
for media in message.media {
|
||||||
@@ -381,6 +382,8 @@ public class GalleryController: ViewController, StandalonePresentableController
|
|||||||
|
|
||||||
private let updateVisibleDisposable = MetaDisposable()
|
private let updateVisibleDisposable = MetaDisposable()
|
||||||
|
|
||||||
|
private var screenCaptureEventsDisposable: Disposable?
|
||||||
|
|
||||||
public init(context: AccountContext, source: GalleryControllerItemSource, invertItemOrder: Bool = false, streamSingleVideo: Bool = false, fromPlayingVideo: Bool = false, landscape: Bool = false, timecode: Double? = nil, synchronousLoad: Bool = false, replaceRootController: @escaping (ViewController, Promise<Bool>?) -> Void, baseNavigationController: NavigationController?, actionInteraction: GalleryControllerActionInteraction? = nil) {
|
public init(context: AccountContext, source: GalleryControllerItemSource, invertItemOrder: Bool = false, streamSingleVideo: Bool = false, fromPlayingVideo: Bool = false, landscape: Bool = false, timecode: Double? = nil, synchronousLoad: Bool = false, replaceRootController: @escaping (ViewController, Promise<Bool>?) -> Void, baseNavigationController: NavigationController?, actionInteraction: GalleryControllerActionInteraction? = nil) {
|
||||||
self.context = context
|
self.context = context
|
||||||
self.source = source
|
self.source = source
|
||||||
@@ -808,6 +811,20 @@ public class GalleryController: ViewController, StandalonePresentableController
|
|||||||
self.blocksBackgroundWhenInOverlay = true
|
self.blocksBackgroundWhenInOverlay = true
|
||||||
self.acceptsFocusWhenInOverlay = true
|
self.acceptsFocusWhenInOverlay = true
|
||||||
self.isOpaqueWhenInOverlay = true
|
self.isOpaqueWhenInOverlay = true
|
||||||
|
|
||||||
|
switch source {
|
||||||
|
case let .peerMessagesAtId(id):
|
||||||
|
if id.peerId.namespace == Namespaces.Peer.SecretChat {
|
||||||
|
self.screenCaptureEventsDisposable = (screenCaptureEvents()
|
||||||
|
|> deliverOnMainQueue).start(next: { [weak self] _ in
|
||||||
|
if let strongSelf = self, strongSelf.traceVisibility() {
|
||||||
|
let _ = addSecretChatMessageScreenshot(account: strongSelf.context.account, peerId: id.peerId).start()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
break
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
required init(coder aDecoder: NSCoder) {
|
required init(coder aDecoder: NSCoder) {
|
||||||
@@ -822,6 +839,7 @@ public class GalleryController: ViewController, StandalonePresentableController
|
|||||||
self.context.sharedContext.mediaManager.galleryHiddenMediaManager.removeSource(hiddenMediaManagerIndex)
|
self.context.sharedContext.mediaManager.galleryHiddenMediaManager.removeSource(hiddenMediaManagerIndex)
|
||||||
}
|
}
|
||||||
self.updateVisibleDisposable.dispose()
|
self.updateVisibleDisposable.dispose()
|
||||||
|
self.screenCaptureEventsDisposable?.dispose()
|
||||||
}
|
}
|
||||||
|
|
||||||
@objc private func donePressed() {
|
@objc private func donePressed() {
|
||||||
|
|||||||
Reference in New Issue
Block a user