diff --git a/Signal/src/ViewControllers/Stickers/ManageStickersViewController.swift b/Signal/src/ViewControllers/Stickers/ManageStickersViewController.swift index 73b86e9eab..7474fadc2b 100644 --- a/Signal/src/ViewControllers/Stickers/ManageStickersViewController.swift +++ b/Signal/src/ViewControllers/Stickers/ManageStickersViewController.swift @@ -123,6 +123,7 @@ public class ManageStickersViewController: OWSTableViewController { private var installedStickerPackSources = [StickerPackDataSource]() private var availableBuiltInStickerPackSources = [StickerPackDataSource]() private var knownStickerPackSources = [StickerPackDataSource]() + private var coverInfoViewCache = [Data: UIView]() private func updateState() { // If we're presenting a modal because the user tapped install, dismiss it. @@ -343,10 +344,11 @@ public class ManageStickersViewController: OWSTableViewController { let authorNameValue: String? = dataSource.author?.filterForDisplay let iconView: UIView - if let stickerInfo = stickerInfo, - let coverView = imageView(forStickerInfo: stickerInfo, - dataSource: dataSource) { + if let stickerInfo = stickerInfo, let cachedView = coverInfoViewCache[stickerInfo.packId] { + iconView = cachedView + } else if let stickerInfo = stickerInfo, let coverView = imageView(forStickerInfo: stickerInfo, dataSource: dataSource) { iconView = coverView + coverInfoViewCache[stickerInfo.packId] = coverView } else { iconView = UIView() }