From 2c394d14408a2b9bbb854413821e9b2400122f10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kry=C5=A1tof=20Wold=C5=99ich?= <31292499+krystofwoldrich@users.noreply.github.com> Date: Wed, 27 Sep 2023 11:38:53 +0200 Subject: [PATCH] feat(android): Add `enableNdk` to rn options (#3304) --- CHANGELOG.md | 1 + .../main/java/io/sentry/react/RNSentryModuleImpl.java | 3 +++ src/js/options.ts | 10 +++++++++- src/js/sdk.tsx | 1 + 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c369ef789e..ac4cbaffd5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - Add Hermes Debug Info flag to React Native Context ([#3290](https://github.com/getsentry/sentry-react-native/pull/3290)) - This flag equals `true` when Hermes Bundle contains Debug Info (Hermes Source Map was not emitted) +- Add `enableNdk` property to ReactNativeOptions for Android. ([#3304](https://github.com/getsentry/sentry-react-native/pull/3304)) ## 5.9.2 diff --git a/android/src/main/java/io/sentry/react/RNSentryModuleImpl.java b/android/src/main/java/io/sentry/react/RNSentryModuleImpl.java index 158847b0ca..1da6d09511 100644 --- a/android/src/main/java/io/sentry/react/RNSentryModuleImpl.java +++ b/android/src/main/java/io/sentry/react/RNSentryModuleImpl.java @@ -185,6 +185,9 @@ public void initNativeSdk(final ReadableMap rnOptions, Promise promise) { if (rnOptions.hasKey("maxQueueSize")) { options.setMaxQueueSize(rnOptions.getInt("maxQueueSize")); } + if (rnOptions.hasKey("enableNdk")) { + options.setEnableNdk(rnOptions.getBoolean("enableNdk")); + } options.setBeforeSend((event, hint) -> { // React native internally throws a JavascriptException diff --git a/src/js/options.ts b/src/js/options.ts index 37bfb8276a..dacd4610cf 100644 --- a/src/js/options.ts +++ b/src/js/options.ts @@ -41,7 +41,15 @@ export interface BaseReactNativeOptions { /** The interval to end a session if the App goes to the background. */ sessionTrackingIntervalMillis?: number; - /** Enable scope sync from Java to NDK on Android */ + /** Enable NDK on Android + * + * @default true + */ + enableNdk?: boolean; + + /** Enable scope sync from Java to NDK on Android + * Only has an effect if `enableNdk` is `true`. + */ enableNdkScopeSync?: boolean; /** When enabled, all the threads are automatically attached to all logged events on Android */ diff --git a/src/js/sdk.tsx b/src/js/sdk.tsx index 4cc6571c49..82915707d7 100644 --- a/src/js/sdk.tsx +++ b/src/js/sdk.tsx @@ -55,6 +55,7 @@ const DEFAULT_OPTIONS: ReactNativeOptions = { maxQueueSize: DEFAULT_BUFFER_SIZE, attachStacktrace: true, enableCaptureFailedRequests: false, + enableNdk: true, }; /**