From 5cf3065cae8885bc0ceb0f0c2acb4209f82892e0 Mon Sep 17 00:00:00 2001 From: Francisco Prieto Date: Wed, 4 Jun 2025 17:10:28 -0300 Subject: [PATCH] Fix a bug where disabling the sdk might cause a background exception --- .../io/embrace/android/embracesdk/EmbraceImpl.kt | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/embrace-android-sdk/src/main/java/io/embrace/android/embracesdk/EmbraceImpl.kt b/embrace-android-sdk/src/main/java/io/embrace/android/embracesdk/EmbraceImpl.kt index 0b4f287a15..62548a6507 100644 --- a/embrace-android-sdk/src/main/java/io/embrace/android/embracesdk/EmbraceImpl.kt +++ b/embrace-android-sdk/src/main/java/io/embrace/android/embracesdk/EmbraceImpl.kt @@ -3,6 +3,7 @@ package io.embrace.android.embracesdk import android.annotation.SuppressLint import android.app.Application import android.content.Context +import android.util.Log import io.embrace.android.embracesdk.core.BuildConfig import io.embrace.android.embracesdk.internal.EmbraceInternalApi import io.embrace.android.embracesdk.internal.EmbraceInternalInterface @@ -246,13 +247,13 @@ internal class EmbraceImpl @JvmOverloads constructor( if (sdkCallChecker.started.get()) { bootstrapper.openTelemetryModule.otelSdkConfig.disableDataExport() stop() - } - - // delete any persisted data - runCatching { Executors.newSingleThreadExecutor().execute { - StorageLocation.values().map { it.asFile(bootstrapper.coreModule.context, logger).value }.forEach { - it.deleteRecursively() + runCatching { + StorageLocation.values().map { it.asFile(bootstrapper.coreModule.context, logger).value }.forEach { + it.deleteRecursively() + } + }.onFailure { exception -> + Log.e("[Embrace]", "An error occurred while trying to disable Embrace SDK.", exception) } } }