From c2f53ea3a4b8da54ff0431b80fe062cfa252880e Mon Sep 17 00:00:00 2001 From: Ilya Laktyushin Date: Wed, 11 Sep 2019 08:03:30 +0300 Subject: [PATCH] Don't display share button for media in Recent Actions Remove percent encoding before adding it again (for Google Maps links) --- .../Sources/ChatItemGalleryFooterContentNode.swift | 10 +++++++--- submodules/TelegramUI/TelegramUI/AppDelegate.swift | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/submodules/GalleryUI/Sources/ChatItemGalleryFooterContentNode.swift b/submodules/GalleryUI/Sources/ChatItemGalleryFooterContentNode.swift index bdfe5ee6e2..b17eec5285 100644 --- a/submodules/GalleryUI/Sources/ChatItemGalleryFooterContentNode.swift +++ b/submodules/GalleryUI/Sources/ChatItemGalleryFooterContentNode.swift @@ -414,9 +414,8 @@ final class ChatItemGalleryFooterContentNode: GalleryFooterContentNode, UIScroll func setMessage(_ message: Message) { self.currentMessage = message - self.actionButton.isHidden = message.containsSecretMedia || Namespaces.Message.allScheduled.contains(message.id.namespace) - let canDelete: Bool + var canShare = !message.containsSecretMedia && !Namespaces.Message.allScheduled.contains(message.id.namespace) if let peer = message.peers[message.id.peerId] { if peer is TelegramUser || peer is TelegramSecretChat { canDelete = true @@ -433,6 +432,7 @@ final class ChatItemGalleryFooterContentNode: GalleryFooterContentNode, UIScroll } } else { canDelete = false + canShare = false } var authorNameText: String? @@ -465,7 +465,10 @@ final class ChatItemGalleryFooterContentNode: GalleryFooterContentNode, UIScroll messageText = galleryCaptionStringWithAppliedEntities(message.text, entities: entities) } - if self.currentMessageText != messageText || canDelete != !self.deleteButton.isHidden || self.currentAuthorNameText != authorNameText || self.currentDateText != dateText { + self.actionButton.isHidden = message.containsSecretMedia || Namespaces.Message.allScheduled.contains(message.id.namespace) + + + if self.currentMessageText != messageText || canDelete != !self.deleteButton.isHidden || canShare != !self.actionButton.isHidden || self.currentAuthorNameText != authorNameText || self.currentDateText != dateText { self.currentMessageText = messageText if messageText.length == 0 { @@ -484,6 +487,7 @@ final class ChatItemGalleryFooterContentNode: GalleryFooterContentNode, UIScroll self.dateNode.attributedText = NSAttributedString(string: dateText, font: dateFont, textColor: .white) self.deleteButton.isHidden = !canDelete + self.actionButton.isHidden = !canShare self.requestLayout?(.immediate) } diff --git a/submodules/TelegramUI/TelegramUI/AppDelegate.swift b/submodules/TelegramUI/TelegramUI/AppDelegate.swift index 36e3489bdb..66d752bb32 100644 --- a/submodules/TelegramUI/TelegramUI/AppDelegate.swift +++ b/submodules/TelegramUI/TelegramUI/AppDelegate.swift @@ -483,7 +483,7 @@ final class SharedApplicationContext { return UIApplication.shared.open(parsedUrl, options: [UIApplication.OpenExternalURLOptionsKey.universalLinksOnly: true as NSNumber], completionHandler: { value in completion.completion(value) }) - } else if let escapedUrl = url.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed), let parsedUrl = URL(string: escapedUrl) { + } else if let escapedUrl = (url.removingPercentEncoding ?? url).addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed), let parsedUrl = URL(string: escapedUrl) { return UIApplication.shared.open(parsedUrl, options: [UIApplication.OpenExternalURLOptionsKey.universalLinksOnly: true as NSNumber], completionHandler: { value in completion.completion(value) })