11package com .iterable .reactnative ;
22
3+ import androidx .annotation .NonNull ;
4+ import androidx .annotation .Nullable ;
5+ import com .facebook .react .bridge .Callback ;
36import com .facebook .react .bridge .NativeModule ;
47import com .facebook .react .bridge .Promise ;
58import com .facebook .react .bridge .ReactApplicationContext ;
69import com .facebook .react .bridge .ReactContext ;
710import com .facebook .react .bridge .ReactContextBaseJavaModule ;
811import com .facebook .react .bridge .ReactMethod ;
12+ import com .facebook .react .bridge .ReadableArray ;
13+ import com .facebook .react .bridge .ReadableMap ;
914import java .util .Map ;
1015import java .util .HashMap ;
1116
1217public class RNIterableAPIModule extends ReactContextBaseJavaModule {
1318 private final ReactApplicationContext reactContext ;
19+ private static RNIterableAPIModuleImpl moduleImpl ;
1420
1521 RNIterableAPIModule (ReactApplicationContext context ) {
1622 super (context );
1723 this .reactContext = context ;
24+ if (moduleImpl == null ) {
25+ moduleImpl = new RNIterableAPIModuleImpl (reactContext );
26+ }
1827 }
1928
2029 @ Override
@@ -24,206 +33,205 @@ public String getName() {
2433
2534 @ ReactMethod
2635 public void initializeWithApiKey (String apiKey , ReadableMap configReadableMap , String version , Promise promise ) {
27- RNIterableAPIModuleImpl .initializeWithApiKey (apiKey , configReadableMap , version , promise );
36+ moduleImpl .initializeWithApiKey (apiKey , configReadableMap , version , promise );
2837 }
2938
3039 @ ReactMethod
3140 public void initialize2WithApiKey (String apiKey , ReadableMap configReadableMap , String apiEndPointOverride , String version , Promise promise ) {
32- RNIterableAPIModuleImpl .initialize2WithApiKey (apiKey , configReadableMap , apiEndPointOverride , version , promise );
41+ moduleImpl .initialize2WithApiKey (apiKey , configReadableMap , apiEndPointOverride , version , promise );
3342 }
3443
3544 @ ReactMethod
3645 public void setEmail (@ Nullable String email , @ Nullable String authToken ) {
37- RNIterableAPIModuleImpl .setEmail (email , authToken );
46+ moduleImpl .setEmail (email , authToken );
3847 }
3948
4049 @ ReactMethod
4150 public void updateEmail (String email , @ Nullable String authToken ) {
42- RNIterableAPIModuleImpl .updateEmail (email , authToken );
51+ moduleImpl .updateEmail (email , authToken );
4352 }
4453
4554 @ ReactMethod
4655 public void getEmail (Promise promise ) {
47- RNIterableAPIModuleImpl .getEmail (promise );
56+ moduleImpl .getEmail (promise );
4857 }
4958
5059 @ ReactMethod
5160 public void sampleMethod (String stringArgument , int numberArgument , Callback callback ) {
52- RNIterableAPIModuleImpl .sampleMethod (stringArgument , numberArgument , callback );
61+ moduleImpl .sampleMethod (stringArgument , numberArgument , callback );
5362 }
5463
5564 @ ReactMethod
5665 public void setUserId (@ Nullable String userId , @ Nullable String authToken ) {
57- RNIterableAPIModuleImpl .setUserId (userId , authToken );
66+ moduleImpl .setUserId (userId , authToken );
5867 }
5968
6069 @ ReactMethod
6170 public void updateUser (ReadableMap dataFields , boolean mergeNestedObjects ) {
62- RNIterableAPIModuleImpl .updateUser (dataFields , mergeNestedObjects );
71+ moduleImpl .updateUser (dataFields , mergeNestedObjects );
6372 }
6473
6574 @ ReactMethod
6675 public void getUserId (Promise promise ) {
67- RNIterableAPIModuleImpl .getUserId (promise );
76+ moduleImpl .getUserId (promise );
6877 }
6978
7079 @ ReactMethod
7180 public void trackEvent (String name , ReadableMap dataFields ) {
72- RNIterableAPIModuleImpl .trackEvent (name , dataFields );
81+ moduleImpl .trackEvent (name , dataFields );
7382 }
7483
7584 @ ReactMethod
7685 public void updateCart (ReadableArray items ) {
77- RNIterableAPIModuleImpl .updateCart (items );
86+ moduleImpl .updateCart (items );
7887 }
7988
8089 @ ReactMethod
8190 public void trackPurchase (double total , ReadableArray items , ReadableMap dataFields ) {
82- RNIterableAPIModuleImpl .trackPurchase (total , items , dataFields );
91+ moduleImpl .trackPurchase (total , items , dataFields );
8392 }
8493
8594 @ ReactMethod
8695 public void trackPushOpenWithCampaignId (double campaignId , Double templateId , String messageId , boolean appAlreadyRunning , ReadableMap dataFields ) {
87- RNIterableAPIModuleImpl .trackPushOpenWithCampaignId (campaignId , templateId , messageId , appAlreadyRunning , dataFields );
96+ moduleImpl .trackPushOpenWithCampaignId (campaignId , templateId , messageId , appAlreadyRunning , dataFields );
8897 }
8998
9099 @ ReactMethod
91100 public void updateSubscriptions (ReadableArray emailListIds , ReadableArray unsubscribedChannelIds , ReadableArray unsubscribedMessageTypeIds , ReadableArray subscribedMessageTypeIds , double campaignId , double templateId ) {
92- RNIterableAPIModuleImpl .updateSubscriptions (emailListIds , unsubscribedChannelIds , unsubscribedMessageTypeIds , subscribedMessageTypeIds , campaignId , templateId );
101+ moduleImpl .updateSubscriptions (emailListIds , unsubscribedChannelIds , unsubscribedMessageTypeIds , subscribedMessageTypeIds , campaignId , templateId );
93102 }
94103
95104 @ ReactMethod
96105 public void showMessage (String messageId , boolean consume , final Promise promise ) {
97- RNIterableAPIModuleImpl .showMessage (messageId , consume , promise );
106+ moduleImpl .showMessage (messageId , consume , promise );
98107 }
99108
100109 @ ReactMethod
101110 public void setReadForMessage (String messageId , boolean read ) {
102- RNIterableAPIModuleImpl .setReadForMessage (messageId , read );
111+ moduleImpl .setReadForMessage (messageId , read );
103112 }
104113
105114 @ ReactMethod
106115 public void removeMessage (String messageId , double location , double deleteSource ) {
107- RNIterableAPIModuleImpl .removeMessage (messageId , location , deleteSource );
116+ moduleImpl .removeMessage (messageId , location , deleteSource );
108117 }
109118
110119 @ ReactMethod
111120 public void getHtmlInAppContentForMessage (String messageId , final Promise promise ) {
112- RNIterableAPIModuleImpl .getHtmlInAppContentForMessage (messageId , promise );
121+ moduleImpl .getHtmlInAppContentForMessage (messageId , promise );
113122 }
114123
115124 @ ReactMethod
116125 public void getAttributionInfo (Promise promise ) {
117- RNIterableAPIModuleImpl .getAttributionInfo (promise );
126+ moduleImpl .getAttributionInfo (promise );
118127 }
119128
120129 @ ReactMethod
121130 public void setAttributionInfo (ReadableMap attributionInfoReadableMap ) {
122- RNIterableAPIModuleImpl .setAttributionInfo (attributionInfoReadableMap );
131+ moduleImpl .setAttributionInfo (attributionInfoReadableMap );
123132 }
124133
125134 @ ReactMethod
126135 public void getLastPushPayload (Promise promise ) {
127- RNIterableAPIModuleImpl .getLastPushPayload (promise );
136+ moduleImpl .getLastPushPayload (promise );
128137 }
129138
130139 @ ReactMethod
131140 public void disableDeviceForCurrentUser () {
132- RNIterableAPIModuleImpl .disableDeviceForCurrentUser ();
141+ moduleImpl .disableDeviceForCurrentUser ();
133142 }
134143
135144 @ ReactMethod
136145 public void handleAppLink (String uri , Promise promise ) {
137- RNIterableAPIModuleImpl .handleAppLink (uri , promise );
146+ moduleImpl .handleAppLink (uri , promise );
138147 }
139148
140149 @ ReactMethod
141150 public void trackInAppOpen (String messageId , double location ) {
142- RNIterableAPIModuleImpl .trackInAppOpen (messageId , location );
151+ moduleImpl .trackInAppOpen (messageId , location );
143152 }
144153
145154 @ ReactMethod
146155 public void trackInAppClick (String messageId , double location , String clickedUrl ) {
147- RNIterableAPIModuleImpl .trackInAppClick (messageId , location , clickedUrl );
156+ moduleImpl .trackInAppClick (messageId , location , clickedUrl );
148157 }
149158
150159 @ ReactMethod
151160 public void trackInAppClose (String messageId , double location , double source , @ Nullable String clickedUrl ) {
152- RNIterableAPIModuleImpl .trackInAppClose (messageId , location , source , clickedUrl );
161+ moduleImpl .trackInAppClose (messageId , location , source , clickedUrl );
153162 }
154163
155164 @ ReactMethod
156165 public void inAppConsume (String messageId , double location , double source ) {
157- RNIterableAPIModuleImpl .inAppConsume (messageId , location , source );
166+ moduleImpl .inAppConsume (messageId , location , source );
158167 }
159168
160169 @ ReactMethod
161170 public void getInAppMessages (Promise promise ) {
162- RNIterableAPIModuleImpl .getInAppMessages (promise );
171+ moduleImpl .getInAppMessages (promise );
163172 }
164173
165174 @ ReactMethod
166175 public void getInboxMessages (Promise promise ) {
167- RNIterableAPIModuleImpl .getInboxMessages (promise );
176+ moduleImpl .getInboxMessages (promise );
168177 }
169178
170179 @ ReactMethod
171180 public void getUnreadInboxMessagesCount (Promise promise ) {
172- RNIterableAPIModuleImpl .getUnreadInboxMessagesCount (promise );
181+ moduleImpl .getUnreadInboxMessagesCount (promise );
173182 }
174183
175184 @ ReactMethod
176185 public void setInAppShowResponse (double number ) {
177- RNIterableAPIModuleImpl .setInAppShowResponse (number );
186+ moduleImpl .setInAppShowResponse (number );
178187 }
179188
180189 @ ReactMethod
181190 public void setAutoDisplayPaused (final boolean paused ) {
182- RNIterableAPIModuleImpl .setAutoDisplayPaused (paused );
191+ moduleImpl .setAutoDisplayPaused (paused );
183192 }
184193
185194 @ ReactMethod
186195 public void wakeApp () {
187- RNIterableAPIModuleImpl .wakeApp ();
196+ moduleImpl .wakeApp ();
188197 }
189198
190199 @ ReactMethod
191200 public void startSession (ReadableArray visibleRows ) {
192- RNIterableAPIModuleImpl .startSession (visibleRows );
201+ moduleImpl .startSession (visibleRows );
193202 }
194203
195204 @ ReactMethod
196205 public void endSession () {
197- RNIterableAPIModuleImpl .endSession ();
206+ moduleImpl .endSession ();
198207 }
199208
200209 @ ReactMethod
201210 public void updateVisibleRows (ReadableArray visibleRows ) {
202- RNIterableAPIModuleImpl .updateVisibleRows (visibleRows );
211+ moduleImpl .updateVisibleRows (visibleRows );
203212 }
204213
205214 @ ReactMethod
206215 public void addListener (String eventName ) {
207- RNIterableAPIModuleImpl .addListener (eventName );
216+ moduleImpl .addListener (eventName );
208217 }
209218
210219 @ ReactMethod
211220 public void removeListeners (double count ) {
212- RNIterableAPIModuleImpl .removeListeners (count );
221+ moduleImpl .removeListeners (count );
213222 }
214223
215224 @ ReactMethod
216225 public void passAlongAuthToken (String authToken ) {
217- RNIterableAPIModuleImpl .passAlongAuthToken (authToken );
226+ moduleImpl .passAlongAuthToken (authToken );
218227 }
219228
220229 @ ReactMethod
221230 public void sendEvent (@ NonNull String eventName , @ Nullable Object eventData ) {
222- RNIterableAPIModuleImpl .sendEvent (eventName , eventData );
231+ moduleImpl .sendEvent (eventName , eventData );
223232 }
224233
225- @ Override
226234 public void onInboxUpdated () {
227- RNIterableAPIModuleImpl .onInboxUpdated ();
235+ moduleImpl .onInboxUpdated ();
228236 }
229237}
0 commit comments