mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-10-09 11:23:48 +00:00
Merge branch 'master' of gitlab.com:peter-iakovlev/telegram-ios
This commit is contained in:
commit
149805e914
@ -290,7 +290,7 @@ public final class AnimatedStickerNode: ASDisplayNode {
|
||||
if let directData = try? Data(contentsOf: URL(fileURLWithPath: path), options: [.mappedRead]) {
|
||||
strongSelf.directData = (directData, path, width, height, cachePathPrefix, source.fitzModifier, source.isVideo)
|
||||
}
|
||||
if case let .still(position) = playbackMode {
|
||||
if case let .still(position) = strongSelf.playbackMode {
|
||||
strongSelf.seekTo(position)
|
||||
} else if strongSelf.isPlaying || strongSelf.autoplay {
|
||||
if strongSelf.autoplay {
|
||||
|
@ -427,7 +427,6 @@ fileprivate let parsers: [Int32 : (BufferReader) -> Any?] = {
|
||||
dict[-1262252875] = { return Api.MessageAction.parse_messageActionWebViewDataSent($0) }
|
||||
dict[1205698681] = { return Api.MessageAction.parse_messageActionWebViewDataSentMe($0) }
|
||||
dict[546203849] = { return Api.MessageEntity.parse_inputMessageEntityMentionName($0) }
|
||||
dict[1592721940] = { return Api.MessageEntity.parse_messageEntityAnimatedEmoji($0) }
|
||||
dict[1981704948] = { return Api.MessageEntity.parse_messageEntityBankCard($0) }
|
||||
dict[34469328] = { return Api.MessageEntity.parse_messageEntityBlockquote($0) }
|
||||
dict[-1117713463] = { return Api.MessageEntity.parse_messageEntityBold($0) }
|
||||
|
@ -1,7 +1,6 @@
|
||||
public extension Api {
|
||||
enum MessageEntity: TypeConstructorDescription {
|
||||
case inputMessageEntityMentionName(offset: Int32, length: Int32, userId: Api.InputUser)
|
||||
case messageEntityAnimatedEmoji(offset: Int32, length: Int32)
|
||||
case messageEntityBankCard(offset: Int32, length: Int32)
|
||||
case messageEntityBlockquote(offset: Int32, length: Int32)
|
||||
case messageEntityBold(offset: Int32, length: Int32)
|
||||
@ -32,13 +31,6 @@ public extension Api {
|
||||
serializeInt32(length, buffer: buffer, boxed: false)
|
||||
userId.serialize(buffer, true)
|
||||
break
|
||||
case .messageEntityAnimatedEmoji(let offset, let length):
|
||||
if boxed {
|
||||
buffer.appendInt32(1592721940)
|
||||
}
|
||||
serializeInt32(offset, buffer: buffer, boxed: false)
|
||||
serializeInt32(length, buffer: buffer, boxed: false)
|
||||
break
|
||||
case .messageEntityBankCard(let offset, let length):
|
||||
if boxed {
|
||||
buffer.appendInt32(1981704948)
|
||||
@ -182,8 +174,6 @@ public extension Api {
|
||||
switch self {
|
||||
case .inputMessageEntityMentionName(let offset, let length, let userId):
|
||||
return ("inputMessageEntityMentionName", [("offset", String(describing: offset)), ("length", String(describing: length)), ("userId", String(describing: userId))])
|
||||
case .messageEntityAnimatedEmoji(let offset, let length):
|
||||
return ("messageEntityAnimatedEmoji", [("offset", String(describing: offset)), ("length", String(describing: length))])
|
||||
case .messageEntityBankCard(let offset, let length):
|
||||
return ("messageEntityBankCard", [("offset", String(describing: offset)), ("length", String(describing: length))])
|
||||
case .messageEntityBlockquote(let offset, let length):
|
||||
@ -244,20 +234,6 @@ public extension Api {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
public static func parse_messageEntityAnimatedEmoji(_ reader: BufferReader) -> MessageEntity? {
|
||||
var _1: Int32?
|
||||
_1 = reader.readInt32()
|
||||
var _2: Int32?
|
||||
_2 = reader.readInt32()
|
||||
let _c1 = _1 != nil
|
||||
let _c2 = _2 != nil
|
||||
if _c1 && _c2 {
|
||||
return Api.MessageEntity.messageEntityAnimatedEmoji(offset: _1!, length: _2!)
|
||||
}
|
||||
else {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
public static func parse_messageEntityBankCard(_ reader: BufferReader) -> MessageEntity? {
|
||||
var _1: Int32?
|
||||
_1 = reader.readInt32()
|
||||
|
@ -374,8 +374,8 @@ func messageTextEntitiesFromApiEntities(_ entities: [Api.MessageEntity]) -> [Mes
|
||||
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .BankCard))
|
||||
case let .messageEntitySpoiler(offset, length):
|
||||
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .Spoiler))
|
||||
case let .messageEntityAnimatedEmoji(offset, length):
|
||||
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .AnimatedEmoji(nil)))
|
||||
/*case let .messageEntityAnimatedEmoji(offset, length):
|
||||
result.append(MessageTextEntity(range: Int(offset) ..< Int(offset + length), type: .AnimatedEmoji(nil)))*/
|
||||
}
|
||||
}
|
||||
return result
|
||||
|
@ -49,7 +49,8 @@ func apiEntitiesFromMessageTextEntities(_ entities: [MessageTextEntity], associa
|
||||
case .Spoiler:
|
||||
apiEntities.append(.messageEntitySpoiler(offset: offset, length: length))
|
||||
case .AnimatedEmoji:
|
||||
apiEntities.append(.messageEntityAnimatedEmoji(offset: offset, length: length))
|
||||
//apiEntities.append(.messageEntityAnimatedEmoji(offset: offset, length: length))
|
||||
break
|
||||
case .Custom:
|
||||
break
|
||||
}
|
||||
|
@ -648,7 +648,11 @@ class ChatMessageAnimatedStickerItemNode: ChatMessageItemView {
|
||||
|
||||
if isPlaying, let animationNode = self.animationNode as? AnimatedStickerNode {
|
||||
var alreadySeen = true
|
||||
if item.message.flags.contains(.Incoming) {
|
||||
if isEmoji {
|
||||
if !item.controllerInteraction.seenOneTimeAnimatedMedia.contains(item.message.id) {
|
||||
alreadySeen = false
|
||||
}
|
||||
} else if item.message.flags.contains(.Incoming) {
|
||||
if let unreadRange = item.controllerInteraction.unreadMessageRange[UnreadMessageRangeKey(peerId: item.message.id.peerId, namespace: item.message.id.namespace)] {
|
||||
if unreadRange.contains(item.message.id.id) {
|
||||
if !item.controllerInteraction.seenOneTimeAnimatedMedia.contains(item.message.id) {
|
||||
@ -1681,7 +1685,7 @@ class ChatMessageAnimatedStickerItemNode: ChatMessageItemView {
|
||||
} else {
|
||||
let pathPrefix = item.context.account.postbox.mediaBox.shortLivedResourceCachePathPrefix(resource.id)
|
||||
let additionalAnimationNode = AnimatedStickerNode()
|
||||
additionalAnimationNode.setup(source: source, width: Int(animationSize.width * 2), height: Int(animationSize.height * 2), playbackMode: .once, mode: .direct(cachePathPrefix: pathPrefix))
|
||||
additionalAnimationNode.setup(source: source, width: Int(animationSize.width * 1.6), height: Int(animationSize.height * 1.6), playbackMode: .once, mode: .direct(cachePathPrefix: pathPrefix))
|
||||
var animationFrame: CGRect
|
||||
if isStickerEffect {
|
||||
let scale: CGFloat = 0.245
|
||||
|
Loading…
x
Reference in New Issue
Block a user