From f2b44aa28554f3f3679b066e24ae4b5f08da8f8d Mon Sep 17 00:00:00 2001 From: Prayansh Srivastava Date: Fri, 16 Apr 2021 10:32:25 -0700 Subject: [PATCH] fix(android): bump deps and fix config issues --- packages/core/android/build.gradle | 2 +- .../reactnative/core/RNAnalyticsModule.kt | 19 +++++++++++-------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/packages/core/android/build.gradle b/packages/core/android/build.gradle index a1b26baaf..ac18943a0 100644 --- a/packages/core/android/build.gradle +++ b/packages/core/android/build.gradle @@ -39,7 +39,7 @@ repositories { } dependencies { - api 'com.segment.analytics.android:analytics:4.9.1-beta' + api 'com.segment.analytics.android:analytics:4.9.3' api 'com.facebook.react:react-native:+' api "org.jetbrains.kotlin:kotlin-stdlib:${rootProject.ext.has("kotlinVersion") ? rootProject.ext.get("kotlinVersion") : defaultKotlinVersion}" diff --git a/packages/core/android/src/main/java/com/segment/analytics/reactnative/core/RNAnalyticsModule.kt b/packages/core/android/src/main/java/com/segment/analytics/reactnative/core/RNAnalyticsModule.kt index 867a15be3..7a63aaf5c 100644 --- a/packages/core/android/src/main/java/com/segment/analytics/reactnative/core/RNAnalyticsModule.kt +++ b/packages/core/android/src/main/java/com/segment/analytics/reactnative/core/RNAnalyticsModule.kt @@ -106,6 +106,10 @@ class RNAnalyticsModule(context: ReactApplicationContext): ReactContextBaseJavaM val json = options.getString("json") val writeKey = options.getString("writeKey") + if (writeKey == null) { + return promise.reject("E_SEGMENT_RECONFIGURED", "writeKey cannot be null") + } + if(singletonJsonConfig != null) { if(json == singletonJsonConfig) { return promise.resolve(null) @@ -183,6 +187,13 @@ class RNAnalyticsModule(context: ReactApplicationContext): ReactContextBaseJavaM }) } + if(options.hasKey("defaultProjectSettings")) { + builder.defaultProjectSettings(Utils.toValueMap(options.getMap("defaultProjectSettings"))) + } + + // RN does not need this flag enabled + builder.experimentalUseNewLifecycleMethods(false) + try { Analytics.setSingletonInstance( RNAnalytics.buildWithIntegrations(builder) @@ -196,14 +207,6 @@ class RNAnalyticsModule(context: ReactApplicationContext): ReactContextBaseJavaM return promise.reject("E_SEGMENT_ERROR", e) } - if(options.getBoolean("trackAppLifecycleEvents")) { - this.trackApplicationLifecycleEvents(writeKey) - } - - if(options.hasKey("defaultProjectSettings")) { - builder.defaultProjectSettings(Utils.toValueMap(options.getMap("defaultProjectSettings"))) - } - RNAnalytics.setupCallbacks(analytics) singletonJsonConfig = json