Skip to content

Commit 6788ab9

Browse files
committed
Metrics Manifest options for Android
1 parent 989deff commit 6788ab9

File tree

2 files changed

+45
-0
lines changed

2 files changed

+45
-0
lines changed

sentry-android-core/src/main/java/io/sentry/android/core/ManifestMetadataReader.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,8 @@ final class ManifestMetadataReader {
143143

144144
static final String ENABLE_LOGS = "io.sentry.logs.enabled";
145145

146+
static final String ENABLE_METRICS = "io.sentry.metrics.enabled";
147+
146148
static final String ENABLE_AUTO_TRACE_ID_GENERATION =
147149
"io.sentry.traces.enable-auto-id-generation";
148150

@@ -606,6 +608,11 @@ static void applyMetadata(
606608
.getLogs()
607609
.setEnabled(readBool(metadata, logger, ENABLE_LOGS, options.getLogs().isEnabled()));
608610

611+
options
612+
.getMetrics()
613+
.setEnabled(
614+
readBool(metadata, logger, ENABLE_METRICS, options.getMetrics().isEnabled()));
615+
609616
final @NotNull SentryFeedbackOptions feedbackOptions = options.getFeedbackOptions();
610617
feedbackOptions.setNameRequired(
611618
readBool(metadata, logger, FEEDBACK_NAME_REQUIRED, feedbackOptions.isNameRequired()));

sentry-android-core/src/test/java/io/sentry/android/core/ManifestMetadataReaderTest.kt

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1686,6 +1686,44 @@ class ManifestMetadataReaderTest {
16861686
assertTrue(fixture.options.logs.isEnabled)
16871687
}
16881688

1689+
@Test
1690+
fun `applyMetadata reads metrics enabled and keep default value if not found`() {
1691+
// Arrange
1692+
val context = fixture.getContext()
1693+
1694+
// Act
1695+
ManifestMetadataReader.applyMetadata(context, fixture.options, fixture.buildInfoProvider)
1696+
1697+
// Assert
1698+
assertTrue(fixture.options.metrics.isEnabled)
1699+
}
1700+
1701+
@Test
1702+
fun `applyMetadata reads metrics enabled to options`() {
1703+
// Arrange
1704+
val bundle = bundleOf(ManifestMetadataReader.ENABLE_METRICS to false)
1705+
val context = fixture.getContext(metaData = bundle)
1706+
1707+
// Act
1708+
ManifestMetadataReader.applyMetadata(context, fixture.options, fixture.buildInfoProvider)
1709+
1710+
// Assert
1711+
assertFalse(fixture.options.metrics.isEnabled)
1712+
}
1713+
1714+
@Test
1715+
fun `applyMetadata reads metrics enabled to options when set to true`() {
1716+
// Arrange
1717+
val bundle = bundleOf(ManifestMetadataReader.ENABLE_METRICS to true)
1718+
val context = fixture.getContext(metaData = bundle)
1719+
1720+
// Act
1721+
ManifestMetadataReader.applyMetadata(context, fixture.options, fixture.buildInfoProvider)
1722+
1723+
// Assert
1724+
assertTrue(fixture.options.metrics.isEnabled)
1725+
}
1726+
16891727
@Test
16901728
fun `applyMetadata reads feedback name required and keep default value if not found`() {
16911729
// Arrange

0 commit comments

Comments
 (0)