Skip to content

Commit bdad0e9

Browse files
🤝 Merge pull request #54 from Instabug/fix/fix_callback_invocations
Fix/fix callback invocations
2 parents 1fc518d + 718dfec commit bdad0e9

File tree

3 files changed

+33
-13
lines changed

3 files changed

+33
-13
lines changed

android/src/main/java/com/instabug/reactlibrary/RNInstabugReactnativeModule.java

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import com.instabug.reactlibrary.utils.MapUtil;
3434

3535
import java.util.ArrayList;
36+
import java.util.Arrays;
3637
import java.util.HashMap;
3738
import java.util.Locale;
3839
import java.util.Map;
@@ -212,10 +213,11 @@ public void dismiss() {
212213
* @param tags
213214
*/
214215
@ReactMethod
215-
public void appendTags(String tags) {
216+
public void appendTags(ReadableArray tags) {
216217
try {
217-
String[] result = tags.split(",");
218-
mInstabug.addTags(result);
218+
Object[] objectArray = ArrayUtil.toArray(tags);
219+
String[] stringArray = Arrays.copyOf(objectArray, objectArray.length, String[].class);
220+
mInstabug.addTags(stringArray);
219221
} catch (Exception e) {
220222
e.printStackTrace();
221223
}
@@ -909,7 +911,7 @@ public void setPreInvocationHandler(final Callback preInvocationHandler) {
909911
Runnable preInvocationRunnable = new Runnable() {
910912
@Override
911913
public void run() {
912-
preInvocationHandler.invoke();
914+
sendEvent(getReactApplicationContext(), "IBGpreInvocationHandler", null);
913915
}
914916
};
915917
mInstabug.setPreInvocation(preInvocationRunnable);
@@ -933,7 +935,7 @@ public void setPreSendingHandler(final Callback preSendingHandler) {
933935
Runnable preSendingRunnable = new Runnable() {
934936
@Override
935937
public void run() {
936-
preSendingHandler.invoke();
938+
sendEvent(getReactApplicationContext(), "IBGpreSendingHandler", null);
937939
}
938940
};
939941
mInstabug.setPreSendingRunnable(preSendingRunnable);
@@ -957,7 +959,10 @@ public void setPostInvocationHandler(final Callback postInvocationHandler) {
957959
mInstabug.setOnSdkDismissedCallback(new OnSdkDismissedCallback() {
958960
@Override
959961
public void onSdkDismissed(DismissType issueState, Bug.Type bugType) {
960-
postInvocationHandler.invoke();
962+
WritableMap params = Arguments.createMap();
963+
params.putString("issueState", issueState.toString());
964+
params.putString("bugType", bugType.toString());
965+
sendEvent(getReactApplicationContext(), "IBGpostInvocationHandler", params);
961966
}
962967
});
963968

@@ -1022,7 +1027,7 @@ public void setWillShowSurveyHandler(final Callback willShowSurveyHandler) {
10221027
Runnable willShowSurveyRunnable = new Runnable() {
10231028
@Override
10241029
public void run() {
1025-
willShowSurveyHandler.invoke();
1030+
sendEvent(getReactApplicationContext(), "IBGWillShowSurvey", null);
10261031
}
10271032
};
10281033
mInstabug.setPreShowingSurveyRunnable(willShowSurveyRunnable);
@@ -1044,7 +1049,7 @@ public void setDidDismissSurveyHandler(final Callback didDismissSurveyHandler) {
10441049
Runnable didDismissSurveyRunnable = new Runnable() {
10451050
@Override
10461051
public void run() {
1047-
didDismissSurveyHandler.invoke();
1052+
sendEvent(getReactApplicationContext(), "IBGDidDismissSurvey", null);
10481053
}
10491054
};
10501055
mInstabug.setAfterShowingSurveyRunnable(didDismissSurveyRunnable);
@@ -1115,7 +1120,7 @@ public void setOnNewMessageHandler(final Callback onNewMessageHandler) {
11151120
Runnable onNewMessageRunnable = new Runnable() {
11161121
@Override
11171122
public void run() {
1118-
onNewMessageHandler.invoke();
1123+
sendEvent(getReactApplicationContext(), "IBGonNewMessageHandler", null);
11191124
}
11201125
};
11211126
mInstabug.setNewMessageHandler(onNewMessageRunnable);

index.js

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,8 @@ module.exports = {
9595
'IBGpreSendingHandler',
9696
preSendingHandler
9797
);
98-
98+
} else {
99+
DeviceEventEmitter.addListener('IBGpreSendingHandler', preSendingHandler);
99100
}
100101

101102
Instabug.setPreSendingHandler(preSendingHandler);
@@ -115,6 +116,8 @@ module.exports = {
115116
'IBGpreInvocationHandler',
116117
preInvocationHandler
117118
);
119+
} else {
120+
DeviceEventEmitter.addListener('IBGpreInvocationHandler', preInvocationHandler);
118121
}
119122

120123
Instabug.setPreInvocationHandler(preInvocationHandler);
@@ -137,6 +140,10 @@ module.exports = {
137140
postInvocationHandler(payload['dismissType'], payload['reportType']);
138141
}
139142
);
143+
} else {
144+
DeviceEventEmitter.addListener('IBGpostInvocationHandler', function(payload) {
145+
postInvocationHandler(payload.issueState, payload.bugType);
146+
});
140147
}
141148

142149
Instabug.setPostInvocationHandler(postInvocationHandler);
@@ -316,7 +323,9 @@ module.exports = {
316323
* @param {color} primaryColor A color to set the UI elements of the SDK to.
317324
*/
318325
setPrimaryColor: function (primaryColor) {
319-
Instabug.setPrimaryColor(primaryColor);
326+
if(Platform.OS == "ios") {
327+
Instabug.setPrimaryColor(primaryColor);
328+
}
320329
},
321330

322331
/**
@@ -398,9 +407,11 @@ module.exports = {
398407
'IBGonNewMessageHandler',
399408
onNewMessageHandler
400409
);
410+
} else {
411+
DeviceEventEmitter.addListener('IBGonNewMessageHandler', onNewMessageHandler);
401412
}
402413

403-
Instabug.setOnNewMessageHandler(onNewMessgaeHandler);
414+
Instabug.setOnNewMessageHandler(onNewMessageHandler);
404415

405416
},
406417

@@ -680,6 +691,8 @@ module.exports = {
680691
'IBGWillShowSurvey',
681692
willShowSurveyHandler
682693
);
694+
} else {
695+
DeviceEventEmitter.addListener('IBGWillShowSurvey', willShowSurveyHandler);
683696
}
684697

685698
Instabug.setWillShowSurveyHandler(willShowSurveyHandler);
@@ -699,6 +712,8 @@ module.exports = {
699712
'IBGDidDismissSurvey',
700713
didDismissSurveyHandler
701714
);
715+
} else {
716+
DeviceEventEmitter.addListener('IBGDidDismissSurvey', didDismissSurveyHandler);
702717
}
703718

704719
Instabug.setDidDismissSurveyHandler(didDismissSurveyHandler);

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
"homepage": "https://github.com/Instabug/instabug-reactnative#readme",
2424
"rnpm": {
2525
"android": {
26-
"packageInstance": "new RNInstabugReactnativePackage.Builder(\"YOUR_ANDROID_APPLICATION_TOKEN\",MainApplication.this)\n.setInvocationEvent(\"shake\")\n.setPrimaryColor(\"#1D82DC\")\n.setFloatingEdge(\"left\")\n.setFloatingButtonOffsetFromTop(250)\n.build()"
26+
"packageInstance": "\t\tnew RNInstabugReactnativePackage.Builder(\"YOUR_ANDROID_APPLICATION_TOKEN\",MainApplication.this)\n\t\t\t\t\t\t\t.setInvocationEvent(\"shake\")\n\t\t\t\t\t\t\t.setPrimaryColor(\"#1D82DC\")\n\t\t\t\t\t\t\t.setFloatingEdge(\"left\")\n\t\t\t\t\t\t\t.setFloatingButtonOffsetFromTop(250)\n\t\t\t\t\t\t\t.build()"
2727
}
2828
}
2929
}

0 commit comments

Comments
 (0)