Skip to content

Commit 2e5d176

Browse files
committed
Cleaned up duplicated apns payload parsing
* Most code paths now use OSNotificaitonPayload for logic instead of parsing the payload directly. * Added let and var typedefs and started integrating it into the code base. - Some syntactic sugar to Swifty Objective-C * Other misc formatting and test improvements
1 parent 23c8153 commit 2e5d176

14 files changed

+466
-486
lines changed

iOS_SDK/OneSignalSDK/OneSignal.xcodeproj/project.pbxproj

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -318,30 +318,30 @@
318318
4529DECD1FA81DE000CEAB1D /* Shadows */ = {
319319
isa = PBXGroup;
320320
children = (
321-
4529DED01FA81EA800CEAB1D /* NSObjectOverrider.h */,
322-
4529DED11FA81EA800CEAB1D /* NSObjectOverrider.m */,
323-
4529DED61FA8253D00CEAB1D /* NSUserDefaultsOverrider.h */,
324-
4529DED71FA8253D00CEAB1D /* NSUserDefaultsOverrider.m */,
321+
4529DEDF1FA82AB300CEAB1D /* NSBundleOverrider.h */,
322+
4529DEE01FA82AB300CEAB1D /* NSBundleOverrider.m */,
325323
4529DED91FA8284E00CEAB1D /* NSDataOverrider.h */,
326324
4529DEDA1FA8284E00CEAB1D /* NSDataOverrider.m */,
327325
4529DEDC1FA828E500CEAB1D /* NSDateOverrider.h */,
328326
4529DEDD1FA828E500CEAB1D /* NSDateOverrider.m */,
329-
4529DEDF1FA82AB300CEAB1D /* NSBundleOverrider.h */,
330-
4529DEE01FA82AB300CEAB1D /* NSBundleOverrider.m */,
327+
4529DEEE1FA8433500CEAB1D /* NSLocaleOverrider.h */,
328+
4529DEEF1FA8433500CEAB1D /* NSLocaleOverrider.m */,
329+
4529DED01FA81EA800CEAB1D /* NSObjectOverrider.h */,
330+
4529DED11FA81EA800CEAB1D /* NSObjectOverrider.m */,
331331
4529DEE21FA82C6200CEAB1D /* NSURLConnectionOverrider.h */,
332332
4529DEE31FA82C6200CEAB1D /* NSURLConnectionOverrider.m */,
333-
4529DEE51FA82CDC00CEAB1D /* UNUserNotificationCenterOverrider.h */,
334-
4529DEE61FA82CDC00CEAB1D /* UNUserNotificationCenterOverrider.m */,
335-
4529DEE81FA8360C00CEAB1D /* UIApplicationOverrider.h */,
336-
4529DEE91FA8360C00CEAB1D /* UIApplicationOverrider.m */,
333+
4529DED61FA8253D00CEAB1D /* NSUserDefaultsOverrider.h */,
334+
4529DED71FA8253D00CEAB1D /* NSUserDefaultsOverrider.m */,
337335
4529DEEB1FA83C5D00CEAB1D /* OneSignalHelperOverrider.h */,
338336
4529DEEC1FA83C5D00CEAB1D /* OneSignalHelperOverrider.m */,
339-
4529DEEE1FA8433500CEAB1D /* NSLocaleOverrider.h */,
340-
4529DEEF1FA8433500CEAB1D /* NSLocaleOverrider.m */,
341-
4529DEF11FA8440A00CEAB1D /* UIAlertViewOverrider.h */,
342-
4529DEF21FA8440A00CEAB1D /* UIAlertViewOverrider.m */,
343337
03389F671FB548A0006537F0 /* OneSignalTrackFirebaseAnalyticsOverrider.h */,
344338
03389F681FB548A0006537F0 /* OneSignalTrackFirebaseAnalyticsOverrider.m */,
339+
4529DEF11FA8440A00CEAB1D /* UIAlertViewOverrider.h */,
340+
4529DEF21FA8440A00CEAB1D /* UIAlertViewOverrider.m */,
341+
4529DEE81FA8360C00CEAB1D /* UIApplicationOverrider.h */,
342+
4529DEE91FA8360C00CEAB1D /* UIApplicationOverrider.m */,
343+
4529DEE51FA82CDC00CEAB1D /* UNUserNotificationCenterOverrider.h */,
344+
4529DEE61FA82CDC00CEAB1D /* UNUserNotificationCenterOverrider.m */,
345345
);
346346
path = Shadows;
347347
sourceTree = "<group>";

iOS_SDK/OneSignalSDK/OneSignal.xcodeproj/xcshareddata/xcschemes/UnitTests.xcscheme

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
<EnvironmentVariables>
2828
<EnvironmentVariable
2929
key = "OS_ACTIVITY_MODE"
30-
value = "disable"
3130
isEnabled = "YES">
3231
</EnvironmentVariable>
3332
</EnvironmentVariables>
@@ -50,6 +49,13 @@
5049
debugDocumentVersioning = "YES"
5150
debugServiceExtension = "internal"
5251
allowLocationSimulation = "YES">
52+
<EnvironmentVariables>
53+
<EnvironmentVariable
54+
key = "OS_ACTIVITY_MODE"
55+
value = ""
56+
isEnabled = "YES">
57+
</EnvironmentVariable>
58+
</EnvironmentVariables>
5359
<AdditionalOptions>
5460
</AdditionalOptions>
5561
</LaunchAction>

iOS_SDK/OneSignalSDK/Source/OSNotificationPayload+Internal.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
#define OSNotificationPayload_Internal_h
3232

3333
@interface OSNotificationPayload (Internal)
34-
- (id)initWithRawMessage:(NSDictionary*)message;
34+
+(instancetype)parseWithApns:(NSDictionary*)message;
3535
@end
3636

3737
#endif /* OSNotificationPayload_Internal_h */

iOS_SDK/OneSignalSDK/Source/OSNotificationPayload.m

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,17 @@
3333

3434
@implementation OSNotificationPayload
3535

36-
- (id)initWithRawMessage:(NSDictionary*)message {
36+
+(instancetype)parseWithApns:(NSDictionary*)message {
3737
if (!message)
3838
return nil;
3939

40-
self = [super init];
41-
if (!self)
42-
return nil;
40+
OSNotificationPayload *osPayload = [OSNotificationPayload new];
4341

42+
[osPayload initWithRawMessage:message];
43+
return osPayload;
44+
}
45+
46+
-(void)initWithRawMessage:(NSDictionary*)message {
4447
_rawPayload = [NSDictionary dictionaryWithDictionary:message];
4548

4649
if ([_rawPayload[@"os_data"] isKindOfClass:[NSDictionary class]])
@@ -49,8 +52,6 @@ - (id)initWithRawMessage:(NSDictionary*)message {
4952
[self parseOriginalPayload];
5053

5154
[self parseOtherApnsFields];
52-
53-
return self;
5455
}
5556

5657
// Original OneSignal payload format.
@@ -126,7 +127,7 @@ -(void)parseRemoteSlient:(NSDictionary*)payload {
126127
_badge = [payload[@"b"] intValue];
127128
_sound = payload[@"s"];
128129
_attachments = payload[@"at"];
129-
[self parseActionButtons:_rawPayload[@"o"]];
130+
[self parseActionButtons:payload[@"o"]];
130131
}
131132

132133
// Parse and convert minified keys for action buttons

0 commit comments

Comments
 (0)