mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-11-07 09:20:08 +00:00
Fix chat list message hiding
This commit is contained in:
parent
a04f9d1bec
commit
7608829e2d
@ -795,7 +795,7 @@ class ChatListItemNode: ItemListRevealOptionsItemNode {
|
|||||||
} else {
|
} else {
|
||||||
result += item.presentationData.strings.VoiceOver_ChatList_OutgoingMessage
|
result += item.presentationData.strings.VoiceOver_ChatList_OutgoingMessage
|
||||||
}
|
}
|
||||||
let (_, initialHideAuthor, messageText, _, _) = chatListItemStrings(strings: item.presentationData.strings, nameDisplayOrder: item.presentationData.nameDisplayOrder, dateTimeFormat: item.presentationData.dateTimeFormat, messages: messages, chatPeer: peer, accountPeerId: item.context.account.peerId, isPeerGroup: false)
|
let (_, initialHideAuthor, messageText, _, _) = chatListItemStrings(strings: item.presentationData.strings, nameDisplayOrder: item.presentationData.nameDisplayOrder, dateTimeFormat: item.presentationData.dateTimeFormat, contentSettings: item.context.currentContentSettings.with { $0 }, messages: messages, chatPeer: peer, accountPeerId: item.context.account.peerId, isPeerGroup: false)
|
||||||
if message.flags.contains(.Incoming), !initialHideAuthor, let author = message.author, case .user = author {
|
if message.flags.contains(.Incoming), !initialHideAuthor, let author = message.author, case .user = author {
|
||||||
result += "\n\(item.presentationData.strings.VoiceOver_ChatList_MessageFrom(author.displayTitle(strings: item.presentationData.strings, displayOrder: item.presentationData.nameDisplayOrder)).string)"
|
result += "\n\(item.presentationData.strings.VoiceOver_ChatList_MessageFrom(author.displayTitle(strings: item.presentationData.strings, displayOrder: item.presentationData.nameDisplayOrder)).string)"
|
||||||
}
|
}
|
||||||
@ -829,7 +829,7 @@ class ChatListItemNode: ItemListRevealOptionsItemNode {
|
|||||||
} else {
|
} else {
|
||||||
result += item.presentationData.strings.VoiceOver_ChatList_OutgoingMessage
|
result += item.presentationData.strings.VoiceOver_ChatList_OutgoingMessage
|
||||||
}
|
}
|
||||||
let (_, initialHideAuthor, messageText, _, _) = chatListItemStrings(strings: item.presentationData.strings, nameDisplayOrder: item.presentationData.nameDisplayOrder, dateTimeFormat: item.presentationData.dateTimeFormat, messages: messages, chatPeer: peer, accountPeerId: item.context.account.peerId, isPeerGroup: false)
|
let (_, initialHideAuthor, messageText, _, _) = chatListItemStrings(strings: item.presentationData.strings, nameDisplayOrder: item.presentationData.nameDisplayOrder, dateTimeFormat: item.presentationData.dateTimeFormat, contentSettings: item.context.currentContentSettings.with { $0 }, messages: messages, chatPeer: peer, accountPeerId: item.context.account.peerId, isPeerGroup: false)
|
||||||
if message.flags.contains(.Incoming), !initialHideAuthor, let author = message.author, case .user = author {
|
if message.flags.contains(.Incoming), !initialHideAuthor, let author = message.author, case .user = author {
|
||||||
result += "\n\(item.presentationData.strings.VoiceOver_ChatList_MessageFrom(author.displayTitle(strings: item.presentationData.strings, displayOrder: item.presentationData.nameDisplayOrder)).string)"
|
result += "\n\(item.presentationData.strings.VoiceOver_ChatList_MessageFrom(author.displayTitle(strings: item.presentationData.strings, displayOrder: item.presentationData.nameDisplayOrder)).string)"
|
||||||
}
|
}
|
||||||
@ -1387,7 +1387,7 @@ class ChatListItemNode: ItemListRevealOptionsItemNode {
|
|||||||
var hideAuthor = false
|
var hideAuthor = false
|
||||||
switch contentPeer {
|
switch contentPeer {
|
||||||
case let .chat(itemPeer):
|
case let .chat(itemPeer):
|
||||||
var (peer, initialHideAuthor, messageText, spoilers, customEmojiRanges) = chatListItemStrings(strings: item.presentationData.strings, nameDisplayOrder: item.presentationData.nameDisplayOrder, dateTimeFormat: item.presentationData.dateTimeFormat, messages: messages, chatPeer: itemPeer, accountPeerId: item.context.account.peerId, enableMediaEmoji: !enableChatListPhotos, isPeerGroup: isPeerGroup)
|
var (peer, initialHideAuthor, messageText, spoilers, customEmojiRanges) = chatListItemStrings(strings: item.presentationData.strings, nameDisplayOrder: item.presentationData.nameDisplayOrder, dateTimeFormat: item.presentationData.dateTimeFormat, contentSettings: item.context.currentContentSettings.with { $0 }, messages: messages, chatPeer: itemPeer, accountPeerId: item.context.account.peerId, enableMediaEmoji: !enableChatListPhotos, isPeerGroup: isPeerGroup)
|
||||||
|
|
||||||
if case let .psa(_, maybePsaText) = promoInfo, let psaText = maybePsaText {
|
if case let .psa(_, maybePsaText) = promoInfo, let psaText = maybePsaText {
|
||||||
initialHideAuthor = true
|
initialHideAuthor = true
|
||||||
|
|||||||
@ -45,11 +45,15 @@ private func messageGroupType(messages: [EngineMessage]) -> MessageGroupType {
|
|||||||
return currentType
|
return currentType
|
||||||
}
|
}
|
||||||
|
|
||||||
public func chatListItemStrings(strings: PresentationStrings, nameDisplayOrder: PresentationPersonNameOrder, dateTimeFormat: PresentationDateTimeFormat, messages: [EngineMessage], chatPeer: EngineRenderedPeer, accountPeerId: EnginePeer.Id, enableMediaEmoji: Bool = true, isPeerGroup: Bool = false) -> (peer: EnginePeer?, hideAuthor: Bool, messageText: String, spoilers: [NSRange]?, customEmojiRanges: [(NSRange, ChatTextInputTextCustomEmojiAttribute)]?) {
|
public func chatListItemStrings(strings: PresentationStrings, nameDisplayOrder: PresentationPersonNameOrder, dateTimeFormat: PresentationDateTimeFormat, contentSettings: ContentSettings, messages: [EngineMessage], chatPeer: EngineRenderedPeer, accountPeerId: EnginePeer.Id, enableMediaEmoji: Bool = true, isPeerGroup: Bool = false) -> (peer: EnginePeer?, hideAuthor: Bool, messageText: String, spoilers: [NSRange]?, customEmojiRanges: [(NSRange, ChatTextInputTextCustomEmojiAttribute)]?) {
|
||||||
let peer: EnginePeer?
|
let peer: EnginePeer?
|
||||||
|
|
||||||
let message = messages.last
|
let message = messages.last
|
||||||
|
|
||||||
|
if let restrictionReason = message?._asMessage().restrictionReason(platform: "ios", contentSettings: contentSettings) {
|
||||||
|
return (nil, false, restrictionReason, nil, nil)
|
||||||
|
}
|
||||||
|
|
||||||
var hideAuthor = false
|
var hideAuthor = false
|
||||||
var messageText: String
|
var messageText: String
|
||||||
var spoilers: [NSRange]?
|
var spoilers: [NSRange]?
|
||||||
|
|||||||
@ -4,10 +4,16 @@ import Postbox
|
|||||||
|
|
||||||
public extension Message {
|
public extension Message {
|
||||||
func isRestricted(platform: String, contentSettings: ContentSettings) -> Bool {
|
func isRestricted(platform: String, contentSettings: ContentSettings) -> Bool {
|
||||||
|
return self.restrictionReason(platform: platform, contentSettings: contentSettings) != nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func restrictionReason(platform: String, contentSettings: ContentSettings) -> String? {
|
||||||
if let attribute = self.restrictedContentAttribute {
|
if let attribute = self.restrictedContentAttribute {
|
||||||
return attribute.platformText(platform: platform, contentSettings: contentSettings) != nil
|
if let value = attribute.platformText(platform: platform, contentSettings: contentSettings) {
|
||||||
|
return value
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return false
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -207,7 +207,7 @@ final class ChatMessageAccessibilityData {
|
|||||||
if let chatPeer = message.peers[item.message.id.peerId] {
|
if let chatPeer = message.peers[item.message.id.peerId] {
|
||||||
let authorName = message.author.flatMap(EnginePeer.init)?.displayTitle(strings: item.presentationData.strings, displayOrder: item.presentationData.nameDisplayOrder)
|
let authorName = message.author.flatMap(EnginePeer.init)?.displayTitle(strings: item.presentationData.strings, displayOrder: item.presentationData.nameDisplayOrder)
|
||||||
|
|
||||||
let (_, _, messageText, _, _) = chatListItemStrings(strings: item.presentationData.strings, nameDisplayOrder: item.presentationData.nameDisplayOrder, dateTimeFormat: item.presentationData.dateTimeFormat, messages: [EngineMessage(message)], chatPeer: EngineRenderedPeer(peer: EnginePeer(chatPeer)), accountPeerId: item.context.account.peerId)
|
let (_, _, messageText, _, _) = chatListItemStrings(strings: item.presentationData.strings, nameDisplayOrder: item.presentationData.nameDisplayOrder, dateTimeFormat: item.presentationData.dateTimeFormat, contentSettings: item.context.currentContentSettings.with { $0 }, messages: [EngineMessage(message)], chatPeer: EngineRenderedPeer(peer: EnginePeer(chatPeer)), accountPeerId: item.context.account.peerId)
|
||||||
|
|
||||||
var text = messageText
|
var text = messageText
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user