diff --git a/sentry-android-distribution/api/sentry-android-distribution.api b/sentry-android-distribution/api/sentry-android-distribution.api index d9c7ced1cfe..f32afca784e 100644 --- a/sentry-android-distribution/api/sentry-android-distribution.api +++ b/sentry-android-distribution/api/sentry-android-distribution.api @@ -3,6 +3,7 @@ public final class io/sentry/android/distribution/DistributionIntegration : io/s public fun checkForUpdate (Lio/sentry/IDistributionApi$UpdateCallback;)V public fun checkForUpdateBlocking ()Lio/sentry/UpdateStatus; public fun downloadUpdate (Lio/sentry/UpdateInfo;)V + public fun isEnabled ()Z public fun register (Lio/sentry/IScopes;Lio/sentry/SentryOptions;)V } diff --git a/sentry-android-distribution/src/main/java/io/sentry/android/distribution/DistributionIntegration.kt b/sentry-android-distribution/src/main/java/io/sentry/android/distribution/DistributionIntegration.kt index b22154b87ed..c1fdf27e2db 100644 --- a/sentry-android-distribution/src/main/java/io/sentry/android/distribution/DistributionIntegration.kt +++ b/sentry-android-distribution/src/main/java/io/sentry/android/distribution/DistributionIntegration.kt @@ -112,6 +112,15 @@ public class DistributionIntegration(context: Context) : Integration, IDistribut } } + /** + * Check if the distribution integration is enabled. + * + * @return true if the distribution integration is enabled + */ + public override fun isEnabled(): Boolean { + return true + } + private fun createUpdateCheckParams(): DistributionHttpClient.UpdateCheckParams { return try { val packageManager = context.packageManager diff --git a/sentry/api/sentry.api b/sentry/api/sentry.api index c591aa9f5f4..f49e035f5ff 100644 --- a/sentry/api/sentry.api +++ b/sentry/api/sentry.api @@ -779,6 +779,7 @@ public abstract interface class io/sentry/IDistributionApi { public abstract fun checkForUpdate (Lio/sentry/IDistributionApi$UpdateCallback;)V public abstract fun checkForUpdateBlocking ()Lio/sentry/UpdateStatus; public abstract fun downloadUpdate (Lio/sentry/UpdateInfo;)V + public abstract fun isEnabled ()Z } public abstract interface class io/sentry/IDistributionApi$UpdateCallback { @@ -1497,6 +1498,7 @@ public final class io/sentry/NoOpDistributionApi : io/sentry/IDistributionApi { public fun checkForUpdateBlocking ()Lio/sentry/UpdateStatus; public fun downloadUpdate (Lio/sentry/UpdateInfo;)V public static fun getInstance ()Lio/sentry/NoOpDistributionApi; + public fun isEnabled ()Z } public final class io/sentry/NoOpEnvelopeReader : io/sentry/IEnvelopeReader { diff --git a/sentry/src/main/java/io/sentry/IDistributionApi.java b/sentry/src/main/java/io/sentry/IDistributionApi.java index d3482f71db1..953bc6b8938 100644 --- a/sentry/src/main/java/io/sentry/IDistributionApi.java +++ b/sentry/src/main/java/io/sentry/IDistributionApi.java @@ -37,6 +37,13 @@ public interface IDistributionApi { */ void downloadUpdate(@NotNull UpdateInfo info); + /** + * Check if the distribution integration is enabled. + * + * @return true if the distribution integration is enabled, false otherwise + */ + boolean isEnabled(); + /** Callback interface for receiving async update check results. */ interface UpdateCallback { void onResult(@NotNull UpdateStatus status); diff --git a/sentry/src/main/java/io/sentry/NoOpDistributionApi.java b/sentry/src/main/java/io/sentry/NoOpDistributionApi.java index d46fe4364ca..3215a192e01 100644 --- a/sentry/src/main/java/io/sentry/NoOpDistributionApi.java +++ b/sentry/src/main/java/io/sentry/NoOpDistributionApi.java @@ -29,4 +29,9 @@ public void checkForUpdate(@NotNull UpdateCallback onResult) { public void downloadUpdate(@NotNull UpdateInfo info) { // No-op implementation - do nothing } + + @Override + public boolean isEnabled() { + return false; + } }