From 90844f11e88ad9dbb26c7fd4bd72d99c577b9c54 Mon Sep 17 00:00:00 2001 From: shahddaghash Date: Tue, 18 Feb 2025 10:55:47 -0800 Subject: [PATCH] Add test for `usePlatformDiagnostics` disabled PiperOrigin-RevId: 728276994 --- .../EditingMetricsCollectorTest.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/EditingMetricsCollectorTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/EditingMetricsCollectorTest.java index 6678cfe0fc..9ef09cadb8 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/EditingMetricsCollectorTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/EditingMetricsCollectorTest.java @@ -19,6 +19,7 @@ import static androidx.media3.common.util.Util.usToMs; import static androidx.media3.transformer.AndroidTestUtil.JPG_ASSET; import static androidx.media3.transformer.AndroidTestUtil.MP4_ASSET; import static androidx.media3.transformer.AndroidTestUtil.assumeFormatsSupported; +import static androidx.media3.transformer.AndroidTestUtil.recordTestSkipped; import static com.google.common.truth.Truth.assertThat; import static java.util.concurrent.TimeUnit.SECONDS; import static org.junit.Assert.assertThrows; @@ -44,6 +45,7 @@ import java.nio.ByteBuffer; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeoutException; import java.util.concurrent.atomic.AtomicReference; +import org.junit.AssumptionViolatedException; import org.junit.Before; import org.junit.Rule; import org.junit.Test; @@ -69,6 +71,30 @@ public class EditingMetricsCollectorTest { testId = testName.getMethodName(); } + @Test + public void export_usePlatformDiagnosticsDisabled_doesNotCollectMetrics() throws Exception { + if (Util.SDK_INT < 35) { + String reason = "Metrics collection is unsupported below API 35."; + recordTestSkipped(context, testId, reason); + throw new AssumptionViolatedException(reason); + } + AtomicReference editingEndedEventAtomicReference = new AtomicReference<>(); + Transformer transformer = + new Transformer.Builder(context) + .setUsePlatformDiagnostics(false) + .setMetricsReporterFactory( + new TestMetricsReporterFactory(context, editingEndedEventAtomicReference::set)) + .build(); + EditedMediaItem audioVideoItem = + new EditedMediaItem.Builder(MediaItem.fromUri(MP4_ASSET.uri)).build(); + + new TransformerAndroidTestRunner.Builder(context, transformer) + .build() + .run(testId, audioVideoItem); + + assertThat(editingEndedEventAtomicReference.get()).isNull(); + } + @Test public void exportSuccess_populatesEditingEndedEvent() throws Exception { assumeTrue("Reporting metrics requires API 35", Util.SDK_INT >= 35);