Don't display share button for media in Recent Actions

Remove percent encoding before adding it again (for Google Maps links)
This commit is contained in:
Ilya Laktyushin 2019-09-11 08:03:30 +03:00
parent ae25ca6920
commit c2f53ea3a4
2 changed files with 8 additions and 4 deletions

View File

@ -414,9 +414,8 @@ final class ChatItemGalleryFooterContentNode: GalleryFooterContentNode, UIScroll
func setMessage(_ message: Message) { func setMessage(_ message: Message) {
self.currentMessage = message self.currentMessage = message
self.actionButton.isHidden = message.containsSecretMedia || Namespaces.Message.allScheduled.contains(message.id.namespace)
let canDelete: Bool let canDelete: Bool
var canShare = !message.containsSecretMedia && !Namespaces.Message.allScheduled.contains(message.id.namespace)
if let peer = message.peers[message.id.peerId] { if let peer = message.peers[message.id.peerId] {
if peer is TelegramUser || peer is TelegramSecretChat { if peer is TelegramUser || peer is TelegramSecretChat {
canDelete = true canDelete = true
@ -433,6 +432,7 @@ final class ChatItemGalleryFooterContentNode: GalleryFooterContentNode, UIScroll
} }
} else { } else {
canDelete = false canDelete = false
canShare = false
} }
var authorNameText: String? var authorNameText: String?
@ -465,7 +465,10 @@ final class ChatItemGalleryFooterContentNode: GalleryFooterContentNode, UIScroll
messageText = galleryCaptionStringWithAppliedEntities(message.text, entities: entities) 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 self.currentMessageText = messageText
if messageText.length == 0 { if messageText.length == 0 {
@ -484,6 +487,7 @@ final class ChatItemGalleryFooterContentNode: GalleryFooterContentNode, UIScroll
self.dateNode.attributedText = NSAttributedString(string: dateText, font: dateFont, textColor: .white) self.dateNode.attributedText = NSAttributedString(string: dateText, font: dateFont, textColor: .white)
self.deleteButton.isHidden = !canDelete self.deleteButton.isHidden = !canDelete
self.actionButton.isHidden = !canShare
self.requestLayout?(.immediate) self.requestLayout?(.immediate)
} }

View File

@ -483,7 +483,7 @@ final class SharedApplicationContext {
return UIApplication.shared.open(parsedUrl, options: [UIApplication.OpenExternalURLOptionsKey.universalLinksOnly: true as NSNumber], completionHandler: { value in return UIApplication.shared.open(parsedUrl, options: [UIApplication.OpenExternalURLOptionsKey.universalLinksOnly: true as NSNumber], completionHandler: { value in
completion.completion(value) 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 return UIApplication.shared.open(parsedUrl, options: [UIApplication.OpenExternalURLOptionsKey.universalLinksOnly: true as NSNumber], completionHandler: { value in
completion.completion(value) completion.completion(value)
}) })