From b858bc69c6297ecfb36bd2b14af0e1d19c37374e Mon Sep 17 00:00:00 2001 From: Manoel Aranda Neto Date: Mon, 8 Mar 2021 11:04:16 +0100 Subject: [PATCH 1/3] Bump: sentry-android to v4.3.0 --- CHANGELOG.md | 2 ++ flutter/android/build.gradle | 4 +-- flutter/android/proguard-rules.pro | 4 +++ .../io/sentry/flutter/SentryFlutterPlugin.kt | 28 ++++++++----------- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 70c7c35fa1..16f784605f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ # Unreleased +* Bump: sentry-android to v4.3.0 + # 4.1.0-nullsafety.0 * Fix: Do not append stack trace to the exception if there are no frames diff --git a/flutter/android/build.gradle b/flutter/android/build.gradle index a8e6f98b11..f9fa2f9846 100644 --- a/flutter/android/build.gradle +++ b/flutter/android/build.gradle @@ -1,5 +1,5 @@ buildscript { - ext.kotlin_version = '1.4.10' + ext.kotlin_version = '1.4.31' repositories { google() jcenter() @@ -54,6 +54,6 @@ android { } dependencies { - api 'io.sentry:sentry-android:4.0.0' + api 'io.sentry:sentry-android:4.3.0' implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" } diff --git a/flutter/android/proguard-rules.pro b/flutter/android/proguard-rules.pro index a01311c578..d64759b4c6 100644 --- a/flutter/android/proguard-rules.pro +++ b/flutter/android/proguard-rules.pro @@ -1 +1,5 @@ -keep class io.sentry.flutter.** { *; } + +# To ensure that stack traces is unambiguous +# https://developer.android.com/studio/build/shrink-code#decode-stack-trace +-keepattributes LineNumberTable,SourceFile diff --git a/flutter/android/src/main/kotlin/io/sentry/flutter/SentryFlutterPlugin.kt b/flutter/android/src/main/kotlin/io/sentry/flutter/SentryFlutterPlugin.kt index 2a6aaa3a1f..8cf47978f0 100644 --- a/flutter/android/src/main/kotlin/io/sentry/flutter/SentryFlutterPlugin.kt +++ b/flutter/android/src/main/kotlin/io/sentry/flutter/SentryFlutterPlugin.kt @@ -87,7 +87,7 @@ class SentryFlutterPlugin : FlutterPlugin, MethodCallHandler { args.getIfNotNull("maxBreadcrumbs") { options.maxBreadcrumbs = it } args.getIfNotNull("cacheDirSize") { options.cacheDirSize = it } args.getIfNotNull("diagnosticLevel") { - if (options.isDebug == true) { + if (options.isDebug) { val sentryLevel = SentryLevel.valueOf(it.toUpperCase(Locale.ROOT)) options.setDiagnosticLevel(sentryLevel) } @@ -97,7 +97,7 @@ class SentryFlutterPlugin : FlutterPlugin, MethodCallHandler { val nativeCrashHandling = (args["enableNativeCrashHandling"] as? Boolean) ?: true // nativeCrashHandling has priority over anrEnabled if (!nativeCrashHandling) { - options.setEnableUncaughtExceptionHandler(false) + options.enableUncaughtExceptionHandler = false options.isAnrEnabled = false // if split symbols are enabled, we need Ndk integration so we can't really offer the option // to turn it off @@ -168,12 +168,12 @@ class SentryFlutterPlugin : FlutterPlugin, MethodCallHandler { private val nativeSdk = "sentry.native" private fun setEventOriginTag(event: SentryEvent) { - val sdk = event.sdk - if (isValidSdk(sdk)) { - when (sdk!!.name) { + event.sdk?.let { + when (it.name) { flutterSdk -> setEventEnvironmentTag(event, "flutter", "dart") androidSdk -> setEventEnvironmentTag(event, environment = "java") nativeSdk -> setEventEnvironmentTag(event, environment = "native") + else -> return } } } @@ -183,30 +183,24 @@ class SentryFlutterPlugin : FlutterPlugin, MethodCallHandler { event.setTag("event.environment", environment) } - private fun isValidSdk(sdk: SdkVersion?): Boolean { - return (sdk != null && !sdk.name.isNullOrEmpty()) - } - private fun addPackages(event: SentryEvent, sdk: SdkVersion?) { - if (isValidSdk(event.sdk)) { - when (event.sdk!!.name) { - flutterSdk -> { + event.sdk?.let { + if (it.name == flutterSdk) { sdk?.packages?.forEach { sentryPackage -> - event.sdk?.addPackage(sentryPackage.name, sentryPackage.version) + it.addPackage(sentryPackage.name, sentryPackage.version) } sdk?.integrations?.forEach { integration -> - event.sdk?.addIntegration(integration) + it.addIntegration(integration) } - } } } } private fun removeThreadsIfNotAndroid(event: SentryEvent) { - if (isValidSdk(event.sdk)) { + event.sdk?.let { // we do not want the thread list if not an android event, the thread info is mostly about // the file observer anyway - if (event.sdk!!.name != androidSdk && event.threads != null) { + if (it.name != androidSdk && event.threads != null) { event.threads.clear() } } From 48d3554a6f1f7efddce4ef2edd0c1dc82259df72 Mon Sep 17 00:00:00 2001 From: Manoel Aranda Neto Date: Mon, 8 Mar 2021 13:47:40 +0100 Subject: [PATCH 2/3] fix ktlint --- .../kotlin/io/sentry/flutter/SentryFlutterPlugin.kt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flutter/android/src/main/kotlin/io/sentry/flutter/SentryFlutterPlugin.kt b/flutter/android/src/main/kotlin/io/sentry/flutter/SentryFlutterPlugin.kt index 8cf47978f0..335638ccb8 100644 --- a/flutter/android/src/main/kotlin/io/sentry/flutter/SentryFlutterPlugin.kt +++ b/flutter/android/src/main/kotlin/io/sentry/flutter/SentryFlutterPlugin.kt @@ -186,12 +186,12 @@ class SentryFlutterPlugin : FlutterPlugin, MethodCallHandler { private fun addPackages(event: SentryEvent, sdk: SdkVersion?) { event.sdk?.let { if (it.name == flutterSdk) { - sdk?.packages?.forEach { sentryPackage -> - it.addPackage(sentryPackage.name, sentryPackage.version) - } - sdk?.integrations?.forEach { integration -> - it.addIntegration(integration) - } + sdk?.packages?.forEach { sentryPackage -> + it.addPackage(sentryPackage.name, sentryPackage.version) + } + sdk?.integrations?.forEach { integration -> + it.addIntegration(integration) + } } } } From e8988815d314ff73c4ebf56073cd06f0fa6dad4e Mon Sep 17 00:00:00 2001 From: Manoel Aranda Neto <5731772+marandaneto@users.noreply.github.com> Date: Mon, 8 Mar 2021 16:27:11 +0100 Subject: [PATCH 3/3] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 16f784605f..58b780c9cf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Unreleased -* Bump: sentry-android to v4.3.0 +* Bump: sentry-android to v4.3.0 (#343) # 4.1.0-nullsafety.0