From 24115d3043ed93816284b53a2f435cb36db2936f Mon Sep 17 00:00:00 2001 From: Ali <> Date: Wed, 16 Jun 2021 00:57:45 +0400 Subject: [PATCH] Filter repeated patterns --- .../Sources/Themes/WallpaperPatternPanelNode.swift | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/submodules/SettingsUI/Sources/Themes/WallpaperPatternPanelNode.swift b/submodules/SettingsUI/Sources/Themes/WallpaperPatternPanelNode.swift index 5819a342a5..c760f1f31e 100644 --- a/submodules/SettingsUI/Sources/Themes/WallpaperPatternPanelNode.swift +++ b/submodules/SettingsUI/Sources/Themes/WallpaperPatternPanelNode.swift @@ -9,6 +9,7 @@ import TelegramPresentationData import LegacyComponents import AccountContext import MergeLists +import Postbox private let itemSize = CGSize(width: 88.0, height: 88.0) private let inset: CGFloat = 12.0 @@ -267,12 +268,18 @@ final class WallpaperPatternPanelNode: ASDisplayNode { self.addSubnode(self.titleNode) self.addSubnode(self.labelNode) - self.disposable = ((telegramWallpapers(postbox: context.account.postbox, network: context.account.network) - |> map { wallpapers in + |> map { wallpapers -> [TelegramWallpaper] in + var existingIds = Set() + return wallpapers.filter { wallpaper in if case let .file(file) = wallpaper, wallpaper.isPattern, file.file.mimeType != "image/webp" { - return true + if existingIds.contains(file.file.fileId) { + return false + } else { + existingIds.insert(file.file.fileId) + return true + } } else { return false }