TM-SGNL-iOS/SignalServiceKit/Messages/Stickers/InstalledSticker.m
TeleMessage developers dde0620daf initial commit
2025-05-03 12:28:28 -07:00

119 lines
2.9 KiB
Objective-C

//
// Copyright 2019 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
//
#import "InstalledSticker.h"
#import <SignalServiceKit/SignalServiceKit-Swift.h>
NS_ASSUME_NONNULL_BEGIN
@implementation InstalledSticker
- (nullable instancetype)initWithCoder:(NSCoder *)coder
{
return [super initWithCoder:coder];
}
- (instancetype)initWithInfo:(StickerInfo *)info
contentType:(nullable NSString *)contentType
emojiString:(nullable NSString *)emojiString
{
OWSAssertDebug(info.packId.length > 0);
OWSAssertDebug(info.packKey.length > 0);
self = [super initWithUniqueId:[InstalledSticker uniqueIdForStickerInfo:info]];
if (!self) {
return self;
}
_info = info;
if (contentType.length > 0) {
_contentType = contentType;
}
_emojiString = emojiString;
return self;
}
- (NSData *)packId
{
return self.info.packId;
}
- (NSData *)packKey
{
return self.info.packKey;
}
- (UInt32)stickerId
{
return self.info.stickerId;
}
// --- CODE GENERATION MARKER
// This snippet is generated by /Scripts/sds_codegen/sds_generate.py. Do not manually edit it, instead run
// `sds_codegen.sh`.
// clang-format off
- (instancetype)initWithGrdbId:(int64_t)grdbId
uniqueId:(NSString *)uniqueId
contentType:(nullable NSString *)contentType
emojiString:(nullable NSString *)emojiString
info:(StickerInfo *)info
{
self = [super initWithGrdbId:grdbId
uniqueId:uniqueId];
if (!self) {
return self;
}
_contentType = contentType;
_emojiString = emojiString;
_info = info;
return self;
}
// clang-format on
// --- CODE GENERATION MARKER
+ (NSString *)uniqueIdForStickerInfo:(StickerInfo *)info
{
return info.asKey;
}
#pragma mark -
- (void)anyDidInsertWithTransaction:(SDSAnyWriteTransaction *)transaction
{
[super anyDidInsertWithTransaction:transaction];
[SSKEnvironment.shared.modelReadCachesRef.installedStickerCache didInsertOrUpdateInstalledSticker:self
transaction:transaction];
}
- (void)anyDidUpdateWithTransaction:(SDSAnyWriteTransaction *)transaction
{
[super anyDidUpdateWithTransaction:transaction];
[SSKEnvironment.shared.modelReadCachesRef.installedStickerCache didInsertOrUpdateInstalledSticker:self
transaction:transaction];
}
- (void)anyDidRemoveWithTransaction:(SDSAnyWriteTransaction *)transaction
{
[super anyDidRemoveWithTransaction:transaction];
[SSKEnvironment.shared.modelReadCachesRef.installedStickerCache didRemoveInstalledSticker:self
transaction:transaction];
}
@end
NS_ASSUME_NONNULL_END