|
5 | 5 | import com.facebook.react.bridge.ReadableMap; |
6 | 6 | import com.facebook.react.bridge.ReadableMapKeySetIterator; |
7 | 7 | import com.facebook.react.bridge.ReadableType; |
| 8 | +import com.facebook.react.bridge.WritableArray; |
8 | 9 | import com.facebook.react.bridge.WritableMap; |
9 | 10 | import com.onesignal.inAppMessages.IInAppMessage; |
10 | 11 | import com.onesignal.inAppMessages.IInAppMessageClickEvent; |
@@ -51,6 +52,8 @@ public static WritableMap convertHashMapToWritableMap(HashMap<String, Object> ha |
51 | 52 | writableMap.putDouble(key, ((Long) value).doubleValue()); |
52 | 53 | } else if (value instanceof HashMap) { |
53 | 54 | writableMap.putMap(key, convertHashMapToWritableMap((HashMap<String, Object>) value)); |
| 55 | + } else if (value instanceof List) { |
| 56 | + writableMap.putArray(key, convertListToWritableArray((List<Object>) value)); |
54 | 57 | } else { |
55 | 58 | writableMap.putNull(key); |
56 | 59 | } |
@@ -287,4 +290,30 @@ private static List<Object> convertJSONArrayToList(JSONArray array) throws JSONE |
287 | 290 |
|
288 | 291 | return list; |
289 | 292 | } |
| 293 | + |
| 294 | + private static WritableArray convertListToWritableArray(List<Object> list) throws JSONException { |
| 295 | + WritableArray writableArray = Arguments.createArray(); |
| 296 | + for (Object item : list) { |
| 297 | + if (item instanceof String) { |
| 298 | + writableArray.pushString((String) item); |
| 299 | + } else if (item instanceof Boolean) { |
| 300 | + writableArray.pushBoolean((Boolean) item); |
| 301 | + } else if (item instanceof Integer) { |
| 302 | + writableArray.pushInt((Integer) item); |
| 303 | + } else if (item instanceof Double) { |
| 304 | + writableArray.pushDouble((Double) item); |
| 305 | + } else if (item instanceof Float) { |
| 306 | + writableArray.pushDouble(((Float) item).doubleValue()); |
| 307 | + } else if (item instanceof Long) { |
| 308 | + writableArray.pushDouble(((Long) item).doubleValue()); |
| 309 | + } else if (item instanceof HashMap) { |
| 310 | + writableArray.pushMap(convertHashMapToWritableMap((HashMap<String, Object>) item)); |
| 311 | + } else if (item instanceof List) { |
| 312 | + writableArray.pushArray(convertListToWritableArray((List<Object>) item)); |
| 313 | + } else { |
| 314 | + writableArray.pushNull(); |
| 315 | + } |
| 316 | + } |
| 317 | + return writableArray; |
| 318 | + } |
290 | 319 | } |
0 commit comments