react-native-maps 1.21.0-alpha.9 → 1.21.0-alpha.91

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/android/build.gradle +45 -14
  2. package/android/generated/RCTAppDependencyProvider.h +25 -0
  3. package/android/generated/RCTAppDependencyProvider.mm +55 -0
  4. package/android/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
  5. package/android/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
  6. package/android/generated/RCTThirdPartyComponentsProvider.h +16 -0
  7. package/android/generated/RCTThirdPartyComponentsProvider.mm +26 -0
  8. package/android/generated/ReactAppDependencyProvider.podspec +34 -0
  9. package/android/generated/java/com/facebook/fbreact/specs/NativeAirMapsModuleSpec.java +63 -0
  10. package/android/generated/java/com/facebook/react/viewmanagers/RNMapsCalloutManagerDelegate.java +35 -0
  11. package/android/generated/java/com/facebook/react/viewmanagers/RNMapsCalloutManagerInterface.java +18 -0
  12. package/android/generated/java/com/facebook/react/viewmanagers/RNMapsCircleManagerDelegate.java +49 -0
  13. package/android/generated/java/com/facebook/react/viewmanagers/RNMapsCircleManagerInterface.java +24 -0
  14. package/android/generated/java/com/facebook/react/viewmanagers/RNMapsGooglePolygonManagerDelegate.java +49 -0
  15. package/android/generated/java/com/facebook/react/viewmanagers/RNMapsGooglePolygonManagerInterface.java +24 -0
  16. package/android/generated/java/com/facebook/react/viewmanagers/RNMapsMapViewManagerDelegate.java +206 -0
  17. package/android/generated/java/com/facebook/react/viewmanagers/RNMapsMapViewManagerInterface.java +74 -0
  18. package/android/generated/java/com/facebook/react/viewmanagers/RNMapsMarkerManagerDelegate.java +104 -0
  19. package/android/generated/java/com/facebook/react/viewmanagers/RNMapsMarkerManagerInterface.java +40 -0
  20. package/android/generated/java/com/facebook/react/viewmanagers/RNMapsOverlayManagerDelegate.java +46 -0
  21. package/android/generated/java/com/facebook/react/viewmanagers/RNMapsOverlayManagerInterface.java +24 -0
  22. package/android/generated/java/com/facebook/react/viewmanagers/RNMapsPolylineManagerDelegate.java +58 -0
  23. package/android/generated/java/com/facebook/react/viewmanagers/RNMapsPolylineManagerInterface.java +27 -0
  24. package/android/generated/jni/CMakeLists.txt +36 -0
  25. package/android/generated/jni/RNMapsSpecs-generated.cpp +68 -0
  26. package/android/generated/jni/RNMapsSpecs.h +31 -0
  27. package/android/generated/jni/react/renderer/components/RNMapsSpecs/ComponentDescriptors.cpp +29 -0
  28. package/android/generated/jni/react/renderer/components/RNMapsSpecs/ComponentDescriptors.h +31 -0
  29. package/android/generated/jni/react/renderer/components/RNMapsSpecs/EventEmitters.cpp +984 -0
  30. package/android/generated/jni/react/renderer/components/RNMapsSpecs/EventEmitters.h +853 -0
  31. package/android/generated/jni/react/renderer/components/RNMapsSpecs/Props.cpp +193 -0
  32. package/android/generated/jni/react/renderer/components/RNMapsSpecs/Props.h +1223 -0
  33. package/android/generated/jni/react/renderer/components/RNMapsSpecs/RNMapsSpecsJSI-generated.cpp +74 -0
  34. package/android/generated/jni/react/renderer/components/RNMapsSpecs/RNMapsSpecsJSI.h +268 -0
  35. package/android/generated/jni/react/renderer/components/RNMapsSpecs/ShadowNodes.cpp +24 -0
  36. package/android/generated/jni/react/renderer/components/RNMapsSpecs/ShadowNodes.h +109 -0
  37. package/android/generated/jni/react/renderer/components/RNMapsSpecs/States.cpp +16 -0
  38. package/android/generated/jni/react/renderer/components/RNMapsSpecs/States.h +113 -0
  39. package/android/gradle/wrapper/gradle-wrapper.properties +1 -1
  40. package/android/gradlew +1 -2
  41. package/android/src/main/java/com/rnmaps/fabric/CalloutManager.java +77 -0
  42. package/android/src/main/java/com/rnmaps/fabric/CircleManager.java +94 -0
  43. package/android/src/main/java/com/rnmaps/fabric/JSONUtil.java +86 -0
  44. package/android/src/main/java/com/rnmaps/fabric/MapViewManager.java +619 -0
  45. package/android/src/main/java/com/rnmaps/fabric/MarkerManager.java +258 -0
  46. package/android/src/main/java/com/rnmaps/fabric/NativeAirMapsModule.java +235 -2
  47. package/android/src/main/java/com/rnmaps/fabric/OverlayManager.java +95 -0
  48. package/android/src/main/java/com/rnmaps/fabric/PolygonManager.java +89 -0
  49. package/android/src/main/java/com/rnmaps/fabric/PolylineManager.java +121 -0
  50. package/android/src/main/java/com/rnmaps/fabric/event/OnCalloutPressEvent.java +25 -0
  51. package/android/src/main/java/com/rnmaps/fabric/event/OnDeselectEvent.java +28 -0
  52. package/android/src/main/java/com/rnmaps/fabric/event/OnDoublePressEvent.java +27 -0
  53. package/android/src/main/java/com/rnmaps/fabric/event/OnDragEndEvent.java +28 -0
  54. package/android/src/main/java/com/rnmaps/fabric/event/OnDragEvent.java +28 -0
  55. package/android/src/main/java/com/rnmaps/fabric/event/OnDragStartEvent.java +28 -0
  56. package/android/src/main/java/com/rnmaps/fabric/event/OnIndoorBuildingFocusedEvent.java +28 -0
  57. package/android/src/main/java/com/rnmaps/fabric/event/OnIndoorLevelActivatedEvent.java +28 -0
  58. package/android/src/main/java/com/rnmaps/fabric/event/OnKmlReadyEvent.java +28 -0
  59. package/android/src/main/java/com/rnmaps/fabric/event/OnLongPressEvent.java +28 -0
  60. package/android/src/main/java/com/rnmaps/fabric/event/OnMapLoadedEvent.java +29 -0
  61. package/android/src/main/java/com/rnmaps/fabric/event/OnMapReadyEvent.java +29 -0
  62. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDeselectEvent.java +28 -0
  63. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragEndEvent.java +28 -0
  64. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragEvent.java +28 -0
  65. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragStartEvent.java +28 -0
  66. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerPressEvent.java +28 -0
  67. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerSelectEvent.java +28 -0
  68. package/android/src/main/java/com/rnmaps/fabric/event/OnPanDragEvent.java +28 -0
  69. package/android/src/main/java/com/rnmaps/fabric/event/OnPoiClickEvent.java +27 -0
  70. package/android/src/main/java/com/rnmaps/fabric/event/OnPressEvent.java +27 -0
  71. package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeCompleteEvent.java +30 -0
  72. package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeEvent.java +48 -0
  73. package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeStartEvent.java +33 -0
  74. package/android/src/main/java/com/rnmaps/fabric/event/OnSelectEvent.java +28 -0
  75. package/android/src/main/java/com/rnmaps/fabric/event/OnUserLocationChangeEvent.java +28 -0
  76. package/android/src/main/java/com/rnmaps/maps/MapAirModulePackage.java +38 -2
  77. package/android/src/main/java/com/rnmaps/maps/MapCallout.java +18 -0
  78. package/android/src/main/java/com/rnmaps/maps/MapCircle.java +24 -0
  79. package/android/src/main/java/com/rnmaps/maps/MapManager.java +14 -14
  80. package/android/src/main/java/com/rnmaps/maps/MapMarker.java +79 -3
  81. package/android/src/main/java/com/rnmaps/maps/MapModule.java +206 -206
  82. package/android/src/main/java/com/rnmaps/maps/MapOverlay.java +267 -151
  83. package/android/src/main/java/com/rnmaps/maps/MapPolygon.java +31 -1
  84. package/android/src/main/java/com/rnmaps/maps/MapPolyline.java +207 -141
  85. package/android/src/main/java/com/rnmaps/maps/MapPolylineManager.java +1 -16
  86. package/android/src/main/java/com/rnmaps/maps/MapView.java +1653 -1337
  87. package/ios/AirGoogleMaps/AIRGoogleMap.h +1 -0
  88. package/ios/AirGoogleMaps/AIRGoogleMap.m +106 -58
  89. package/ios/AirGoogleMaps/AIRGoogleMapCircle.m +23 -11
  90. package/ios/AirGoogleMaps/AIRGoogleMapManager.m +3 -1
  91. package/ios/AirGoogleMaps/AIRGoogleMapMarker.h +2 -0
  92. package/ios/AirGoogleMaps/AIRGoogleMapMarker.m +347 -243
  93. package/ios/AirGoogleMaps/AIRGoogleMapPolygon.h +2 -1
  94. package/ios/AirGoogleMaps/AIRGoogleMapPolygon.m +30 -0
  95. package/ios/AirGoogleMaps/AIRGoogleMapPolyline.h +0 -1
  96. package/ios/AirGoogleMaps/AIRGoogleMapPolyline.m +0 -7
  97. package/ios/AirGoogleMaps/AIRGoogleMapWMSTile.h +1 -1
  98. package/ios/AirGoogleMaps/AIRGoogleMapWMSTile.m +2 -2
  99. package/ios/AirGoogleMaps/RCTConvert+GMSMapViewType.m +2 -0
  100. package/ios/AirGoogleMaps/RNMapsGoogleMapView.mm +197 -61
  101. package/ios/AirGoogleMaps/RNMapsGooglePolygonView.h +26 -0
  102. package/ios/AirGoogleMaps/RNMapsGooglePolygonView.mm +215 -0
  103. package/ios/AirGoogleMaps/RNMapsGooglePolygonViewManager.mm +25 -0
  104. package/ios/AirMaps/AIRMap.h +2 -1
  105. package/ios/AirMaps/AIRMap.m +227 -236
  106. package/ios/AirMaps/AIRMapManager.m +6 -0
  107. package/ios/AirMaps/AIRMapMarker.h +1 -0
  108. package/ios/AirMaps/AIRMapMarker.m +165 -103
  109. package/ios/AirMaps/Callout/SMCalloutView.m +1 -1
  110. package/ios/AirMaps/RNMapsAirModule.h +1 -1
  111. package/ios/AirMaps/RNMapsAirModule.mm +4 -3
  112. package/ios/AirMaps/RNMapsAirModuleDelegate.h +24 -0
  113. package/ios/AirMaps/RNMapsHostVewDelegate.h +17 -0
  114. package/ios/AirMaps/RNMapsMapView.mm +336 -307
  115. package/ios/AirMaps/RNMapsMarkerView.h +24 -0
  116. package/ios/AirMaps/RNMapsMarkerView.mm +427 -0
  117. package/ios/AirMaps/RNMapsMarkerViewManager.mm +21 -0
  118. package/ios/AirMaps/UIView +AirMap.m +20 -0
  119. package/ios/AirMaps/UIView+AirMap.h +11 -0
  120. package/ios/AirMaps.xcodeproj/project.pbxproj +60 -0
  121. package/ios/generated/RCTAppDependencyProvider.h +25 -0
  122. package/ios/generated/RCTAppDependencyProvider.mm +55 -0
  123. package/ios/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
  124. package/ios/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
  125. package/ios/generated/RCTThirdPartyComponentsProvider.h +16 -0
  126. package/ios/generated/RCTThirdPartyComponentsProvider.mm +26 -0
  127. package/ios/generated/RNMapsSpecs/ComponentDescriptors.cpp +29 -0
  128. package/ios/generated/RNMapsSpecs/ComponentDescriptors.h +31 -0
  129. package/ios/generated/RNMapsSpecs/EventEmitters.cpp +984 -0
  130. package/ios/generated/RNMapsSpecs/EventEmitters.h +853 -0
  131. package/ios/generated/RNMapsSpecs/Props.cpp +193 -0
  132. package/ios/generated/RNMapsSpecs/Props.h +1223 -0
  133. package/ios/generated/RNMapsSpecs/RCTComponentViewHelpers.h +603 -0
  134. package/ios/generated/RNMapsSpecs/RNMapsSpecs-generated.mm +92 -0
  135. package/ios/generated/RNMapsSpecs/RNMapsSpecs.h +137 -0
  136. package/ios/generated/RNMapsSpecs/ShadowNodes.cpp +24 -0
  137. package/ios/generated/RNMapsSpecs/ShadowNodes.h +109 -0
  138. package/ios/generated/RNMapsSpecs/States.cpp +16 -0
  139. package/ios/generated/RNMapsSpecs/States.h +113 -0
  140. package/ios/generated/RNMapsSpecsJSI-generated.cpp +74 -0
  141. package/ios/generated/RNMapsSpecsJSI.h +268 -0
  142. package/ios/generated/ReactAppDependencyProvider.podspec +34 -0
  143. package/ios/generated/module.modulemap +4 -0
  144. package/ios/generated/react-native-maps-generated-umbrella.h +14 -0
  145. package/lib/MapCircle.d.ts +1 -1
  146. package/lib/MapHeatmap.d.ts +2 -2
  147. package/lib/MapHeatmap.js +1 -1
  148. package/lib/MapMarker.d.ts +16 -3
  149. package/lib/MapMarker.js +58 -9
  150. package/lib/MapMarkerNativeComponent.js +0 -2
  151. package/lib/MapOverlay.d.ts +1 -0
  152. package/lib/MapOverlay.js +21 -9
  153. package/lib/MapPolygon.d.ts +1 -1
  154. package/lib/MapPolyline.d.ts +7 -7
  155. package/lib/MapView.d.ts +15 -27
  156. package/lib/MapView.js +109 -124
  157. package/lib/MapView.types.d.ts +1 -1
  158. package/lib/createFabricMap.d.ts +1 -0
  159. package/lib/createFabricMap.js +17 -4
  160. package/lib/decorateMapComponent.js +40 -0
  161. package/lib/specs/NativeAirMapsModule.d.ts +2 -2
  162. package/lib/specs/NativeComponentCallout.d.ts +46 -0
  163. package/lib/specs/NativeComponentCallout.js +9 -0
  164. package/lib/specs/NativeComponentCircle.d.ts +74 -0
  165. package/lib/specs/NativeComponentCircle.js +7 -0
  166. package/lib/specs/NativeComponentGoogleMapView.d.ts +15 -15
  167. package/lib/specs/NativeComponentGoogleMapView.js +1 -0
  168. package/lib/specs/NativeComponentGooglePolygon.d.ts +75 -0
  169. package/lib/specs/NativeComponentGooglePolygon.js +7 -0
  170. package/lib/specs/NativeComponentMapView.d.ts +28 -36
  171. package/lib/specs/NativeComponentMapView.js +2 -3
  172. package/lib/specs/NativeComponentMarker.d.ts +258 -0
  173. package/lib/specs/NativeComponentMarker.js +19 -0
  174. package/lib/specs/NativeComponentOverlay.d.ts +67 -0
  175. package/lib/specs/NativeComponentOverlay.js +7 -0
  176. package/lib/specs/NativeComponentPolyline.d.ts +101 -0
  177. package/lib/specs/NativeComponentPolyline.js +7 -0
  178. package/package.json +27 -21
  179. package/react-native-maps.podspec +61 -16
@@ -0,0 +1,77 @@
1
+ package com.rnmaps.fabric;
2
+
3
+
4
+ import androidx.annotation.Nullable;
5
+
6
+ import com.facebook.react.bridge.ReactApplicationContext;
7
+ import com.facebook.react.module.annotations.ReactModule;
8
+ import com.facebook.react.uimanager.LayoutShadowNode;
9
+ import com.facebook.react.uimanager.ThemedReactContext;
10
+ import com.facebook.react.uimanager.ViewGroupManager;
11
+ import com.facebook.react.uimanager.ViewManagerDelegate;
12
+ import com.facebook.react.viewmanagers.RNMapsCalloutManagerDelegate;
13
+ import com.facebook.react.viewmanagers.RNMapsCalloutManagerInterface;
14
+ import com.rnmaps.maps.MapCallout;
15
+ import com.rnmaps.maps.SizeReportingShadowNode;
16
+
17
+ import java.util.HashMap;
18
+ import java.util.Map;
19
+
20
+ @ReactModule(name = CalloutManager.REACT_CLASS)
21
+ public class CalloutManager extends ViewGroupManager<MapCallout> implements RNMapsCalloutManagerInterface<MapCallout> {
22
+
23
+ public CalloutManager(ReactApplicationContext context){
24
+ super(context);
25
+ }
26
+ private final RNMapsCalloutManagerDelegate<MapCallout, CalloutManager> delegate =
27
+ new RNMapsCalloutManagerDelegate<>(this);
28
+
29
+ @Override
30
+ public ViewManagerDelegate<MapCallout> getDelegate() {
31
+ return delegate;
32
+ }
33
+
34
+ @Override
35
+ public String getName() {
36
+ return REACT_CLASS;
37
+ }
38
+
39
+ @Override
40
+ public MapCallout createViewInstance(ThemedReactContext context) {
41
+ return new MapCallout(context);
42
+ }
43
+
44
+
45
+ public static final String REACT_CLASS = "RNMapsCallout";
46
+
47
+ @Nullable
48
+ @Override
49
+ public Map<String, Object> getExportedCustomBubblingEventTypeConstants() {
50
+ return MapCallout.getExportedCustomBubblingEventTypeConstants();
51
+ }
52
+
53
+ @Nullable
54
+ @Override
55
+ public Map<String, Object> getExportedCustomDirectEventTypeConstants() {
56
+ return new HashMap<>();
57
+ }
58
+
59
+
60
+ @Override
61
+ public void setAlphaHitTest(MapCallout view, boolean value) {
62
+ /// do nothing
63
+ }
64
+
65
+ @Override
66
+ public void setTooltip(MapCallout view, boolean value) {
67
+ view.setTooltip(value);
68
+ }
69
+ @Override
70
+ public LayoutShadowNode createShadowNodeInstance() {
71
+ // we use a custom shadow node that emits the width/height of the view
72
+ // after layout with the updateExtraData method. Without this, we can't generate
73
+ // a bitmap of the appropriate width/height of the rendered view.
74
+ return new SizeReportingShadowNode();
75
+ }
76
+
77
+ }
@@ -0,0 +1,94 @@
1
+ package com.rnmaps.fabric;
2
+
3
+
4
+ import androidx.annotation.Nullable;
5
+
6
+ import com.facebook.react.bridge.ReactApplicationContext;
7
+ import com.facebook.react.bridge.ReadableMap;
8
+ import com.facebook.react.module.annotations.ReactModule;
9
+ import com.facebook.react.uimanager.ThemedReactContext;
10
+ import com.facebook.react.uimanager.ViewGroupManager;
11
+ import com.facebook.react.uimanager.ViewManagerDelegate;
12
+ import com.facebook.react.viewmanagers.RNMapsCircleManagerDelegate;
13
+ import com.facebook.react.viewmanagers.RNMapsCircleManagerInterface;
14
+ import com.rnmaps.maps.MapCircle;
15
+
16
+ import java.util.HashMap;
17
+ import java.util.Map;
18
+
19
+ @ReactModule(name = CircleManager.REACT_CLASS)
20
+ public class CircleManager extends ViewGroupManager<MapCircle> implements RNMapsCircleManagerInterface<MapCircle> {
21
+ public CircleManager(ReactApplicationContext context) {
22
+ super(context);
23
+ }
24
+
25
+ private final RNMapsCircleManagerDelegate<MapCircle, CircleManager> delegate =
26
+ new RNMapsCircleManagerDelegate<>(this);
27
+
28
+ @Override
29
+ public ViewManagerDelegate<MapCircle> getDelegate() {
30
+ return delegate;
31
+ }
32
+
33
+ @Override
34
+ public String getName() {
35
+ return REACT_CLASS;
36
+ }
37
+
38
+ @Override
39
+ public MapCircle createViewInstance(ThemedReactContext context) {
40
+ return new MapCircle(context);
41
+ }
42
+
43
+
44
+ public static final String REACT_CLASS = "RNMapsCircle";
45
+
46
+ @Nullable
47
+ @Override
48
+ public Map<String, Object> getExportedCustomBubblingEventTypeConstants() {
49
+ return MapCircle.getExportedCustomBubblingEventTypeConstants();
50
+ }
51
+
52
+ @Nullable
53
+ @Override
54
+ public Map<String, Object> getExportedCustomDirectEventTypeConstants() {
55
+ return new HashMap<>();
56
+ }
57
+
58
+
59
+
60
+ @Override
61
+ public void setZIndex(MapCircle view, float value) {
62
+ view.setZIndex(value);
63
+ }
64
+
65
+ @Override
66
+ public void setCenter(MapCircle view, @Nullable ReadableMap value) {
67
+ view.setCenter(value);
68
+ }
69
+
70
+ @Override
71
+ public void setFillColor(MapCircle view, @Nullable Integer value) {
72
+ view.setFillColor(value);
73
+ }
74
+
75
+ @Override
76
+ public void setRadius(MapCircle view, double value) {
77
+ view.setRadius(value);
78
+ }
79
+
80
+ @Override
81
+ public void setStrokeColor(MapCircle view, @Nullable Integer value) {
82
+ view.setStrokeColor(value);
83
+ }
84
+
85
+ @Override
86
+ public void setStrokeWidth(MapCircle view, float value) {
87
+ view.setStrokeWidth(value);
88
+ }
89
+
90
+ @Override
91
+ public void setTappable(MapCircle view, boolean value) {
92
+ view.setTappable(value);
93
+ }
94
+ }
@@ -0,0 +1,86 @@
1
+ package com.rnmaps.fabric;
2
+
3
+ import com.facebook.react.bridge.Arguments;
4
+ import com.facebook.react.bridge.WritableArray;
5
+ import com.facebook.react.bridge.WritableMap;
6
+
7
+ import org.json.JSONArray;
8
+ import org.json.JSONException;
9
+ import org.json.JSONObject;
10
+
11
+ import java.util.Iterator;
12
+
13
+ public class JSONUtil {
14
+ public static WritableMap convertJsonToWritable(JSONObject jsonObject) throws JSONException {
15
+ WritableMap map = Arguments.createMap();
16
+ Iterator<String> iterator = jsonObject.keys();
17
+
18
+ while (iterator.hasNext()) {
19
+ String key = iterator.next();
20
+ Object value = jsonObject.get(key);
21
+
22
+ if (value == JSONObject.NULL) {
23
+ map.putNull(key);
24
+ }
25
+ // Check primitive types first
26
+ else if (value instanceof Integer) {
27
+ map.putInt(key, jsonObject.getInt(key));
28
+ }
29
+ else if (value instanceof Long) {
30
+ map.putDouble(key, ((Long) value).doubleValue());
31
+ }
32
+ else if (value instanceof Double) {
33
+ map.putDouble(key, jsonObject.getDouble(key));
34
+ }
35
+ else if (value instanceof Boolean) {
36
+ map.putBoolean(key, jsonObject.getBoolean(key));
37
+ }
38
+ else if (value instanceof String) {
39
+ map.putString(key, jsonObject.getString(key));
40
+ }
41
+ // Check complex types
42
+ else if (value instanceof JSONObject) {
43
+ map.putMap(key, convertJsonToWritable(jsonObject.getJSONObject(key)));
44
+ }
45
+ else if (value instanceof JSONArray) {
46
+ map.putArray(key, convertJsonArrayToWritable(jsonObject.getJSONArray(key)));
47
+ }
48
+ }
49
+
50
+ return map;
51
+ }
52
+ public static WritableArray convertJsonArrayToWritable(JSONArray jsonArray) throws JSONException {
53
+ WritableArray array = Arguments.createArray();
54
+
55
+ for (int i = 0; i < jsonArray.length(); i++) {
56
+ Object value = jsonArray.get(i);
57
+
58
+ if (value == JSONObject.NULL) {
59
+ array.pushNull();
60
+ }
61
+ else if (value instanceof Integer) {
62
+ array.pushInt((Integer) value);
63
+ }
64
+ else if (value instanceof Long) {
65
+ array.pushDouble(((Long) value).doubleValue());
66
+ }
67
+ else if (value instanceof Double) {
68
+ array.pushDouble((Double) value);
69
+ }
70
+ else if (value instanceof Boolean) {
71
+ array.pushBoolean((Boolean) value);
72
+ }
73
+ else if (value instanceof String) {
74
+ array.pushString((String) value);
75
+ }
76
+ else if (value instanceof JSONObject) {
77
+ array.pushMap(convertJsonToWritable((JSONObject) value));
78
+ }
79
+ else if (value instanceof JSONArray) {
80
+ array.pushArray(convertJsonArrayToWritable((JSONArray) value));
81
+ }
82
+ }
83
+
84
+ return array;
85
+ }
86
+ }