Skip to content

Commit 870ba66

Browse files
committed
Metrics Manifest options for Android
1 parent cceb10f commit 870ba66

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
@@ -144,6 +144,8 @@ final class ManifestMetadataReader {
144144

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

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

@@ -614,6 +616,11 @@ static void applyMetadata(
614616
.getLogs()
615617
.setEnabled(readBool(metadata, logger, ENABLE_LOGS, options.getLogs().isEnabled()));
616618

619+
options
620+
.getMetrics()
621+
.setEnabled(
622+
readBool(metadata, logger, ENABLE_METRICS, options.getMetrics().isEnabled()));
623+
617624
final @NotNull SentryFeedbackOptions feedbackOptions = options.getFeedbackOptions();
618625
feedbackOptions.setNameRequired(
619626
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
@@ -1711,6 +1711,44 @@ class ManifestMetadataReaderTest {
17111711
assertTrue(fixture.options.logs.isEnabled)
17121712
}
17131713

1714+
@Test
1715+
fun `applyMetadata reads metrics enabled and keep default value if not found`() {
1716+
// Arrange
1717+
val context = fixture.getContext()
1718+
1719+
// Act
1720+
ManifestMetadataReader.applyMetadata(context, fixture.options, fixture.buildInfoProvider)
1721+
1722+
// Assert
1723+
assertTrue(fixture.options.metrics.isEnabled)
1724+
}
1725+
1726+
@Test
1727+
fun `applyMetadata reads metrics enabled to options`() {
1728+
// Arrange
1729+
val bundle = bundleOf(ManifestMetadataReader.ENABLE_METRICS to false)
1730+
val context = fixture.getContext(metaData = bundle)
1731+
1732+
// Act
1733+
ManifestMetadataReader.applyMetadata(context, fixture.options, fixture.buildInfoProvider)
1734+
1735+
// Assert
1736+
assertFalse(fixture.options.metrics.isEnabled)
1737+
}
1738+
1739+
@Test
1740+
fun `applyMetadata reads metrics enabled to options when set to true`() {
1741+
// Arrange
1742+
val bundle = bundleOf(ManifestMetadataReader.ENABLE_METRICS to true)
1743+
val context = fixture.getContext(metaData = bundle)
1744+
1745+
// Act
1746+
ManifestMetadataReader.applyMetadata(context, fixture.options, fixture.buildInfoProvider)
1747+
1748+
// Assert
1749+
assertTrue(fixture.options.metrics.isEnabled)
1750+
}
1751+
17141752
@Test
17151753
fun `applyMetadata reads feedback name required and keep default value if not found`() {
17161754
// Arrange

0 commit comments

Comments
 (0)