mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-16 11:20:18 +00:00
Animated emojis fixes
This commit is contained in:
parent
dded7c451a
commit
4c32f661e0
@ -309,6 +309,26 @@ private extension ChatHistoryLocationInput {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private struct ChatHistoryAnimatedEmojiConfiguration {
|
||||||
|
static var defaultValue: ChatHistoryAnimatedEmojiConfiguration {
|
||||||
|
return ChatHistoryAnimatedEmojiConfiguration(scale: 0.625)
|
||||||
|
}
|
||||||
|
|
||||||
|
public let scale: CGFloat
|
||||||
|
|
||||||
|
fileprivate init(scale: CGFloat) {
|
||||||
|
self.scale = scale
|
||||||
|
}
|
||||||
|
|
||||||
|
static func with(appConfiguration: AppConfiguration) -> ChatHistoryAnimatedEmojiConfiguration {
|
||||||
|
if let data = appConfiguration.data, let scale = data["emojies_animated_zoom"] as? Double {
|
||||||
|
return ChatHistoryAnimatedEmojiConfiguration(scale: CGFloat(scale))
|
||||||
|
} else {
|
||||||
|
return .defaultValue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public final class ChatHistoryListNode: ListView, ChatHistoryNode {
|
public final class ChatHistoryListNode: ListView, ChatHistoryNode {
|
||||||
private let context: AccountContext
|
private let context: AccountContext
|
||||||
private let chatLocation: ChatLocation
|
private let chatLocation: ChatLocation
|
||||||
@ -395,7 +415,7 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode {
|
|||||||
return self.isInteractivelyScrollingPromise.get()
|
return self.isInteractivelyScrollingPromise.get()
|
||||||
}
|
}
|
||||||
|
|
||||||
private var currentPresentationData: PresentationData
|
private var currentPresentationData: ChatPresentationData
|
||||||
private var chatPresentationDataPromise: Promise<ChatPresentationData>
|
private var chatPresentationDataPromise: Promise<ChatPresentationData>
|
||||||
private var presentationDataDisposable: Disposable?
|
private var presentationDataDisposable: Disposable?
|
||||||
|
|
||||||
@ -428,9 +448,10 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode {
|
|||||||
self.controllerInteraction = controllerInteraction
|
self.controllerInteraction = controllerInteraction
|
||||||
self.mode = mode
|
self.mode = mode
|
||||||
|
|
||||||
self.currentPresentationData = context.sharedContext.currentPresentationData.with { $0 }
|
let presentationData = context.sharedContext.currentPresentationData.with { $0 }
|
||||||
|
self.currentPresentationData = ChatPresentationData(theme: ChatPresentationThemeData(theme: presentationData.theme, wallpaper: presentationData.chatWallpaper), fontSize: presentationData.fontSize, strings: presentationData.strings, dateTimeFormat: presentationData.dateTimeFormat, nameDisplayOrder: presentationData.nameDisplayOrder, disableAnimations: presentationData.disableAnimations, largeEmoji: presentationData.largeEmoji, animatedEmojiScale: 1.0)
|
||||||
|
|
||||||
self.chatPresentationDataPromise = Promise(ChatPresentationData(theme: ChatPresentationThemeData(theme: self.currentPresentationData.theme, wallpaper: self.currentPresentationData.chatWallpaper), fontSize: self.currentPresentationData.fontSize, strings: self.currentPresentationData.strings, dateTimeFormat: self.currentPresentationData.dateTimeFormat, nameDisplayOrder: self.currentPresentationData.nameDisplayOrder, disableAnimations: self.currentPresentationData.disableAnimations, largeEmoji: self.currentPresentationData.largeEmoji))
|
self.chatPresentationDataPromise = Promise(self.currentPresentationData)
|
||||||
|
|
||||||
self.prefetchManager = InChatPrefetchManager(context: context)
|
self.prefetchManager = InChatPrefetchManager(context: context)
|
||||||
|
|
||||||
@ -735,20 +756,28 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
self.presentationDataDisposable = (context.sharedContext.presentationData
|
let appConfiguration = context.account.postbox.preferencesView(keys: [PreferencesKeys.appConfiguration])
|
||||||
|> deliverOnMainQueue).start(next: { [weak self] presentationData in
|
|> take(1)
|
||||||
|
|> map { view in
|
||||||
|
return view.values[PreferencesKeys.appConfiguration] as? AppConfiguration ?? .defaultValue
|
||||||
|
}
|
||||||
|
|
||||||
|
self.presentationDataDisposable = (combineLatest(context.sharedContext.presentationData, appConfiguration)
|
||||||
|
|> deliverOnMainQueue).start(next: { [weak self] presentationData, appConfiguration in
|
||||||
if let strongSelf = self {
|
if let strongSelf = self {
|
||||||
let previousTheme = strongSelf.currentPresentationData.theme
|
let previousTheme = strongSelf.currentPresentationData.theme
|
||||||
let previousStrings = strongSelf.currentPresentationData.strings
|
let previousStrings = strongSelf.currentPresentationData.strings
|
||||||
let previousWallpaper = strongSelf.currentPresentationData.chatWallpaper
|
let previousWallpaper = strongSelf.currentPresentationData.theme.wallpaper
|
||||||
let previousDisableAnimations = strongSelf.currentPresentationData.disableAnimations
|
let previousDisableAnimations = strongSelf.currentPresentationData.disableAnimations
|
||||||
|
let previousAnimatedEmojiScale = strongSelf.currentPresentationData.animatedEmojiScale
|
||||||
|
|
||||||
strongSelf.currentPresentationData = presentationData
|
let animatedEmojiConfig = ChatHistoryAnimatedEmojiConfiguration.with(appConfiguration: appConfiguration)
|
||||||
|
|
||||||
if previousTheme !== presentationData.theme || previousStrings !== presentationData.strings || previousWallpaper != presentationData.chatWallpaper || previousDisableAnimations != presentationData.disableAnimations {
|
if previousTheme !== presentationData.theme || previousStrings !== presentationData.strings || previousWallpaper != presentationData.chatWallpaper || previousDisableAnimations != presentationData.disableAnimations || previousAnimatedEmojiScale != animatedEmojiConfig.scale {
|
||||||
let themeData = ChatPresentationThemeData(theme: presentationData.theme, wallpaper: presentationData.chatWallpaper)
|
let themeData = ChatPresentationThemeData(theme: presentationData.theme, wallpaper: presentationData.chatWallpaper)
|
||||||
let chatPresentationData = ChatPresentationData(theme: themeData, fontSize: presentationData.fontSize, strings: presentationData.strings, dateTimeFormat: presentationData.dateTimeFormat, nameDisplayOrder: presentationData.nameDisplayOrder, disableAnimations: presentationData.disableAnimations, largeEmoji: presentationData.largeEmoji)
|
let chatPresentationData = ChatPresentationData(theme: themeData, fontSize: presentationData.fontSize, strings: presentationData.strings, dateTimeFormat: presentationData.dateTimeFormat, nameDisplayOrder: presentationData.nameDisplayOrder, disableAnimations: presentationData.disableAnimations, largeEmoji: presentationData.largeEmoji, animatedEmojiScale: animatedEmojiConfig.scale)
|
||||||
|
|
||||||
|
strongSelf.currentPresentationData = chatPresentationData
|
||||||
strongSelf.dynamicBounceEnabled = !presentationData.disableAnimations
|
strongSelf.dynamicBounceEnabled = !presentationData.disableAnimations
|
||||||
|
|
||||||
strongSelf.forEachItemHeaderNode { itemHeaderNode in
|
strongSelf.forEachItemHeaderNode { itemHeaderNode in
|
||||||
|
|||||||
@ -162,6 +162,7 @@ class ChatMessageAnimatedStickerItemNode: ChatMessageItemView {
|
|||||||
|
|
||||||
var file: TelegramMediaFile?
|
var file: TelegramMediaFile?
|
||||||
var playbackMode: AnimatedStickerPlaybackMode = .loop
|
var playbackMode: AnimatedStickerPlaybackMode = .loop
|
||||||
|
var isEmoji = false
|
||||||
|
|
||||||
if let telegramFile = self.telegramFile {
|
if let telegramFile = self.telegramFile {
|
||||||
file = telegramFile
|
file = telegramFile
|
||||||
@ -169,6 +170,7 @@ class ChatMessageAnimatedStickerItemNode: ChatMessageItemView {
|
|||||||
playbackMode = .once
|
playbackMode = .once
|
||||||
}
|
}
|
||||||
} else if let emojiFile = self.emojiFile {
|
} else if let emojiFile = self.emojiFile {
|
||||||
|
isEmoji = true
|
||||||
file = emojiFile
|
file = emojiFile
|
||||||
if item.context.sharedContext.immediateExperimentalUISettings.playAnimatedEmojiOnce {
|
if item.context.sharedContext.immediateExperimentalUISettings.playAnimatedEmojiOnce {
|
||||||
playbackMode = .once
|
playbackMode = .once
|
||||||
@ -177,7 +179,7 @@ class ChatMessageAnimatedStickerItemNode: ChatMessageItemView {
|
|||||||
|
|
||||||
if let file = file {
|
if let file = file {
|
||||||
let dimensions = file.dimensions ?? CGSize(width: 512.0, height: 512.0)
|
let dimensions = file.dimensions ?? CGSize(width: 512.0, height: 512.0)
|
||||||
let fittedSize = dimensions.aspectFitted(CGSize(width: 384.0, height: 384.0))
|
let fittedSize = isEmoji ? dimensions.aspectFilled(CGSize(width: 384.0, height: 384.0)) : dimensions.aspectFitted(CGSize(width: 384.0, height: 384.0))
|
||||||
self.animationNode.setup(account: item.context.account, resource: file.resource, width: Int(fittedSize.width), height: Int(fittedSize.height), playbackMode: playbackMode, mode: .cached)
|
self.animationNode.setup(account: item.context.account, resource: file.resource, width: Int(fittedSize.width), height: Int(fittedSize.height), playbackMode: playbackMode, mode: .cached)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -216,9 +218,9 @@ class ChatMessageAnimatedStickerItemNode: ChatMessageItemView {
|
|||||||
} else if let emojiFile = emojiFile {
|
} else if let emojiFile = emojiFile {
|
||||||
isEmoji = true
|
isEmoji = true
|
||||||
|
|
||||||
let displaySize = CGSize(width: floor(displaySize.width * 350.0 / 512.0), height: floor(displaySize.height * 350.0 / 512.0))
|
let displaySize = CGSize(width: floor(displaySize.width * item.presentationData.animatedEmojiScale), height: floor(displaySize.height * item.presentationData.animatedEmojiScale))
|
||||||
if let dimensions = emojiFile.dimensions {
|
if let dimensions = emojiFile.dimensions {
|
||||||
imageSize = dimensions.aspectFitted(displaySize)
|
imageSize = dimensions.aspectFilled(displaySize)
|
||||||
} else if let thumbnailSize = emojiFile.previewRepresentations.first?.dimensions {
|
} else if let thumbnailSize = emojiFile.previewRepresentations.first?.dimensions {
|
||||||
imageSize = thumbnailSize.aspectFitted(displaySize)
|
imageSize = thumbnailSize.aspectFitted(displaySize)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -86,7 +86,9 @@ public final class ChatPresentationData {
|
|||||||
let messageFixedFont: UIFont
|
let messageFixedFont: UIFont
|
||||||
let messageBlockQuoteFont: UIFont
|
let messageBlockQuoteFont: UIFont
|
||||||
|
|
||||||
init(theme: ChatPresentationThemeData, fontSize: PresentationFontSize, strings: PresentationStrings, dateTimeFormat: PresentationDateTimeFormat, nameDisplayOrder: PresentationPersonNameOrder, disableAnimations: Bool, largeEmoji: Bool) {
|
let animatedEmojiScale: CGFloat
|
||||||
|
|
||||||
|
init(theme: ChatPresentationThemeData, fontSize: PresentationFontSize, strings: PresentationStrings, dateTimeFormat: PresentationDateTimeFormat, nameDisplayOrder: PresentationPersonNameOrder, disableAnimations: Bool, largeEmoji: Bool, animatedEmojiScale: CGFloat = 1.0) {
|
||||||
self.theme = theme
|
self.theme = theme
|
||||||
self.fontSize = fontSize
|
self.fontSize = fontSize
|
||||||
self.strings = strings
|
self.strings = strings
|
||||||
@ -105,5 +107,7 @@ public final class ChatPresentationData {
|
|||||||
self.messageBoldItalicFont = Font.semiboldItalic(baseFontSize)
|
self.messageBoldItalicFont = Font.semiboldItalic(baseFontSize)
|
||||||
self.messageFixedFont = UIFont(name: "Menlo-Regular", size: baseFontSize - 1.0) ?? UIFont.systemFont(ofSize: baseFontSize)
|
self.messageFixedFont = UIFont(name: "Menlo-Regular", size: baseFontSize - 1.0) ?? UIFont.systemFont(ofSize: baseFontSize)
|
||||||
self.messageBlockQuoteFont = UIFont.systemFont(ofSize: baseFontSize - 1.0)
|
self.messageBlockQuoteFont = UIFont.systemFont(ofSize: baseFontSize - 1.0)
|
||||||
|
|
||||||
|
self.animatedEmojiScale = animatedEmojiScale
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -34,17 +34,6 @@
|
|||||||
091BEAB3214552D9003AEA30 /* Vision.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D02DADBE2138D76F00116225 /* Vision.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
|
091BEAB3214552D9003AEA30 /* Vision.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D02DADBE2138D76F00116225 /* Vision.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
|
||||||
0921F60B228C8765001A13D7 /* ItemListPlaceholderItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0921F60A228C8765001A13D7 /* ItemListPlaceholderItem.swift */; };
|
0921F60B228C8765001A13D7 /* ItemListPlaceholderItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0921F60A228C8765001A13D7 /* ItemListPlaceholderItem.swift */; };
|
||||||
0921F60E228EE000001A13D7 /* ChatMessageActionUrlAuthController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0921F60D228EE000001A13D7 /* ChatMessageActionUrlAuthController.swift */; };
|
0921F60E228EE000001A13D7 /* ChatMessageActionUrlAuthController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0921F60D228EE000001A13D7 /* ChatMessageActionUrlAuthController.swift */; };
|
||||||
0925902C22EF8158003D6283 /* thumbs_up_5.tgs in Resources */ = {isa = PBXBuildFile; fileRef = 0925902622EF8157003D6283 /* thumbs_up_5.tgs */; };
|
|
||||||
0925902D22EF8158003D6283 /* thumbs_up_6.tgs in Resources */ = {isa = PBXBuildFile; fileRef = 0925902722EF8158003D6283 /* thumbs_up_6.tgs */; };
|
|
||||||
0925902E22EF8158003D6283 /* thumbs_up_3.tgs in Resources */ = {isa = PBXBuildFile; fileRef = 0925902822EF8158003D6283 /* thumbs_up_3.tgs */; };
|
|
||||||
0925902F22EF8158003D6283 /* thumbs_up_1.tgs in Resources */ = {isa = PBXBuildFile; fileRef = 0925902922EF8158003D6283 /* thumbs_up_1.tgs */; };
|
|
||||||
0925903022EF8158003D6283 /* thumbs_up_2.tgs in Resources */ = {isa = PBXBuildFile; fileRef = 0925902A22EF8158003D6283 /* thumbs_up_2.tgs */; };
|
|
||||||
0925903122EF8158003D6283 /* thumbs_up_4.tgs in Resources */ = {isa = PBXBuildFile; fileRef = 0925902B22EF8158003D6283 /* thumbs_up_4.tgs */; };
|
|
||||||
092A65DB22EF16900032E20C /* lol.tgs in Resources */ = {isa = PBXBuildFile; fileRef = 092A65D522EF16900032E20C /* lol.tgs */; };
|
|
||||||
092A65DD22EF16900032E20C /* meh.tgs in Resources */ = {isa = PBXBuildFile; fileRef = 092A65D722EF16900032E20C /* meh.tgs */; };
|
|
||||||
092A65DE22EF16900032E20C /* confused.tgs in Resources */ = {isa = PBXBuildFile; fileRef = 092A65D822EF16900032E20C /* confused.tgs */; };
|
|
||||||
092A65DF22EF16900032E20C /* celeb.tgs in Resources */ = {isa = PBXBuildFile; fileRef = 092A65D922EF16900032E20C /* celeb.tgs */; };
|
|
||||||
092A65E022EF16900032E20C /* heart.tgs in Resources */ = {isa = PBXBuildFile; fileRef = 092A65DA22EF16900032E20C /* heart.tgs */; };
|
|
||||||
092F368D2154AAEA001A9F49 /* SFCompactRounded-Semibold.otf in Resources */ = {isa = PBXBuildFile; fileRef = 092F368C2154AAE9001A9F49 /* SFCompactRounded-Semibold.otf */; };
|
092F368D2154AAEA001A9F49 /* SFCompactRounded-Semibold.otf in Resources */ = {isa = PBXBuildFile; fileRef = 092F368C2154AAE9001A9F49 /* SFCompactRounded-Semibold.otf */; };
|
||||||
092F36902157AB46001A9F49 /* ItemListCallListItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 092F368F2157AB46001A9F49 /* ItemListCallListItem.swift */; };
|
092F36902157AB46001A9F49 /* ItemListCallListItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 092F368F2157AB46001A9F49 /* ItemListCallListItem.swift */; };
|
||||||
09310D32213ED5FC0020033A /* anim_ungroup.json in Resources */ = {isa = PBXBuildFile; fileRef = 09310D1A213BC5DE0020033A /* anim_ungroup.json */; };
|
09310D32213ED5FC0020033A /* anim_ungroup.json in Resources */ = {isa = PBXBuildFile; fileRef = 09310D1A213BC5DE0020033A /* anim_ungroup.json */; };
|
||||||
@ -1277,17 +1266,6 @@
|
|||||||
091954782294754E00E11046 /* AnimatedStickerUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnimatedStickerUtils.swift; sourceTree = "<group>"; };
|
091954782294754E00E11046 /* AnimatedStickerUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnimatedStickerUtils.swift; sourceTree = "<group>"; };
|
||||||
0921F60A228C8765001A13D7 /* ItemListPlaceholderItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ItemListPlaceholderItem.swift; sourceTree = "<group>"; };
|
0921F60A228C8765001A13D7 /* ItemListPlaceholderItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ItemListPlaceholderItem.swift; sourceTree = "<group>"; };
|
||||||
0921F60D228EE000001A13D7 /* ChatMessageActionUrlAuthController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatMessageActionUrlAuthController.swift; sourceTree = "<group>"; };
|
0921F60D228EE000001A13D7 /* ChatMessageActionUrlAuthController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatMessageActionUrlAuthController.swift; sourceTree = "<group>"; };
|
||||||
0925902622EF8157003D6283 /* thumbs_up_5.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = thumbs_up_5.tgs; sourceTree = "<group>"; };
|
|
||||||
0925902722EF8158003D6283 /* thumbs_up_6.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = thumbs_up_6.tgs; sourceTree = "<group>"; };
|
|
||||||
0925902822EF8158003D6283 /* thumbs_up_3.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = thumbs_up_3.tgs; sourceTree = "<group>"; };
|
|
||||||
0925902922EF8158003D6283 /* thumbs_up_1.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = thumbs_up_1.tgs; sourceTree = "<group>"; };
|
|
||||||
0925902A22EF8158003D6283 /* thumbs_up_2.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = thumbs_up_2.tgs; sourceTree = "<group>"; };
|
|
||||||
0925902B22EF8158003D6283 /* thumbs_up_4.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = thumbs_up_4.tgs; sourceTree = "<group>"; };
|
|
||||||
092A65D522EF16900032E20C /* lol.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = lol.tgs; sourceTree = "<group>"; };
|
|
||||||
092A65D722EF16900032E20C /* meh.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = meh.tgs; sourceTree = "<group>"; };
|
|
||||||
092A65D822EF16900032E20C /* confused.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = confused.tgs; sourceTree = "<group>"; };
|
|
||||||
092A65D922EF16900032E20C /* celeb.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = celeb.tgs; sourceTree = "<group>"; };
|
|
||||||
092A65DA22EF16900032E20C /* heart.tgs */ = {isa = PBXFileReference; lastKnownFileType = file; path = heart.tgs; sourceTree = "<group>"; };
|
|
||||||
092F368C2154AAE9001A9F49 /* SFCompactRounded-Semibold.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SFCompactRounded-Semibold.otf"; sourceTree = "<group>"; };
|
092F368C2154AAE9001A9F49 /* SFCompactRounded-Semibold.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "SFCompactRounded-Semibold.otf"; sourceTree = "<group>"; };
|
||||||
092F368F2157AB46001A9F49 /* ItemListCallListItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ItemListCallListItem.swift; sourceTree = "<group>"; };
|
092F368F2157AB46001A9F49 /* ItemListCallListItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ItemListCallListItem.swift; sourceTree = "<group>"; };
|
||||||
09310D1A213BC5DE0020033A /* anim_ungroup.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_ungroup.json; sourceTree = "<group>"; };
|
09310D1A213BC5DE0020033A /* anim_ungroup.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = anim_ungroup.json; sourceTree = "<group>"; };
|
||||||
@ -2611,25 +2589,6 @@
|
|||||||
name = "Animated Stickers";
|
name = "Animated Stickers";
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
092A65D422EF16900032E20C /* Emoji */ = {
|
|
||||||
isa = PBXGroup;
|
|
||||||
children = (
|
|
||||||
0925902922EF8158003D6283 /* thumbs_up_1.tgs */,
|
|
||||||
0925902A22EF8158003D6283 /* thumbs_up_2.tgs */,
|
|
||||||
0925902822EF8158003D6283 /* thumbs_up_3.tgs */,
|
|
||||||
0925902B22EF8158003D6283 /* thumbs_up_4.tgs */,
|
|
||||||
0925902622EF8157003D6283 /* thumbs_up_5.tgs */,
|
|
||||||
0925902722EF8158003D6283 /* thumbs_up_6.tgs */,
|
|
||||||
092A65D522EF16900032E20C /* lol.tgs */,
|
|
||||||
092A65D722EF16900032E20C /* meh.tgs */,
|
|
||||||
092A65D822EF16900032E20C /* confused.tgs */,
|
|
||||||
092A65D922EF16900032E20C /* celeb.tgs */,
|
|
||||||
092A65DA22EF16900032E20C /* heart.tgs */,
|
|
||||||
);
|
|
||||||
name = Emoji;
|
|
||||||
path = TelegramUI/Resources/Emoji;
|
|
||||||
sourceTree = "<group>";
|
|
||||||
};
|
|
||||||
092F368B2154AAD6001A9F49 /* Fonts */ = {
|
092F368B2154AAD6001A9F49 /* Fonts */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
@ -3284,7 +3243,6 @@
|
|||||||
D0471B521EFD8EBC0074D609 /* Resources */ = {
|
D0471B521EFD8EBC0074D609 /* Resources */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
092A65D422EF16900032E20C /* Emoji */,
|
|
||||||
09E2D9ED226F1AF300EA0AA4 /* Emoji.mapping */,
|
09E2D9ED226F1AF300EA0AA4 /* Emoji.mapping */,
|
||||||
D0955FB32191278C00F89427 /* PresentationStrings.mapping */,
|
D0955FB32191278C00F89427 /* PresentationStrings.mapping */,
|
||||||
09310D13213BC5DE0020033A /* Animations */,
|
09310D13213BC5DE0020033A /* Animations */,
|
||||||
@ -5312,12 +5270,10 @@
|
|||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
09874E4F21078FA100E190B8 /* Generic.html in Resources */,
|
09874E4F21078FA100E190B8 /* Generic.html in Resources */,
|
||||||
092A65E022EF16900032E20C /* heart.tgs in Resources */,
|
|
||||||
09874E5021078FA100E190B8 /* GenericUserScript.js in Resources */,
|
09874E5021078FA100E190B8 /* GenericUserScript.js in Resources */,
|
||||||
09874E5121078FA100E190B8 /* Instagram.html in Resources */,
|
09874E5121078FA100E190B8 /* Instagram.html in Resources */,
|
||||||
09874E5221078FA100E190B8 /* Twitch.html in Resources */,
|
09874E5221078FA100E190B8 /* Twitch.html in Resources */,
|
||||||
09874E5321078FA100E190B8 /* TwitchUserScript.js in Resources */,
|
09874E5321078FA100E190B8 /* TwitchUserScript.js in Resources */,
|
||||||
0925902F22EF8158003D6283 /* thumbs_up_1.tgs in Resources */,
|
|
||||||
094735122275D72100EA2312 /* anim_mute.json in Resources */,
|
094735122275D72100EA2312 /* anim_mute.json in Resources */,
|
||||||
09874E5421078FA100E190B8 /* Vimeo.html in Resources */,
|
09874E5421078FA100E190B8 /* Vimeo.html in Resources */,
|
||||||
09874E5521078FA100E190B8 /* VimeoUserScript.js in Resources */,
|
09874E5521078FA100E190B8 /* VimeoUserScript.js in Resources */,
|
||||||
@ -5329,7 +5285,6 @@
|
|||||||
D0EB42051F3143AB00838FE6 /* LegacyComponentsResources.bundle in Resources */,
|
D0EB42051F3143AB00838FE6 /* LegacyComponentsResources.bundle in Resources */,
|
||||||
D0E9BAA21F056F4C00F079A4 /* stp_card_discover@3x.png in Resources */,
|
D0E9BAA21F056F4C00F079A4 /* stp_card_discover@3x.png in Resources */,
|
||||||
D0E9BAB01F056F4C00F079A4 /* stp_card_mastercard@3x.png in Resources */,
|
D0E9BAB01F056F4C00F079A4 /* stp_card_mastercard@3x.png in Resources */,
|
||||||
092A65DF22EF16900032E20C /* celeb.tgs in Resources */,
|
|
||||||
09310D32213ED5FC0020033A /* anim_ungroup.json in Resources */,
|
09310D32213ED5FC0020033A /* anim_ungroup.json in Resources */,
|
||||||
09E2D9EF226F1AFA00EA0AA4 /* Emoji.mapping in Resources */,
|
09E2D9EF226F1AFA00EA0AA4 /* Emoji.mapping in Resources */,
|
||||||
D0955FB521912B6000F89427 /* PresentationStrings.mapping in Resources */,
|
D0955FB521912B6000F89427 /* PresentationStrings.mapping in Resources */,
|
||||||
@ -5352,16 +5307,13 @@
|
|||||||
D0F972101FFE4BD5002595C8 /* MessageSent.caf in Resources */,
|
D0F972101FFE4BD5002595C8 /* MessageSent.caf in Resources */,
|
||||||
D0E9BAB71F056F4C00F079A4 /* stp_card_visa_template@2x.png in Resources */,
|
D0E9BAB71F056F4C00F079A4 /* stp_card_visa_template@2x.png in Resources */,
|
||||||
D0E9BA951F056F4C00F079A4 /* stp_card_applepay@2x.png in Resources */,
|
D0E9BA951F056F4C00F079A4 /* stp_card_applepay@2x.png in Resources */,
|
||||||
092A65DB22EF16900032E20C /* lol.tgs in Resources */,
|
|
||||||
D0E9BAA01F056F4C00F079A4 /* stp_card_diners_template@3x.png in Resources */,
|
D0E9BAA01F056F4C00F079A4 /* stp_card_diners_template@3x.png in Resources */,
|
||||||
094735132275D72100EA2312 /* anim_delete.json in Resources */,
|
094735132275D72100EA2312 /* anim_delete.json in Resources */,
|
||||||
094735192277483C00EA2312 /* anim_infotip.json in Resources */,
|
094735192277483C00EA2312 /* anim_infotip.json in Resources */,
|
||||||
094735142275D72100EA2312 /* anim_unarchive.json in Resources */,
|
094735142275D72100EA2312 /* anim_unarchive.json in Resources */,
|
||||||
D0E9BAAA1F056F4C00F079A4 /* stp_card_form_front@3x.png in Resources */,
|
D0E9BAAA1F056F4C00F079A4 /* stp_card_form_front@3x.png in Resources */,
|
||||||
D0E9BA971F056F4C00F079A4 /* stp_card_applepay_template@2x.png in Resources */,
|
D0E9BA971F056F4C00F079A4 /* stp_card_applepay_template@2x.png in Resources */,
|
||||||
092A65DD22EF16900032E20C /* meh.tgs in Resources */,
|
|
||||||
D0E9BAB41F056F4C00F079A4 /* stp_card_placeholder_template@3x.png in Resources */,
|
D0E9BAB41F056F4C00F079A4 /* stp_card_placeholder_template@3x.png in Resources */,
|
||||||
0925903022EF8158003D6283 /* thumbs_up_2.tgs in Resources */,
|
|
||||||
D0E9BAA71F056F4C00F079A4 /* stp_card_form_back@2x.png in Resources */,
|
D0E9BAA71F056F4C00F079A4 /* stp_card_form_back@2x.png in Resources */,
|
||||||
D0E9BAB11F056F4C00F079A4 /* stp_card_mastercard_template@2x.png in Resources */,
|
D0E9BAB11F056F4C00F079A4 /* stp_card_mastercard_template@2x.png in Resources */,
|
||||||
D0E9BA9D1F056F4C00F079A4 /* stp_card_diners@2x.png in Resources */,
|
D0E9BA9D1F056F4C00F079A4 /* stp_card_diners@2x.png in Resources */,
|
||||||
@ -5370,17 +5322,13 @@
|
|||||||
D0E9BAAC1F056F4C00F079A4 /* stp_card_jcb@3x.png in Resources */,
|
D0E9BAAC1F056F4C00F079A4 /* stp_card_jcb@3x.png in Resources */,
|
||||||
D0E9BA911F056F4C00F079A4 /* stp_card_amex@2x.png in Resources */,
|
D0E9BA911F056F4C00F079A4 /* stp_card_amex@2x.png in Resources */,
|
||||||
D0E9BA931F056F4C00F079A4 /* stp_card_amex_template@2x.png in Resources */,
|
D0E9BA931F056F4C00F079A4 /* stp_card_amex_template@2x.png in Resources */,
|
||||||
0925903122EF8158003D6283 /* thumbs_up_4.tgs in Resources */,
|
|
||||||
D0E9BAA91F056F4C00F079A4 /* stp_card_form_front@2x.png in Resources */,
|
D0E9BAA91F056F4C00F079A4 /* stp_card_form_front@2x.png in Resources */,
|
||||||
D0E9BAA41F056F4C00F079A4 /* stp_card_discover_template@3x.png in Resources */,
|
D0E9BAA41F056F4C00F079A4 /* stp_card_discover_template@3x.png in Resources */,
|
||||||
D0E9BAA81F056F4C00F079A4 /* stp_card_form_back@3x.png in Resources */,
|
D0E9BAA81F056F4C00F079A4 /* stp_card_form_back@3x.png in Resources */,
|
||||||
092A65DE22EF16900032E20C /* confused.tgs in Resources */,
|
|
||||||
D0E9BAA11F056F4C00F079A4 /* stp_card_discover@2x.png in Resources */,
|
D0E9BAA11F056F4C00F079A4 /* stp_card_discover@2x.png in Resources */,
|
||||||
D0E9B9EA1F00853C00F079A4 /* PhoneCountries.txt in Resources */,
|
D0E9B9EA1F00853C00F079A4 /* PhoneCountries.txt in Resources */,
|
||||||
094735152275D72100EA2312 /* anim_unpin.json in Resources */,
|
094735152275D72100EA2312 /* anim_unpin.json in Resources */,
|
||||||
D0E9BAB31F056F4C00F079A4 /* stp_card_placeholder_template@2x.png in Resources */,
|
D0E9BAB31F056F4C00F079A4 /* stp_card_placeholder_template@2x.png in Resources */,
|
||||||
0925902E22EF8158003D6283 /* thumbs_up_3.tgs in Resources */,
|
|
||||||
0925902D22EF8158003D6283 /* thumbs_up_6.tgs in Resources */,
|
|
||||||
D0E9BAAE1F056F4C00F079A4 /* stp_card_jcb_template@3x.png in Resources */,
|
D0E9BAAE1F056F4C00F079A4 /* stp_card_jcb_template@3x.png in Resources */,
|
||||||
D0E9BAAB1F056F4C00F079A4 /* stp_card_jcb@2x.png in Resources */,
|
D0E9BAAB1F056F4C00F079A4 /* stp_card_jcb@2x.png in Resources */,
|
||||||
09E2DA132273367900EA0AA4 /* anim_archiveAvatar.json in Resources */,
|
09E2DA132273367900EA0AA4 /* anim_archiveAvatar.json in Resources */,
|
||||||
@ -5391,7 +5339,6 @@
|
|||||||
D0E9BAB21F056F4C00F079A4 /* stp_card_mastercard_template@3x.png in Resources */,
|
D0E9BAB21F056F4C00F079A4 /* stp_card_mastercard_template@3x.png in Resources */,
|
||||||
D0E9BA981F056F4C00F079A4 /* stp_card_applepay_template@3x.png in Resources */,
|
D0E9BA981F056F4C00F079A4 /* stp_card_applepay_template@3x.png in Resources */,
|
||||||
D0E9BAA51F056F4C00F079A4 /* stp_card_form_applepay@2x.png in Resources */,
|
D0E9BAA51F056F4C00F079A4 /* stp_card_form_applepay@2x.png in Resources */,
|
||||||
0925902C22EF8158003D6283 /* thumbs_up_5.tgs in Resources */,
|
|
||||||
D0E9BAB81F056F4C00F079A4 /* stp_card_visa_template@3x.png in Resources */,
|
D0E9BAB81F056F4C00F079A4 /* stp_card_visa_template@3x.png in Resources */,
|
||||||
D0AF797822C2E26500CECCB8 /* meson.build in Resources */,
|
D0AF797822C2E26500CECCB8 /* meson.build in Resources */,
|
||||||
D0E9BA9B1F056F4C00F079A4 /* stp_card_cvc_amex@2x.png in Resources */,
|
D0E9BA9B1F056F4C00F079A4 /* stp_card_cvc_amex@2x.png in Resources */,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user