Skip to content

Commit cf77e40

Browse files
authored
Merge pull request #56 from Iterable/bug/mob-1858-null-android
[MOB-1858] - RN Android not able to pass null.
2 parents d7a09f9 + c5d006e commit cf77e40

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

android/src/main/java/com/iterable/reactnative/RNIterableAPIModule.java

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public void initializeWithApiKey(String apiKey, ReadableMap configReadableMap, S
7777
}
7878

7979
IterableApi.initialize(reactContext, apiKey, configBuilder.build());
80-
IterableApi.getInstance().setDeviceAttribute("reactNativeSDKVersion",version);
80+
IterableApi.getInstance().setDeviceAttribute("reactNativeSDKVersion", version);
8181
}
8282

8383
@ReactMethod
@@ -163,12 +163,20 @@ public void trackPushOpenWithCampaignId(Integer campaignId, Integer templateId,
163163
@ReactMethod
164164
public void updateSubscriptions(ReadableArray emailListIds, ReadableArray unsubscribedChannelIds, ReadableArray unsubscribedMessageTypeIds, ReadableArray subscribedMessageTypeIds, Integer campaignId, Integer templateId) {
165165
IterableLogger.v(TAG, "updateSubscriptions");
166+
Integer finalCampaignId = null, finalTemplateId = null;
167+
if (campaignId > 0) {
168+
finalCampaignId = campaignId;
169+
}
170+
if (templateId > 0) {
171+
finalTemplateId = templateId;
172+
}
166173
IterableApi.getInstance().updateSubscriptions(readableArrayToIntegerArray(emailListIds),
167174
readableArrayToIntegerArray(unsubscribedChannelIds),
168175
readableArrayToIntegerArray(unsubscribedMessageTypeIds),
169176
readableArrayToIntegerArray(subscribedMessageTypeIds),
170-
campaignId,
171-
templateId);
177+
finalCampaignId,
178+
finalTemplateId
179+
);
172180
}
173181

174182
@ReactMethod
@@ -312,6 +320,9 @@ public void setInAppShowResponse(Integer number) {
312320
// endregion
313321

314322
private static Integer[] readableArrayToIntegerArray(ReadableArray array) {
323+
if (array == null) {
324+
return null;
325+
}
315326
Integer[] integers = new Integer[array.size()];
316327
for (int i = 0; i < array.size(); i++) {
317328
integers[i] = array.getInt(i);

0 commit comments

Comments
 (0)