From 15978b50b6f9ba4700b9acc87cc4a32b61e6d341 Mon Sep 17 00:00:00 2001 From: Nelson Osacky Date: Mon, 20 Oct 2025 11:49:03 +0200 Subject: [PATCH] feat(distribution): Add isEnabled method to IDistributionApi MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a new isEnabled() method to the IDistributionApi interface to allow checking whether the distribution integration is active. The real DistributionIntegration returns true, while NoOpDistributionApi returns false. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../api/sentry-android-distribution.api | 1 + .../android/distribution/DistributionIntegration.kt | 9 +++++++++ sentry/api/sentry.api | 2 ++ sentry/src/main/java/io/sentry/IDistributionApi.java | 7 +++++++ sentry/src/main/java/io/sentry/NoOpDistributionApi.java | 5 +++++ 5 files changed, 24 insertions(+) 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 ad213521e05..45d0f4606c3 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; + } }