Skip to content

Commit e43da78

Browse files
authored
Merge pull request #524 from geektimecoil/misc_fixes
Fix Android Create Notification Issue
2 parents b2a8255 + 76e56d9 commit e43da78

File tree

4 files changed

+13
-8
lines changed

4 files changed

+13
-8
lines changed

android/src/main/java/com/geektime/rnonesignalandroid/RNOneSignal.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ public void setLocationShared(Boolean shared) {
304304
public void postNotification(String contents, String data, String playerId, String otherParameters) {
305305
try {
306306
JSONObject postNotification = new JSONObject();
307-
postNotification.put("contents", contents);
307+
postNotification.put("contents", new JSONObject(contents));
308308

309309
if (playerId != null) {
310310
JSONArray playerIds = new JSONArray();
@@ -314,7 +314,7 @@ public void postNotification(String contents, String data, String playerId, Stri
314314

315315
if (data != null) {
316316
JSONObject additionalData = new JSONObject();
317-
additionalData.put("p2p_notification", data);
317+
additionalData.put("p2p_notification", new JSONObject(data));
318318
postNotification.put("data", additionalData);
319319
}
320320

ios/RCTOneSignal.xcodeproj/project.pbxproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
CA3D8B5B2076D84E006F3572 /* RCTOneSignalExtensionService.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = CA1CC866200FE3C3005B66AA /* RCTOneSignalExtensionService.h */; };
1717
CA63F32E20ACFD60009AE90F /* UIApplication+RCTOnesignal.m in Sources */ = {isa = PBXBuildFile; fileRef = CA63F32C20ACFD60009AE90F /* UIApplication+RCTOnesignal.m */; };
1818
CACB39D6202D232A00D86CD1 /* RCTOneSignalEventEmitter.m in Sources */ = {isa = PBXBuildFile; fileRef = CACB39D5202D232A00D86CD1 /* RCTOneSignalEventEmitter.m */; };
19+
CACDD98820B3448B002A6C38 /* OneSignal.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = CA362AF6209927E20095B77A /* OneSignal.h */; };
1920
FD2CCC851C772B4200B2B24E /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FD2CCC841C772B4200B2B24E /* SystemConfiguration.framework */; };
2021
FDB40CC41C5E4E5500CBF09B /* RCTOneSignal.m in Sources */ = {isa = PBXBuildFile; fileRef = FDB40CC31C5E4E5500CBF09B /* RCTOneSignal.m */; };
2122
/* End PBXBuildFile section */
@@ -27,6 +28,7 @@
2728
dstPath = "include/$(PRODUCT_NAME)";
2829
dstSubfolderSpec = 16;
2930
files = (
31+
CACDD98820B3448B002A6C38 /* OneSignal.h in Copy Headers */,
3032
CA3D8B5A2076D84E006F3572 /* RCTOneSignal.h in Copy Headers */,
3133
CA3D8B5B2076D84E006F3572 /* RCTOneSignalExtensionService.h in Copy Headers */,
3234
);

ios/RCTOneSignal/RCTOneSignal.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111

1212
+ (RCTOneSignal *) sharedInstance;
1313

14+
@property (nonatomic) BOOL didStartObserving;
15+
1416
- (void)configureWithAppId:(NSString *)appId;
1517
- (void)configureWithAppId:(NSString *)appId settings:(NSDictionary*)settings;
1618

ios/RCTOneSignal/RCTOneSignal.m

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ @interface RCTOneSignal ()
2727
@end
2828

2929
@implementation RCTOneSignal {
30-
BOOL didStartObserving;
3130
BOOL didInitialize;
3231
}
3332

@@ -44,12 +43,12 @@ + (RCTOneSignal *) sharedInstance {
4443

4544
- (void)initOneSignal {
4645
[OneSignal setValue:@"react" forKey:@"mSDKType"];
47-
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didStartObserving) name:@"didSetBridge" object:nil];
46+
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didBeginObserving) name:@"didSetBridge" object:nil];
4847

4948
[OneSignal initWithLaunchOptions:nil appId:nil handleNotificationReceived:^(OSNotification* notification) {
5049
[self handleRemoteNotificationReceived:[notification stringify]];
5150
} handleNotificationAction:^(OSNotificationOpenedResult *result) {
52-
if (!didStartObserving)
51+
if (!RCTOneSignal.sharedInstance.didStartObserving)
5352
coldStartOSNotificationOpenedResult = result;
5453
else
5554
[self handleRemoteNotificationOpened:[result stringify]];
@@ -70,8 +69,10 @@ - (id)initWithLaunchOptions:(NSDictionary *)launchOptions appId:(NSString *)appI
7069
return self;
7170
}
7271

73-
- (void)didStartObserving {
74-
didStartObserving = true;
72+
- (void)didBeginObserving {
73+
// To continue supporting deprecated initialization methods (which create a new RCTOneSignal instance),
74+
// we will only access the didStartObserving property of the shared instance to avoid issues
75+
RCTOneSignal.sharedInstance.didStartObserving = true;
7576

7677
dispatch_async(dispatch_get_main_queue(), ^{
7778
if (coldStartOSNotificationOpenedResult) {
@@ -103,7 +104,7 @@ - (void)configureWithAppId:(NSString *)appId settings:(NSDictionary*)settings {
103104
[self handleRemoteNotificationReceived:[notification stringify]];
104105
}
105106
handleNotificationAction:^(OSNotificationOpenedResult *result) {
106-
if (!didStartObserving)
107+
if (!RCTOneSignal.sharedInstance.didStartObserving)
107108
coldStartOSNotificationOpenedResult = result;
108109
else
109110
[self handleRemoteNotificationOpened:[result stringify]];

0 commit comments

Comments
 (0)