From c7482d373fdf3dde6f598ed4afb545343ae4e9f1 Mon Sep 17 00:00:00 2001 From: Ehren Kret Date: Fri, 14 Jan 2022 16:12:31 -0600 Subject: [PATCH] Remove pre-mature optimization Optimizing for non-downloaded stickers by reading the entire table set of IDs into memory first then subsequently reading each row one-by-one seems less than ideal. --- .../src/Messages/Stickers/StickerManager.swift | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/SignalServiceKit/src/Messages/Stickers/StickerManager.swift b/SignalServiceKit/src/Messages/Stickers/StickerManager.swift index d9217845f3..9c5bde2ce7 100644 --- a/SignalServiceKit/src/Messages/Stickers/StickerManager.swift +++ b/SignalServiceKit/src/Messages/Stickers/StickerManager.swift @@ -1,5 +1,5 @@ // -// Copyright (c) 2021 Open Whisper Systems. All rights reserved. +// Copyright (c) 2022 Open Whisper Systems. All rights reserved. // import Foundation @@ -468,13 +468,10 @@ public class StickerManager: NSObject { verifyExists: Bool, transaction: SDSAnyReadTransaction) -> [StickerInfo] { - let allInstalledUniqueIds = Set(InstalledSticker.anyAllUniqueIds(transaction: transaction)) var result = [StickerInfo]() for stickerInfo in stickerPack.stickerInfos { let uniqueId = InstalledSticker.uniqueId(for: stickerInfo) - let isStickerInstalled = allInstalledUniqueIds.contains(uniqueId) - guard isStickerInstalled, - let installedSticker = InstalledSticker.anyFetch(uniqueId: uniqueId, transaction: transaction) else { + guard let installedSticker = InstalledSticker.anyFetch(uniqueId: uniqueId, transaction: transaction) else { continue } if verifyExists,