11package com .iterable .reactnative ;
22
33import androidx .annotation .NonNull ;
4+ import androidx .annotation .Nullable ;
5+ import com .facebook .react .bridge .Callback ;
46import com .facebook .react .bridge .NativeModule ;
57import com .facebook .react .bridge .Promise ;
68import com .facebook .react .bridge .ReactApplicationContext ;
79import com .facebook .react .bridge .ReactContext ;
810import com .facebook .react .bridge .ReactContextBaseJavaModule ;
911import com .facebook .react .bridge .ReactMethod ;
12+ import com .facebook .react .bridge .ReadableArray ;
13+ import com .facebook .react .bridge .ReadableMap ;
1014import java .util .Map ;
1115import java .util .HashMap ;
1216
1317public class RNIterableAPIModule extends NativeRNIterableAPISpec {
1418 private final ReactApplicationContext reactContext ;
19+ private static RNIterableAPIModuleImpl moduleImpl ;
1520
1621 RNIterableAPIModule (ReactApplicationContext context ) {
1722 super (context );
1823 this .reactContext = context ;
24+ if (moduleImpl == null ) {
25+ moduleImpl = new RNIterableAPIModuleImpl (reactContext );
26+ }
1927 }
2028
2129 @ Override
@@ -26,206 +34,203 @@ public String getName() {
2634
2735 @ Override
2836 public void initializeWithApiKey (String apiKey , ReadableMap configReadableMap , String version , Promise promise ) {
29- RNIterableAPIModuleImpl .initializeWithApiKey (apiKey , configReadableMap , version , promise );
37+ moduleImpl .initializeWithApiKey (apiKey , configReadableMap , version , promise );
3038 }
3139
3240 @ Override
3341 public void initialize2WithApiKey (String apiKey , ReadableMap configReadableMap , String apiEndPointOverride , String version , Promise promise ) {
34- RNIterableAPIModuleImpl .initialize2WithApiKey (apiKey , configReadableMap , apiEndPointOverride , version , promise );
42+ moduleImpl .initialize2WithApiKey (apiKey , configReadableMap , apiEndPointOverride , version , promise );
3543 }
3644
3745 @ Override
3846 public void setEmail (@ Nullable String email , @ Nullable String authToken ) {
39- RNIterableAPIModuleImpl .setEmail (email , authToken );
47+ moduleImpl .setEmail (email , authToken );
4048 }
4149
4250 @ Override
4351 public void updateEmail (String email , @ Nullable String authToken ) {
44- RNIterableAPIModuleImpl .updateEmail (email , authToken );
52+ moduleImpl .updateEmail (email , authToken );
4553 }
4654
4755 @ Override
4856 public void getEmail (Promise promise ) {
49- RNIterableAPIModuleImpl .getEmail (promise );
57+ moduleImpl .getEmail (promise );
5058 }
5159
52- @ Override
5360 public void sampleMethod (String stringArgument , int numberArgument , Callback callback ) {
54- RNIterableAPIModuleImpl .sampleMethod (stringArgument , numberArgument , callback );
61+ moduleImpl .sampleMethod (stringArgument , numberArgument , callback );
5562 }
5663
5764 @ Override
5865 public void setUserId (@ Nullable String userId , @ Nullable String authToken ) {
59- RNIterableAPIModuleImpl .setUserId (userId , authToken );
66+ moduleImpl .setUserId (userId , authToken );
6067 }
6168
6269 @ Override
6370 public void updateUser (ReadableMap dataFields , boolean mergeNestedObjects ) {
64- RNIterableAPIModuleImpl .updateUser (dataFields , mergeNestedObjects );
71+ moduleImpl .updateUser (dataFields , mergeNestedObjects );
6572 }
6673
6774 @ Override
6875 public void getUserId (Promise promise ) {
69- RNIterableAPIModuleImpl .getUserId (promise );
76+ moduleImpl .getUserId (promise );
7077 }
7178
7279 @ Override
7380 public void trackEvent (String name , ReadableMap dataFields ) {
74- RNIterableAPIModuleImpl .trackEvent (name , dataFields );
81+ moduleImpl .trackEvent (name , dataFields );
7582 }
7683
7784 @ Override
7885 public void updateCart (ReadableArray items ) {
79- RNIterableAPIModuleImpl .updateCart (items );
86+ moduleImpl .updateCart (items );
8087 }
8188
8289 @ Override
8390 public void trackPurchase (double total , ReadableArray items , ReadableMap dataFields ) {
84- RNIterableAPIModuleImpl .trackPurchase (total , items , dataFields );
91+ moduleImpl .trackPurchase (total , items , dataFields );
8592 }
8693
8794 @ Override
8895 public void trackPushOpenWithCampaignId (double campaignId , Double templateId , String messageId , boolean appAlreadyRunning , ReadableMap dataFields ) {
89- RNIterableAPIModuleImpl .trackPushOpenWithCampaignId (campaignId , templateId , messageId , appAlreadyRunning , dataFields );
96+ moduleImpl .trackPushOpenWithCampaignId (campaignId , templateId , messageId , appAlreadyRunning , dataFields );
9097 }
9198
9299 @ Override
93100 public void updateSubscriptions (ReadableArray emailListIds , ReadableArray unsubscribedChannelIds , ReadableArray unsubscribedMessageTypeIds , ReadableArray subscribedMessageTypeIds , double campaignId , double templateId ) {
94- RNIterableAPIModuleImpl .updateSubscriptions (emailListIds , unsubscribedChannelIds , unsubscribedMessageTypeIds , subscribedMessageTypeIds , campaignId , templateId );
101+ moduleImpl .updateSubscriptions (emailListIds , unsubscribedChannelIds , unsubscribedMessageTypeIds , subscribedMessageTypeIds , campaignId , templateId );
95102 }
96103
97104 @ Override
98105 public void showMessage (String messageId , boolean consume , final Promise promise ) {
99- RNIterableAPIModuleImpl .showMessage (messageId , consume , promise );
106+ moduleImpl .showMessage (messageId , consume , promise );
100107 }
101108
102109 @ Override
103110 public void setReadForMessage (String messageId , boolean read ) {
104- RNIterableAPIModuleImpl .setReadForMessage (messageId , read );
111+ moduleImpl .setReadForMessage (messageId , read );
105112 }
106113
107114 @ Override
108115 public void removeMessage (String messageId , double location , double deleteSource ) {
109- RNIterableAPIModuleImpl .removeMessage (messageId , location , deleteSource );
116+ moduleImpl .removeMessage (messageId , location , deleteSource );
110117 }
111118
112119 @ Override
113120 public void getHtmlInAppContentForMessage (String messageId , final Promise promise ) {
114- RNIterableAPIModuleImpl .getHtmlInAppContentForMessage (messageId , promise );
121+ moduleImpl .getHtmlInAppContentForMessage (messageId , promise );
115122 }
116123
117124 @ Override
118125 public void getAttributionInfo (Promise promise ) {
119- RNIterableAPIModuleImpl .getAttributionInfo (promise );
126+ moduleImpl .getAttributionInfo (promise );
120127 }
121128
122129 @ Override
123130 public void setAttributionInfo (ReadableMap attributionInfoReadableMap ) {
124- RNIterableAPIModuleImpl .setAttributionInfo (attributionInfoReadableMap );
131+ moduleImpl .setAttributionInfo (attributionInfoReadableMap );
125132 }
126133
127134 @ Override
128135 public void getLastPushPayload (Promise promise ) {
129- RNIterableAPIModuleImpl .getLastPushPayload (promise );
136+ moduleImpl .getLastPushPayload (promise );
130137 }
131138
132139 @ Override
133140 public void disableDeviceForCurrentUser () {
134- RNIterableAPIModuleImpl .disableDeviceForCurrentUser ();
141+ moduleImpl .disableDeviceForCurrentUser ();
135142 }
136143
137144 @ Override
138145 public void handleAppLink (String uri , Promise promise ) {
139- RNIterableAPIModuleImpl .handleAppLink (uri , promise );
146+ moduleImpl .handleAppLink (uri , promise );
140147 }
141148
142149 @ Override
143150 public void trackInAppOpen (String messageId , double location ) {
144- RNIterableAPIModuleImpl .trackInAppOpen (messageId , location );
151+ moduleImpl .trackInAppOpen (messageId , location );
145152 }
146153
147154 @ Override
148155 public void trackInAppClick (String messageId , double location , String clickedUrl ) {
149- RNIterableAPIModuleImpl .trackInAppClick (messageId , location , clickedUrl );
156+ moduleImpl .trackInAppClick (messageId , location , clickedUrl );
150157 }
151158
152159 @ Override
153160 public void trackInAppClose (String messageId , double location , double source , @ Nullable String clickedUrl ) {
154- RNIterableAPIModuleImpl .trackInAppClose (messageId , location , source , clickedUrl );
161+ moduleImpl .trackInAppClose (messageId , location , source , clickedUrl );
155162 }
156163
157164 @ Override
158165 public void inAppConsume (String messageId , double location , double source ) {
159- RNIterableAPIModuleImpl .inAppConsume (messageId , location , source );
166+ moduleImpl .inAppConsume (messageId , location , source );
160167 }
161168
162169 @ Override
163170 public void getInAppMessages (Promise promise ) {
164- RNIterableAPIModuleImpl .getInAppMessages (promise );
171+ moduleImpl .getInAppMessages (promise );
165172 }
166173
167174 @ Override
168175 public void getInboxMessages (Promise promise ) {
169- RNIterableAPIModuleImpl .getInboxMessages (promise );
176+ moduleImpl .getInboxMessages (promise );
170177 }
171178
172179 @ Override
173180 public void getUnreadInboxMessagesCount (Promise promise ) {
174- RNIterableAPIModuleImpl .getUnreadInboxMessagesCount (promise );
181+ moduleImpl .getUnreadInboxMessagesCount (promise );
175182 }
176183
177184 @ Override
178185 public void setInAppShowResponse (double number ) {
179- RNIterableAPIModuleImpl .setInAppShowResponse (number );
186+ moduleImpl .setInAppShowResponse (number );
180187 }
181188
182189 @ Override
183190 public void setAutoDisplayPaused (final boolean paused ) {
184- RNIterableAPIModuleImpl .setAutoDisplayPaused (paused );
191+ moduleImpl .setAutoDisplayPaused (paused );
185192 }
186193
187194 @ Override
188195 public void wakeApp () {
189- RNIterableAPIModuleImpl .wakeApp ();
196+ moduleImpl .wakeApp ();
190197 }
191198
192199 @ Override
193200 public void startSession (ReadableArray visibleRows ) {
194- RNIterableAPIModuleImpl .startSession (visibleRows );
201+ moduleImpl .startSession (visibleRows );
195202 }
196203
197204 @ Override
198205 public void endSession () {
199- RNIterableAPIModuleImpl .endSession ();
206+ moduleImpl .endSession ();
200207 }
201208
202209 @ Override
203210 public void updateVisibleRows (ReadableArray visibleRows ) {
204- RNIterableAPIModuleImpl .updateVisibleRows (visibleRows );
211+ moduleImpl .updateVisibleRows (visibleRows );
205212 }
206213
207214 @ Override
208215 public void addListener (String eventName ) {
209- RNIterableAPIModuleImpl .addListener (eventName );
216+ moduleImpl .addListener (eventName );
210217 }
211218
212219 @ Override
213220 public void removeListeners (double count ) {
214- RNIterableAPIModuleImpl .removeListeners (count );
221+ moduleImpl .removeListeners (count );
215222 }
216223
217224 @ Override
218225 public void passAlongAuthToken (String authToken ) {
219- RNIterableAPIModuleImpl .passAlongAuthToken (authToken );
226+ moduleImpl .passAlongAuthToken (authToken );
220227 }
221228
222- @ Override
223229 public void sendEvent (@ NonNull String eventName , @ Nullable Object eventData ) {
224- RNIterableAPIModuleImpl .sendEvent (eventName , eventData );
230+ moduleImpl .sendEvent (eventName , eventData );
225231 }
226232
227- @ Override
228233 public void onInboxUpdated () {
229- RNIterableAPIModuleImpl .onInboxUpdated ();
234+ moduleImpl .onInboxUpdated ();
230235 }
231236}
0 commit comments