Skip to content

Commit ee46cf7

Browse files
fix(example): fix fatal hangs and ANR crash buttons (#1154)
Jira ID: APM-19536
1 parent 4e016b1 commit ee46cf7

File tree

1 file changed

+22
-23
lines changed

1 file changed

+22
-23
lines changed

examples/default/android/app/src/main/java/com/instabug/react/example/RNInstabugExampleCrashReportingModule.java

Lines changed: 22 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,20 @@
11
package com.instabug.react.example;
22

3-
import static com.instabug.reactlibrary.utils.InstabugUtil.getMethod;
4-
5-
import com.facebook.react.bridge.Promise;
3+
import android.content.Context;
4+
import android.os.Handler;
65
import com.facebook.react.bridge.ReactApplicationContext;
76
import com.facebook.react.bridge.ReactContextBaseJavaModule;
87
import com.facebook.react.bridge.ReactMethod;
98
import com.instabug.crash.CrashReporting;
109
import com.instabug.crash.models.IBGNonFatalException;
11-
import com.instabug.library.Feature;
10+
import com.instabug.library.Instabug;
1211
import com.instabug.react.example.nativeLibs.CppNativeLib;
13-
import com.instabug.reactlibrary.RNInstabugReactnativeModule;
14-
import com.instabug.reactlibrary.utils.MainThreadHandler;
15-
16-
import org.json.JSONObject;
1712

18-
import java.lang.reflect.InvocationTargetException;
19-
import java.lang.reflect.Method;
13+
import javax.annotation.Nonnull;
2014
import java.util.ArrayList;
2115
import java.util.List;
2216
import java.util.Random;
2317

24-
import javax.annotation.Nonnull;
25-
import javax.annotation.Nullable;
26-
2718
public class RNInstabugExampleCrashReportingModule extends ReactContextBaseJavaModule {
2819

2920
public RNInstabugExampleCrashReportingModule(ReactApplicationContext reactApplicationContext) {
@@ -51,20 +42,28 @@ public void sendNativeFatalCrash() {
5142

5243
@ReactMethod
5344
public void sendANR() {
54-
try {
55-
Thread.sleep(20000);
56-
} catch (InterruptedException e) {
57-
throw new RuntimeException(e);
58-
}
45+
sendHang(20000);
5946
}
6047

6148
@ReactMethod
6249
public void sendFatalHang() {
63-
try {
64-
Thread.sleep(3000);
65-
} catch (InterruptedException e) {
66-
throw new RuntimeException(e);
67-
}
50+
sendHang(3000);
51+
}
52+
53+
private void sendHang(long duration) {
54+
Context applicationContext = Instabug.getApplicationContext();
55+
if (applicationContext == null)
56+
return;
57+
58+
Handler handler = new Handler(applicationContext.getMainLooper());
59+
60+
handler.post(() -> {
61+
try {
62+
Thread.sleep(duration);
63+
} catch (InterruptedException e) {
64+
throw new RuntimeException(e);
65+
}
66+
});
6867
}
6968

7069
@ReactMethod

0 commit comments

Comments
 (0)