mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-15 18:59:54 +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 {
|
||||
private let context: AccountContext
|
||||
private let chatLocation: ChatLocation
|
||||
@ -395,7 +415,7 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode {
|
||||
return self.isInteractivelyScrollingPromise.get()
|
||||
}
|
||||
|
||||
private var currentPresentationData: PresentationData
|
||||
private var currentPresentationData: ChatPresentationData
|
||||
private var chatPresentationDataPromise: Promise<ChatPresentationData>
|
||||
private var presentationDataDisposable: Disposable?
|
||||
|
||||
@ -428,9 +448,10 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode {
|
||||
self.controllerInteraction = controllerInteraction
|
||||
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)
|
||||
|
||||
@ -735,20 +756,28 @@ public final class ChatHistoryListNode: ListView, ChatHistoryNode {
|
||||
}
|
||||
}
|
||||
|
||||
self.presentationDataDisposable = (context.sharedContext.presentationData
|
||||
|> deliverOnMainQueue).start(next: { [weak self] presentationData in
|
||||
let appConfiguration = context.account.postbox.preferencesView(keys: [PreferencesKeys.appConfiguration])
|
||||
|> 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 {
|
||||
let previousTheme = strongSelf.currentPresentationData.theme
|
||||
let previousStrings = strongSelf.currentPresentationData.strings
|
||||
let previousWallpaper = strongSelf.currentPresentationData.chatWallpaper
|
||||
let previousWallpaper = strongSelf.currentPresentationData.theme.wallpaper
|
||||
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 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.forEachItemHeaderNode { itemHeaderNode in
|
||||
|
||||
@ -162,6 +162,7 @@ class ChatMessageAnimatedStickerItemNode: ChatMessageItemView {
|
||||
|
||||
var file: TelegramMediaFile?
|
||||
var playbackMode: AnimatedStickerPlaybackMode = .loop
|
||||
var isEmoji = false
|
||||
|
||||
if let telegramFile = self.telegramFile {
|
||||
file = telegramFile
|
||||
@ -169,6 +170,7 @@ class ChatMessageAnimatedStickerItemNode: ChatMessageItemView {
|
||||
playbackMode = .once
|
||||
}
|
||||
} else if let emojiFile = self.emojiFile {
|
||||
isEmoji = true
|
||||
file = emojiFile
|
||||
if item.context.sharedContext.immediateExperimentalUISettings.playAnimatedEmojiOnce {
|
||||
playbackMode = .once
|
||||
@ -177,7 +179,7 @@ class ChatMessageAnimatedStickerItemNode: ChatMessageItemView {
|
||||
|
||||
if let file = file {
|
||||
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)
|
||||
}
|
||||
}
|
||||
@ -216,9 +218,9 @@ class ChatMessageAnimatedStickerItemNode: ChatMessageItemView {
|
||||
} else if let emojiFile = emojiFile {
|
||||
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 {
|
||||
imageSize = dimensions.aspectFitted(displaySize)
|
||||
imageSize = dimensions.aspectFilled(displaySize)
|
||||
} else if let thumbnailSize = emojiFile.previewRepresentations.first?.dimensions {
|
||||
imageSize = thumbnailSize.aspectFitted(displaySize)
|
||||
}
|
||||
|
||||
@ -86,7 +86,9 @@ public final class ChatPresentationData {
|
||||
let messageFixedFont: 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.fontSize = fontSize
|
||||
self.strings = strings
|
||||
@ -105,5 +107,7 @@ public final class ChatPresentationData {
|
||||
self.messageBoldItalicFont = Font.semiboldItalic(baseFontSize)
|
||||
self.messageFixedFont = UIFont(name: "Menlo-Regular", size: baseFontSize - 1.0) ?? UIFont.systemFont(ofSize: baseFontSize)
|
||||
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, ); }; };
|
||||
0921F60B228C8765001A13D7 /* ItemListPlaceholderItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0921F60A228C8765001A13D7 /* ItemListPlaceholderItem.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 */; };
|
||||
092F36902157AB46001A9F49 /* ItemListCallListItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 092F368F2157AB46001A9F49 /* ItemListCallListItem.swift */; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
@ -2611,25 +2589,6 @@
|
||||
name = "Animated Stickers";
|
||||
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 */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@ -3284,7 +3243,6 @@
|
||||
D0471B521EFD8EBC0074D609 /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
092A65D422EF16900032E20C /* Emoji */,
|
||||
09E2D9ED226F1AF300EA0AA4 /* Emoji.mapping */,
|
||||
D0955FB32191278C00F89427 /* PresentationStrings.mapping */,
|
||||
09310D13213BC5DE0020033A /* Animations */,
|
||||
@ -5312,12 +5270,10 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
09874E4F21078FA100E190B8 /* Generic.html in Resources */,
|
||||
092A65E022EF16900032E20C /* heart.tgs in Resources */,
|
||||
09874E5021078FA100E190B8 /* GenericUserScript.js in Resources */,
|
||||
09874E5121078FA100E190B8 /* Instagram.html in Resources */,
|
||||
09874E5221078FA100E190B8 /* Twitch.html in Resources */,
|
||||
09874E5321078FA100E190B8 /* TwitchUserScript.js in Resources */,
|
||||
0925902F22EF8158003D6283 /* thumbs_up_1.tgs in Resources */,
|
||||
094735122275D72100EA2312 /* anim_mute.json in Resources */,
|
||||
09874E5421078FA100E190B8 /* Vimeo.html in Resources */,
|
||||
09874E5521078FA100E190B8 /* VimeoUserScript.js in Resources */,
|
||||
@ -5329,7 +5285,6 @@
|
||||
D0EB42051F3143AB00838FE6 /* LegacyComponentsResources.bundle in Resources */,
|
||||
D0E9BAA21F056F4C00F079A4 /* stp_card_discover@3x.png in Resources */,
|
||||
D0E9BAB01F056F4C00F079A4 /* stp_card_mastercard@3x.png in Resources */,
|
||||
092A65DF22EF16900032E20C /* celeb.tgs in Resources */,
|
||||
09310D32213ED5FC0020033A /* anim_ungroup.json in Resources */,
|
||||
09E2D9EF226F1AFA00EA0AA4 /* Emoji.mapping in Resources */,
|
||||
D0955FB521912B6000F89427 /* PresentationStrings.mapping in Resources */,
|
||||
@ -5352,16 +5307,13 @@
|
||||
D0F972101FFE4BD5002595C8 /* MessageSent.caf in Resources */,
|
||||
D0E9BAB71F056F4C00F079A4 /* stp_card_visa_template@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 */,
|
||||
094735132275D72100EA2312 /* anim_delete.json in Resources */,
|
||||
094735192277483C00EA2312 /* anim_infotip.json in Resources */,
|
||||
094735142275D72100EA2312 /* anim_unarchive.json in Resources */,
|
||||
D0E9BAAA1F056F4C00F079A4 /* stp_card_form_front@3x.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 */,
|
||||
0925903022EF8158003D6283 /* thumbs_up_2.tgs in Resources */,
|
||||
D0E9BAA71F056F4C00F079A4 /* stp_card_form_back@2x.png in Resources */,
|
||||
D0E9BAB11F056F4C00F079A4 /* stp_card_mastercard_template@2x.png in Resources */,
|
||||
D0E9BA9D1F056F4C00F079A4 /* stp_card_diners@2x.png in Resources */,
|
||||
@ -5370,17 +5322,13 @@
|
||||
D0E9BAAC1F056F4C00F079A4 /* stp_card_jcb@3x.png in Resources */,
|
||||
D0E9BA911F056F4C00F079A4 /* stp_card_amex@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 */,
|
||||
D0E9BAA41F056F4C00F079A4 /* stp_card_discover_template@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 */,
|
||||
D0E9B9EA1F00853C00F079A4 /* PhoneCountries.txt in Resources */,
|
||||
094735152275D72100EA2312 /* anim_unpin.json 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 */,
|
||||
D0E9BAAB1F056F4C00F079A4 /* stp_card_jcb@2x.png in Resources */,
|
||||
09E2DA132273367900EA0AA4 /* anim_archiveAvatar.json in Resources */,
|
||||
@ -5391,7 +5339,6 @@
|
||||
D0E9BAB21F056F4C00F079A4 /* stp_card_mastercard_template@3x.png in Resources */,
|
||||
D0E9BA981F056F4C00F079A4 /* stp_card_applepay_template@3x.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 */,
|
||||
D0AF797822C2E26500CECCB8 /* meson.build in Resources */,
|
||||
D0E9BA9B1F056F4C00F079A4 /* stp_card_cvc_amex@2x.png in Resources */,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user