Skip to content

Commit 0b2c198

Browse files
authored
Change VarCache from Class method to singleton (#191)
1 parent 0d2506d commit 0b2c198

File tree

13 files changed

+424
-473
lines changed

13 files changed

+424
-473
lines changed

Example/Tests/Classes/Extensions/LPVarCache+Extensions.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@
2727

2828
@interface LPVarCache(UnitTest)
2929

30-
+ (void)reset;
30+
- (void)reset;
3131

32-
+ (void)initialize;
32+
- (void)initialize;
3333

3434
@end

Example/Tests/Classes/LeanplumTest.m

Lines changed: 39 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1028,7 +1028,7 @@ - (void)test_variables
10281028
[LPVar define:@"myArray" withArray:@[@1, @2, @3, @4, @5]];
10291029
[LPVar define:@"welcomeMessage" withString:@"Welcome to Leanplum!"];
10301030

1031-
[LPVarCache applyVariableDiffs:
1031+
[[LPVarCache sharedCache] applyVariableDiffs:
10321032
@{
10331033
@"B": @{
10341034
@"a": @{
@@ -1111,7 +1111,7 @@ - (void)test_variables
11111111
return YES;
11121112
}];
11131113

1114-
XCTAssertTrue([LPVarCache sendVariablesIfChanged]);
1114+
XCTAssertTrue([[LPVarCache sharedCache] sendVariablesIfChanged]);
11151115
[self waitForExpectationsWithTimeout:2.0 handler:nil];
11161116

11171117
// Test object for key path.
@@ -1137,28 +1137,28 @@ - (void)test_variables
11371137
XCTAssertEqualObjects(@2, ([Leanplum objectForKeyPathComponents:@[@"D", @"b"]]));
11381138

11391139
// Test LPVarCache get variable.
1140-
XCTAssertEqualObjects(@"Welcome to Leanplum!", [[LPVarCache getVariable:@"welcomeMessage"]
1140+
XCTAssertEqualObjects(@"Welcome to Leanplum!", [[[LPVarCache sharedCache] getVariable:@"welcomeMessage"]
11411141
defaultValue]);
1142-
XCTAssertNotNil([LPVarCache getVariable:@"named"]);
1143-
XCTAssertEqual(10, [[LPVarCache getVariable:@"int"] intValue]);
1144-
XCTAssertEqual(10.0f, [[LPVarCache getVariable:@"float"] floatValue]);
1145-
XCTAssertEqual(10.0, [[LPVarCache getVariable:@"double"] doubleValue]);
1146-
XCTAssertEqual(YES, [[LPVarCache getVariable:@"bool"] boolValue]);
1147-
XCTAssertEqual(10L, [[LPVarCache getVariable:@"long"] longValue]);
1148-
XCTAssertEqual(@10, [[LPVarCache getVariable:@"number"] numberValue]);
1149-
XCTAssertEqual(5.0f, [[LPVarCache getVariable:@"cgfloat"] cgFloatValue]);
1150-
XCTAssertEqual('c', [[LPVarCache getVariable:@"char"] charValue]);
1151-
XCTAssertEqual(100LL, [[LPVarCache getVariable:@"long_long"] longLongValue]);
1152-
XCTAssertEqual(0x1, [[LPVarCache getVariable:@"short"] shortValue]);
1153-
XCTAssertEqual(5, [[LPVarCache getVariable:@"unsigned_int"] unsignedIntValue]);
1154-
XCTAssertEqual(NSUIntegerMax, [[LPVarCache getVariable:@"unsigned_integer"]
1142+
XCTAssertNotNil([[LPVarCache sharedCache] getVariable:@"named"]);
1143+
XCTAssertEqual(10, [[[LPVarCache sharedCache] getVariable:@"int"] intValue]);
1144+
XCTAssertEqual(10.0f, [[[LPVarCache sharedCache] getVariable:@"float"] floatValue]);
1145+
XCTAssertEqual(10.0, [[[LPVarCache sharedCache] getVariable:@"double"] doubleValue]);
1146+
XCTAssertEqual(YES, [[[LPVarCache sharedCache] getVariable:@"bool"] boolValue]);
1147+
XCTAssertEqual(10L, [[[LPVarCache sharedCache] getVariable:@"long"] longValue]);
1148+
XCTAssertEqual(@10, [[[LPVarCache sharedCache] getVariable:@"number"] numberValue]);
1149+
XCTAssertEqual(5.0f, [[[LPVarCache sharedCache] getVariable:@"cgfloat"] cgFloatValue]);
1150+
XCTAssertEqual('c', [[[LPVarCache sharedCache] getVariable:@"char"] charValue]);
1151+
XCTAssertEqual(100LL, [[[LPVarCache sharedCache] getVariable:@"long_long"] longLongValue]);
1152+
XCTAssertEqual(0x1, [[[LPVarCache sharedCache] getVariable:@"short"] shortValue]);
1153+
XCTAssertEqual(5, [[[LPVarCache sharedCache] getVariable:@"unsigned_int"] unsignedIntValue]);
1154+
XCTAssertEqual(NSUIntegerMax, [[[LPVarCache sharedCache] getVariable:@"unsigned_integer"]
11551155
unsignedIntegerValue]);
1156-
XCTAssertEqual(200, [[LPVarCache getVariable:@"unsigned_char"] unsignedCharValue]);
1157-
XCTAssertEqual(50L, [[LPVarCache getVariable:@"unsigned_long"] unsignedLongValue]);
1158-
XCTAssertEqual(25LL, [[LPVarCache getVariable:@"unsigned_long_long"] unsignedLongLongValue]);
1159-
XCTAssertEqual(0x1, [[LPVarCache getVariable:@"unsigned_short"] unsignedShortValue]);
1160-
XCTAssertEqual(1, [[LPVarCache getVariable:@"A"] integerValue]);
1161-
XCTAssertEqual(2, [[[LPVarCache getVariable:@"C"] objectForKey:@"a"] integerValue]);
1156+
XCTAssertEqual(200, [[[LPVarCache sharedCache] getVariable:@"unsigned_char"] unsignedCharValue]);
1157+
XCTAssertEqual(50L, [[[LPVarCache sharedCache] getVariable:@"unsigned_long"] unsignedLongValue]);
1158+
XCTAssertEqual(25LL, [[[LPVarCache sharedCache] getVariable:@"unsigned_long_long"] unsignedLongLongValue]);
1159+
XCTAssertEqual(0x1, [[[LPVarCache sharedCache] getVariable:@"unsigned_short"] unsignedShortValue]);
1160+
XCTAssertEqual(1, [[[LPVarCache sharedCache] getVariable:@"A"] integerValue]);
1161+
XCTAssertEqual(2, [[[[LPVarCache sharedCache] getVariable:@"C"] objectForKey:@"a"] integerValue]);
11621162

11631163
// default variables.
11641164
XCTAssertEqualObjects(@5.0, [cgfloat_variable defaultValue]);
@@ -1191,16 +1191,16 @@ - (void)testStartResponseShouldParseVariantDebugInfo
11911191
XCTAssertTrue(success);
11921192
[OHHTTPStubs removeStub:startStub];
11931193
// Then: variantDebugInfo should be parsed
1194-
XCTAssertNotNil([LPVarCache variantDebugInfo]);
1195-
NSDictionary *abTests = [LPVarCache variantDebugInfo][@"abTests"];
1194+
XCTAssertNotNil([[LPVarCache sharedCache] variantDebugInfo]);
1195+
NSDictionary *abTests = [[LPVarCache sharedCache] variantDebugInfo][@"abTests"];
11961196
XCTAssertEqual(abTests.count, 2);
11971197

11981198
// Then: variantDebugInfo should be persisted
1199-
[LPVarCache saveDiffs];
1200-
[LPVarCache setVariantDebugInfo:nil];
1201-
XCTAssertNil([LPVarCache variantDebugInfo]);
1202-
[LPVarCache loadDiffs];
1203-
XCTAssertNotNil([LPVarCache variantDebugInfo]);
1199+
[[LPVarCache sharedCache] saveDiffs];
1200+
[[LPVarCache sharedCache] setVariantDebugInfo:nil];
1201+
XCTAssertNil([[LPVarCache sharedCache] variantDebugInfo]);
1202+
[[LPVarCache sharedCache] loadDiffs];
1203+
XCTAssertNotNil([[LPVarCache sharedCache] variantDebugInfo]);
12041204
dispatch_semaphore_signal(semaphore);
12051205
}];
12061206
dispatch_semaphore_wait(semaphore, [LeanplumHelper default_dispatch_time]);
@@ -1213,19 +1213,19 @@ - (void)testShouldPersistVariantDebugInfo
12131213
{
12141214
//Given: a variantDebugInfo set in VarCache
12151215
NSDictionary *mockVariantDebugInfo = @{@"abTests":@[]};
1216-
[LPVarCache setVariantDebugInfo:mockVariantDebugInfo];
1216+
[[LPVarCache sharedCache] setVariantDebugInfo:mockVariantDebugInfo];
12171217
XCTAssertEqual([Leanplum variantDebugInfo].allKeys.count, 1);
12181218

12191219
//When: the varcache is persisted
1220-
[LPVarCache saveDiffs];
1220+
[[LPVarCache sharedCache] saveDiffs];
12211221
XCTAssertEqual([Leanplum variantDebugInfo].allKeys.count, 1);
12221222

12231223

1224-
[LPVarCache setVariantDebugInfo:nil];
1224+
[[LPVarCache sharedCache] setVariantDebugInfo:nil];
12251225
XCTAssertEqual([Leanplum variantDebugInfo].allKeys.count, 0);
12261226

12271227
//Then: the variantDebugInfo can be loaded from disk
1228-
[LPVarCache loadDiffs];
1228+
[[LPVarCache sharedCache] loadDiffs];
12291229
XCTAssertEqual([Leanplum variantDebugInfo].allKeys.count, 1);
12301230
}
12311231

@@ -1371,7 +1371,7 @@ - (void)test_metadata
13711371
@"whenTriggers":@{},
13721372
}};
13731373
NSArray *variants = @[@{@"id":@"1"}, @{@"id":@"2"}];
1374-
[LPVarCache applyVariableDiffs:nil messages:messages updateRules:nil
1374+
[[LPVarCache sharedCache] applyVariableDiffs:nil messages:messages updateRules:nil
13751375
eventRules:nil variants:variants regions:nil variantDebugInfo:nil];
13761376

13771377
XCTAssertEqualObjects(variants, [Leanplum variants]);
@@ -1420,15 +1420,15 @@ - (void)test_file_syncing
14201420
XCTAssertTrue([plist[@"hash"] length] > 0);
14211421
XCTAssertTrue([plist[@"size"] intValue] > 0);
14221422

1423-
XCTAssertTrue([[LPVarCache defaultKinds][@"__Resources"] isEqual:@"group"]);
1424-
XCTAssertTrue([[LPVarCache defaultKinds]
1423+
XCTAssertTrue([[[LPVarCache sharedCache] defaultKinds][@"__Resources"] isEqual:@"group"]);
1424+
XCTAssertTrue([[[LPVarCache sharedCache] defaultKinds]
14251425
[@"__Resources.PlugIns.Leanplum-SDK_Tests\\.xctest.test\\.file"]
14261426
isEqual:@"file"]);
14271427
return YES;
14281428
}];
1429-
[LPVarCache sendVariablesIfChanged];
1429+
[[LPVarCache sharedCache] sendVariablesIfChanged];
14301430

1431-
NSDictionary *fileAttributes = [LPVarCache fileAttributes];
1431+
NSDictionary *fileAttributes = [[LPVarCache sharedCache] fileAttributes];
14321432
XCTAssertEqual(2, fileAttributes.count);
14331433
}
14341434

@@ -1533,7 +1533,7 @@ - (void)test_define_actions
15331533

15341534
// Define action and send it.
15351535
[Leanplum defineAction:action_name ofKind:kLeanplumActionKindAction withArguments:arguments];
1536-
[LPVarCache sendActionsIfChanged];
1536+
[[LPVarCache sharedCache] sendActionsIfChanged];
15371537

15381538
// Test whether notification parsing is working correctly.
15391539
NSString *jsonString = [LeanplumHelper retrieve_string_from_file:@"sample_action_notification"

Example/Tests/Classes/MessagesTest.m

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -125,9 +125,9 @@ - (void)setParametersForMaybePerformAction
125125
- (void)runInAppMessagePrioritizationTest:(NSDictionary *)messageConfigs
126126
withExpectedMessageIds:(NSSet *)expectedMessageIds
127127
{
128-
id mockLPVarCache = OCMClassMock([LPVarCache class]);
128+
id mockLPVarCache = OCMPartialMock([LPVarCache sharedCache]);
129129
OCMStub([mockLPVarCache messages]).andReturn(messageConfigs);
130-
XCTAssertEqual([LPVarCache messages], messageConfigs);
130+
XCTAssertEqual([[LPVarCache sharedCache] messages], messageConfigs);
131131

132132
__block NSMutableSet *calledMessageIds = [NSMutableSet set];
133133
id mockLeanplum = OCMClassMock([Leanplum class]);
@@ -173,7 +173,7 @@ - (void) test_no_priorities
173173
withExpectedMessageIds:[NSSet setWithObjects:@"1", nil]];
174174
}
175175

176-
- (void) test_different_priorities
176+
- (void) test_different_priorities_small
177177
{
178178
// Testing three messages with priorities of 1, 2, and 3.
179179
NSString *jsonString = [LeanplumHelper retrieve_string_from_file:@"DifferentPriorities1"
@@ -182,16 +182,19 @@ - (void) test_different_priorities
182182
NSDictionary *messageConfigs = [LPJSON JSONFromString:jsonString];
183183
[self runInAppMessagePrioritizationTest:messageConfigs
184184
withExpectedMessageIds:[NSSet setWithObjects:@"1", nil]];
185+
}
185186

187+
- (void) test_different_priorities_large
188+
{
186189
// Testing three messages with priorities of 10, 1000, and 5.
187-
jsonString = [LeanplumHelper retrieve_string_from_file:@"DifferentPriorities2"
190+
NSString *jsonString = [LeanplumHelper retrieve_string_from_file:@"DifferentPriorities2"
188191
ofType:@"json"];
189-
messageConfigs = [LPJSON JSONFromString:jsonString];
192+
NSDictionary *messageConfigs = [LPJSON JSONFromString:jsonString];
190193
[self runInAppMessagePrioritizationTest:messageConfigs
191194
withExpectedMessageIds:[NSSet setWithObjects:@"3", nil]];
192195
}
193196

194-
- (void) test_tied_priorities
197+
- (void) test_tied_priorities_no_value
195198
{
196199
// Testing three messages with priorities of 5, no value, and 5.
197200
NSString *jsonString = [LeanplumHelper retrieve_string_from_file:@"TiedPriorities1"
@@ -200,11 +203,14 @@ - (void) test_tied_priorities
200203
NSDictionary *messageConfigs = [LPJSON JSONFromString:jsonString];
201204
[self runInAppMessagePrioritizationTest:messageConfigs
202205
withExpectedMessageIds:[NSSet setWithObjects:@"1", nil]];
206+
}
203207

208+
- (void) test_tied_priorities_identical
209+
{
204210
// Testing three messages with the same priority.
205-
jsonString = [LeanplumHelper retrieve_string_from_file:@"TiedPriorities2"
211+
NSString *jsonString = [LeanplumHelper retrieve_string_from_file:@"TiedPriorities2"
206212
ofType:@"json"];
207-
messageConfigs = [LPJSON JSONFromString:jsonString];
213+
NSDictionary *messageConfigs = [LPJSON JSONFromString:jsonString];
208214
[self runInAppMessagePrioritizationTest:messageConfigs
209215
withExpectedMessageIds:[NSSet setWithObjects:@"1", nil]];
210216
}
@@ -229,9 +235,9 @@ - (void)test_chained_messages
229235
NSDictionary *messageConfigs = [LPJSON JSONFromString:jsonString];
230236

231237
// Mock LPVarCache messages.
232-
id mockLPVarCache = OCMClassMock([LPVarCache class]);
238+
id mockLPVarCache = OCMPartialMock([LPVarCache sharedCache]);
233239
OCMStub([mockLPVarCache messages]).andReturn(messageConfigs);
234-
XCTAssertEqual([LPVarCache messages], messageConfigs);
240+
XCTAssertEqual([[LPVarCache sharedCache] messages], messageConfigs);
235241

236242
LPActionContext *context1 = [Leanplum createActionContextForMessageId:@"1"];
237243
LPActionContext *context2 = [Leanplum createActionContextForMessageId:@"2"];

Example/Tests/Classes/Utilities/LeanplumHelper.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,8 @@ + (BOOL)start_production_test {
120120

121121
+ (void)clean_up {
122122
[Leanplum reset];
123-
[LPVarCache reset];
124-
[LPVarCache initialize];
123+
[[LPVarCache sharedCache] reset];
124+
[[LPVarCache sharedCache] initialize];
125125
[LPActionManager reset];
126126
[LeanplumRequest setDeviceId:nil];
127127
[LeanplumRequest setUserId:nil];

Leanplum-SDK/Classes/Features/Actions/LPActionArg.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ + (LPActionArg *)argNamed:(NSString *)name with:(NSObject *)defaultValue kind:(N
3131
arg->_kind = kind;
3232
arg->_defaultValue = defaultValue;
3333
if ([kind isEqualToString:LP_KIND_FILE]) {
34-
[LPVarCache registerFile:(NSString *) defaultValue
34+
[[LPVarCache sharedCache] registerFile:(NSString *) defaultValue
3535
withDefaultValue:(NSString *) defaultValue];
3636
}
3737
LP_END_TRY

Leanplum-SDK/Classes/Features/Actions/LPActionContext.m

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ + (LPActionContext *)actionContextWithName:(NSString *)name
6262
context->_args = args;
6363
context->_messageId = messageId;
6464
context->_originalMessageId = originalMessageId;
65-
context->_contentVersion = [LPVarCache contentVersion];
65+
context->_contentVersion = [[LPVarCache sharedCache] contentVersion];
6666
context->_preventRealtimeUpdating = NO;
6767
context->_isRooted = YES;
6868
context->_isPreview = NO;
@@ -77,7 +77,7 @@ - (void)preventRealtimeUpdating
7777

7878
- (NSDictionary *)defaultValues
7979
{
80-
return LPVarCache.actionDefinitions[_name][@"values"];
80+
return [LPVarCache sharedCache].actionDefinitions[_name][@"values"];
8181
}
8282

8383
/**
@@ -110,7 +110,7 @@ - (void)forEachFile:(NSDictionary *)args
110110
withDefaultValues:(NSDictionary *)defaultValues
111111
callback:(LPFileCallback)callback
112112
{
113-
NSDictionary *kinds = LPVarCache.actionDefinitions[_name][@"kinds"];
113+
NSDictionary *kinds = [LPVarCache sharedCache].actionDefinitions[_name][@"kinds"];
114114
for (NSString *arg in args) {
115115
id value = args[arg];
116116
id defaultValue = nil;
@@ -178,12 +178,12 @@ - (NSString *)actionName
178178

179179
- (void)setProperArgs
180180
{
181-
if (!_preventRealtimeUpdating && [LPVarCache contentVersion] > _contentVersion) {
181+
if (!_preventRealtimeUpdating && [[LPVarCache sharedCache] contentVersion] > _contentVersion) {
182182
LPActionContext *parent = _parentContext;
183183
if (parent) {
184184
_args = [parent getChildArgs:_key];
185185
} else if (_messageId) {
186-
_args = LPVarCache.messages[_messageId][LP_KEY_VARS];
186+
_args = [LPVarCache sharedCache].messages[_messageId][LP_KEY_VARS];
187187
}
188188
}
189189
}
@@ -192,7 +192,7 @@ - (id)objectNamed:(NSString *)name
192192
{
193193
LP_TRY
194194
[self setProperArgs];
195-
return [LPVarCache getValueFromComponentArray:[LPVarCache getNameComponents:name]
195+
return [[LPVarCache sharedCache] getValueFromComponentArray:[[LPVarCache sharedCache] getNameComponents:name]
196196
fromDict:_args];
197197
LP_END_TRY
198198
return nil;
@@ -399,10 +399,10 @@ - (NSDictionary *)getChildArgs:(NSString *)name
399399
if (![actionArgs isKindOfClass:[NSDictionary class]]) {
400400
return nil;
401401
}
402-
NSDictionary *defaultArgs = LPVarCache.actionDefinitions
402+
NSDictionary *defaultArgs = [LPVarCache sharedCache].actionDefinitions
403403
[actionArgs[LP_VALUE_ACTION_ARG]]
404404
[@"values"];
405-
actionArgs = [LPVarCache mergeHelper:defaultArgs withDiffs:actionArgs];
405+
actionArgs = [[LPVarCache sharedCache] mergeHelper:defaultArgs withDiffs:actionArgs];
406406
return actionArgs;
407407
LP_END_TRY
408408
}
@@ -483,15 +483,15 @@ - (void)runActionNamed:(NSString *)name
483483
};
484484

485485
if (messageId && [actionType isEqualToString:LP_VALUE_CHAIN_MESSAGE_ACTION_NAME]) {
486-
NSDictionary *message = [LPVarCache messages][messageId];
486+
NSDictionary *message = [[LPVarCache sharedCache] messages][messageId];
487487
if (message) {
488488
executeChainedMessage();
489489
return;
490490
} else {
491491
// Message doesn't seem to be on the device,
492492
// so let's forceContentUpdate and retry showing it.
493493
[Leanplum forceContentUpdate: ^(void) {
494-
NSDictionary *message = [LPVarCache messages][messageId];
494+
NSDictionary *message = [[LPVarCache sharedCache] messages][messageId];
495495
if (message) {
496496
executeChainedMessage();
497497
}

Leanplum-SDK/Classes/Features/Actions/LPActionManager.m

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ - (void)requireMessageContent:(NSString *)messageId
354354
{
355355
[Leanplum onceVariablesChangedAndNoDownloadsPending:^{
356356
LP_END_USER_CODE
357-
if (!messageId || LPVarCache.messages[messageId]) {
357+
if (!messageId || [LPVarCache sharedCache].messages[messageId]) {
358358
if (onCompleted) {
359359
onCompleted();
360360
}
@@ -376,23 +376,23 @@ - (void)requireMessageContent:(NSString *)messageId
376376
NSArray *variants = response[LP_KEY_VARIANTS];
377377
NSDictionary *regions = response[LP_KEY_REGIONS];
378378
if (![LPConstantsState sharedState].canDownloadContentMidSessionInProduction ||
379-
[values isEqualToDictionary:LPVarCache.diffs]) {
379+
[values isEqualToDictionary:[LPVarCache sharedCache].diffs]) {
380380
values = nil;
381381
}
382-
if ([messages isEqualToDictionary:LPVarCache.messageDiffs]) {
382+
if ([messages isEqualToDictionary:[LPVarCache sharedCache].messageDiffs]) {
383383
messages = nil;
384384
}
385-
if ([updateRules isEqualToArray:LPVarCache.updateRulesDiffs]) {
385+
if ([updateRules isEqualToArray:[LPVarCache sharedCache].updateRulesDiffs]) {
386386
updateRules = nil;
387387
}
388-
if ([eventRules isEqualToArray:LPVarCache.updateRulesDiffs]) {
388+
if ([eventRules isEqualToArray:[LPVarCache sharedCache].updateRulesDiffs]) {
389389
eventRules = nil;
390390
}
391-
if ([regions isEqualToDictionary:LPVarCache.regions]) {
391+
if ([regions isEqualToDictionary:[LPVarCache sharedCache].regions]) {
392392
regions = nil;
393393
}
394394
if (values || messages || updateRules || eventRules || regions) {
395-
[LPVarCache applyVariableDiffs:values
395+
[[LPVarCache sharedCache] applyVariableDiffs:values
396396
messages:messages
397397
updateRules:updateRules
398398
eventRules:eventRules
@@ -766,7 +766,7 @@ - (void)listenForLocalNotifications
766766

767767
NSString *messageId = context.messageId;
768768

769-
NSDictionary *messageConfig = LPVarCache.messageDiffs[messageId];
769+
NSDictionary *messageConfig = [LPVarCache sharedCache].messageDiffs[messageId];
770770

771771
NSNumber *countdown = messageConfig[@"countdown"];
772772
if (context.isPreview) {
@@ -1038,7 +1038,7 @@ + (void)getForegroundRegionNames:(NSMutableSet **)foregroundRegionNames
10381038
{
10391039
*foregroundRegionNames = [NSMutableSet set];
10401040
*backgroundRegionNames = [NSMutableSet set];
1041-
NSDictionary *messages = [LPVarCache messages];
1041+
NSDictionary *messages = [[LPVarCache sharedCache] messages];
10421042
for (NSString *messageId in messages) {
10431043
NSDictionary *messageConfig = messages[messageId];
10441044
NSMutableSet *regionNames;

0 commit comments

Comments
 (0)