diff --git a/examples/default/android/app/src/main/java/com/instabug/react/example/RNInstabugExampleCrashReportingModule.java b/examples/default/android/app/src/main/java/com/instabug/react/example/RNInstabugExampleCrashReportingModule.java index 96769ed5dc..4ccb7ad3ce 100644 --- a/examples/default/android/app/src/main/java/com/instabug/react/example/RNInstabugExampleCrashReportingModule.java +++ b/examples/default/android/app/src/main/java/com/instabug/react/example/RNInstabugExampleCrashReportingModule.java @@ -1,29 +1,20 @@ package com.instabug.react.example; -import static com.instabug.reactlibrary.utils.InstabugUtil.getMethod; - -import com.facebook.react.bridge.Promise; +import android.content.Context; +import android.os.Handler; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactMethod; import com.instabug.crash.CrashReporting; import com.instabug.crash.models.IBGNonFatalException; -import com.instabug.library.Feature; +import com.instabug.library.Instabug; import com.instabug.react.example.nativeLibs.CppNativeLib; -import com.instabug.reactlibrary.RNInstabugReactnativeModule; -import com.instabug.reactlibrary.utils.MainThreadHandler; - -import org.json.JSONObject; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; +import javax.annotation.Nonnull; import java.util.ArrayList; import java.util.List; import java.util.Random; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; - public class RNInstabugExampleCrashReportingModule extends ReactContextBaseJavaModule { public RNInstabugExampleCrashReportingModule(ReactApplicationContext reactApplicationContext) { @@ -51,20 +42,28 @@ public void sendNativeFatalCrash() { @ReactMethod public void sendANR() { - try { - Thread.sleep(20000); - } catch (InterruptedException e) { - throw new RuntimeException(e); - } + sendHang(20000); } @ReactMethod public void sendFatalHang() { - try { - Thread.sleep(3000); - } catch (InterruptedException e) { - throw new RuntimeException(e); - } + sendHang(3000); + } + + private void sendHang(long duration) { + Context applicationContext = Instabug.getApplicationContext(); + if (applicationContext == null) + return; + + Handler handler = new Handler(applicationContext.getMainLooper()); + + handler.post(() -> { + try { + Thread.sleep(duration); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + }); } @ReactMethod