diff --git a/CHANGELOG.md b/CHANGELOG.md
index ccff564763..e748566886 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -27,6 +27,7 @@
```
+- The `ManifestMetaDataReader` now read the `DIST` ([#5107](https://github.com/getsentry/sentry-java/pull/5107))
### Fixes
diff --git a/sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java b/sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java
index 6658792540..0fd217794e 100644
--- a/sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java
+++ b/sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java
@@ -41,6 +41,7 @@ final class ManifestMetadataReader {
static final String NDK_SCOPE_SYNC_ENABLE = "io.sentry.ndk.scope-sync.enable";
static final String NDK_SDK_NAME = "io.sentry.ndk.sdk-name";
static final String RELEASE = "io.sentry.release";
+ static final String DIST = "io.sentry.dist";
static final String ENVIRONMENT = "io.sentry.environment";
static final String SDK_NAME = "io.sentry.sdk.name";
static final String SDK_VERSION = "io.sentry.sdk.version";
@@ -273,6 +274,8 @@ static void applyMetadata(
options.setRelease(readString(metadata, logger, RELEASE, options.getRelease()));
+ options.setDist(readString(metadata, logger, DIST, options.getDist()));
+
options.setEnvironment(readString(metadata, logger, ENVIRONMENT, options.getEnvironment()));
options.setSessionTrackingIntervalMillis(
diff --git a/sentry-android-core/src/test/java/io/sentry/android/core/ManifestMetadataReaderTest.kt b/sentry-android-core/src/test/java/io/sentry/android/core/ManifestMetadataReaderTest.kt
index c8e55ffc09..fd5c9cffc8 100644
--- a/sentry-android-core/src/test/java/io/sentry/android/core/ManifestMetadataReaderTest.kt
+++ b/sentry-android-core/src/test/java/io/sentry/android/core/ManifestMetadataReaderTest.kt
@@ -187,6 +187,31 @@ class ManifestMetadataReaderTest {
assertNull(fixture.options.release)
}
+ @Test
+ fun `applyMetadata reads dist to options`() {
+ // Arrange
+ val bundle = bundleOf(ManifestMetadataReader.DIST to "test-dist")
+ val context = fixture.getContext(metaData = bundle)
+
+ // Act
+ ManifestMetadataReader.applyMetadata(context, fixture.options, fixture.buildInfoProvider)
+
+ // Assert
+ assertEquals("test-dist", fixture.options.dist)
+ }
+
+ @Test
+ fun `applyMetadata reads dist and keep default value if not found`() {
+ // Arrange
+ val context = fixture.getContext()
+
+ // Act
+ ManifestMetadataReader.applyMetadata(context, fixture.options, fixture.buildInfoProvider)
+
+ // Assert
+ assertNull(fixture.options.dist)
+ }
+
@Test
fun `applyMetadata reads session tracking interval to options`() {
// Arrange