File tree Expand file tree Collapse file tree 1 file changed +10
-1
lines changed
android/src/main/java/com/geektime/rnonesignalandroid Expand file tree Collapse file tree 1 file changed +10
-1
lines changed Original file line number Diff line number Diff line change @@ -50,6 +50,9 @@ public class RNOneSignal extends ReactContextBaseJavaModule implements Lifecycle
5050 private boolean oneSignalInitDone ;
5151 private static boolean registeredEvents = false ;
5252
53+ //ensure only one callback exists at a given time due to react-native restriction
54+ private Callback pendingGetTagsCallback ;
55+
5356 public RNOneSignal (ReactApplicationContext reactContext ) {
5457 super (reactContext );
5558 mReactApplicationContext = reactContext ;
@@ -142,10 +145,16 @@ public void sendTags(ReadableMap tags) {
142145
143146 @ ReactMethod
144147 public void getTags (final Callback callback ) {
148+ if (pendingGetTagsCallback == null )
149+ pendingGetTagsCallback = callback ;
150+
145151 OneSignal .getTags (new OneSignal .GetTagsHandler () {
146152 @ Override
147153 public void tagsAvailable (JSONObject tags ) {
148- callback .invoke (RNUtils .jsonToWritableMap (tags ));
154+ if (pendingGetTagsCallback != null )
155+ pendingGetTagsCallback .invoke (RNUtils .jsonToWritableMap (tags ));
156+
157+ pendingGetTagsCallback = null ;
149158 }
150159 });
151160 }
You can’t perform that action at this time.
0 commit comments