Only log first input reader length

It's not feasible to reliably differentiate a different
segment parsing from a seek.

Bug: 158742256
Test: atest CtsMediaParserTestCases
Test: atest CtsMediaParserHostTestCases
Change-Id: I7d62f1c2b9334bf601f38ce915b0fafdc76fbec1
Merged-In: I7d62f1c2b9334bf601f38ce915b0fafdc76fbec1
(cherry picked from commit c4e91d76092e018ccc4ab10dff239c1a8bf7e21e)
diff --git a/apex/framework/java/android/media/MediaParser.java b/apex/framework/java/android/media/MediaParser.java
index 045b413..8bdca76 100644
--- a/apex/framework/java/android/media/MediaParser.java
+++ b/apex/framework/java/android/media/MediaParser.java
@@ -1186,11 +1186,10 @@
             // TODO: For efficiency, the same implementation should be used, by providing a
             // clearBuffers() method, or similar.
             long resourceLength = seekableInputReader.getLength();
-            if (resourceLength == -1) {
-                mResourceByteCount = -1;
-            }
-            if (mResourceByteCount != -1) {
-                mResourceByteCount += resourceLength;
+            if (mResourceByteCount == 0) {
+                // For resource byte count metric collection, we only take into account the length
+                // of the first provided input reader.
+                mResourceByteCount = resourceLength;
             }
             mExtractorInput =
                     new DefaultExtractorInput(