From 4de2196cbdff459727b85d9540298c77490f83ff Mon Sep 17 00:00:00 2001 From: Denis Andrasec Date: Wed, 24 Sep 2025 13:06:25 +0200 Subject: [PATCH] Fix warnings in `SentryFlutter.kt` and `SentryFlutterPlugin.kt` --- .../kotlin/io/sentry/flutter/SentryFlutter.kt | 4 ++-- .../io/sentry/flutter/SentryFlutterPlugin.kt | 19 ++++++++++--------- .../flutter/example/android/app/build.gradle | 2 +- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/packages/flutter/android/src/main/kotlin/io/sentry/flutter/SentryFlutter.kt b/packages/flutter/android/src/main/kotlin/io/sentry/flutter/SentryFlutter.kt index 18ee9a8137..19eec63247 100644 --- a/packages/flutter/android/src/main/kotlin/io/sentry/flutter/SentryFlutter.kt +++ b/packages/flutter/android/src/main/kotlin/io/sentry/flutter/SentryFlutter.kt @@ -72,7 +72,7 @@ class SentryFlutter { } data.getIfNotNull("diagnosticLevel") { if (options.isDebug) { - val sentryLevel = SentryLevel.valueOf(it.toUpperCase(Locale.ROOT)) + val sentryLevel = SentryLevel.valueOf(it.uppercase()) options.setDiagnosticLevel(sentryLevel) } } @@ -165,7 +165,7 @@ class SentryFlutter { ?.let { type = try { - Type.valueOf(it.toUpperCase(Locale.ROOT)) + Type.valueOf(it.uppercase()) } catch (_: IllegalArgumentException) { Log.w("Sentry", "Could not parse `type` from proxy json: $proxyJson") null diff --git a/packages/flutter/android/src/main/kotlin/io/sentry/flutter/SentryFlutterPlugin.kt b/packages/flutter/android/src/main/kotlin/io/sentry/flutter/SentryFlutterPlugin.kt index 96a8e7843a..2d24d12f5d 100644 --- a/packages/flutter/android/src/main/kotlin/io/sentry/flutter/SentryFlutterPlugin.kt +++ b/packages/flutter/android/src/main/kotlin/io/sentry/flutter/SentryFlutterPlugin.kt @@ -15,10 +15,9 @@ import io.flutter.plugin.common.MethodChannel.MethodCallHandler import io.flutter.plugin.common.MethodChannel.Result import io.sentry.Breadcrumb import io.sentry.DateUtils -import io.sentry.HubAdapter +import io.sentry.ScopesAdapter import io.sentry.Sentry import io.sentry.android.core.InternalSentrySdk -import io.sentry.android.core.LoadClass import io.sentry.android.core.SentryAndroid import io.sentry.android.core.SentryAndroidOptions import io.sentry.android.core.performance.AppStartMetrics @@ -26,7 +25,6 @@ import io.sentry.android.core.performance.TimeSpan import io.sentry.android.replay.ReplayIntegration import io.sentry.android.replay.ScreenshotRecorderConfig import io.sentry.protocol.DebugImage -import io.sentry.protocol.SentryId import io.sentry.protocol.User import io.sentry.transport.CurrentDateProvider import org.json.JSONObject @@ -289,7 +287,7 @@ class SentryFlutterPlugin : result: Result, ) { if (user != null) { - val options = HubAdapter.getInstance().options + val options = ScopesAdapter.getInstance().options val userInstance = User.fromMap(user, options) Sentry.setUser(userInstance) } else { @@ -303,7 +301,7 @@ class SentryFlutterPlugin : result: Result, ) { if (breadcrumb != null) { - val options = HubAdapter.getInstance().options + val options = ScopesAdapter.getInstance().options val breadcrumbInstance = Breadcrumb.fromMap(breadcrumb, options) Sentry.addBreadcrumb(breadcrumbInstance) } @@ -371,7 +369,7 @@ class SentryFlutterPlugin : } private fun closeNativeSdk(result: Result) { - HubAdapter.getInstance().close() + ScopesAdapter.getInstance().close() result.success("") } @@ -385,15 +383,17 @@ class SentryFlutterPlugin : private const val NATIVE_CRASH_WAIT_TIME = 500L + @Suppress("unused") // Used by native/jni bindings @JvmStatic fun privateSentryGetReplayIntegration(): ReplayIntegration? = replay @JvmStatic fun getApplicationContext(): Context? = applicationContext + @Suppress("unused") // Used by native/jni bindings @JvmStatic fun loadContextsAsBytes(): ByteArray? { - val options = HubAdapter.getInstance().options + val options = ScopesAdapter.getInstance().options val context = getApplicationContext() if (options !is SentryAndroidOptions || context == null) { return null @@ -409,9 +409,10 @@ class SentryFlutterPlugin : return json.toByteArray(Charsets.UTF_8) } + @Suppress("unused") // Used by native/jni bindings @JvmStatic fun loadDebugImagesAsBytes(addresses: Set): ByteArray? { - val options = HubAdapter.getInstance().options as SentryAndroidOptions + val options = ScopesAdapter.getInstance().options as SentryAndroidOptions val debugImages = if (addresses.isEmpty()) { @@ -447,7 +448,7 @@ class SentryFlutterPlugin : private fun crash() { val exception = RuntimeException("FlutterSentry Native Integration: Sample RuntimeException") val mainThread = Looper.getMainLooper().thread - mainThread.uncaughtExceptionHandler.uncaughtException(mainThread, exception) + mainThread.uncaughtExceptionHandler?.uncaughtException(mainThread, exception) mainThread.join(NATIVE_CRASH_WAIT_TIME) } diff --git a/packages/flutter/example/android/app/build.gradle b/packages/flutter/example/android/app/build.gradle index d48d1f3a19..5f9c0798ee 100644 --- a/packages/flutter/example/android/app/build.gradle +++ b/packages/flutter/example/android/app/build.gradle @@ -34,7 +34,7 @@ android { } kotlinOptions { jvmTarget = JavaVersion.VERSION_1_8 - languageVersion = "1.4" + languageVersion = "1.8" } compileSdkVersion 35