Only append non-null exception messages in UnexpectedLoaderException

The previous code led me to misread this stack trace as a null pointer
exception, but it's really an index out of bounds exception:

```
Caused by: androidx.media3.exoplayer.upstream.Loader$UnexpectedLoaderException: Unexpected IllegalArgumentException: null
  at androidx.media3.exoplayer.upstream.Loader$LoadTask.run(Loader.java:435)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
  at java.lang.Thread.run(Thread.java:1012)
Caused by: java.lang.IllegalArgumentException
  at androidx.media3.common.util.Assertions.checkArgument(Assertions.java:40)
  at androidx.media3.common.util.ParsableByteArray.setPosition(ParsableByteArray.java:164)
  at androidx.media3.extractor.text.cea.Cea608Parser.parse(Cea608Parser.java:440)
```

PiperOrigin-RevId: 592876546
This commit is contained in:
ibaker 2023-12-21 09:04:57 -08:00 committed by Copybara-Service
parent 0ed19937d3
commit 5211ff0dc1

View File

@ -47,7 +47,11 @@ public final class Loader implements LoaderErrorThrower {
public static final class UnexpectedLoaderException extends IOException { public static final class UnexpectedLoaderException extends IOException {
public UnexpectedLoaderException(Throwable cause) { public UnexpectedLoaderException(Throwable cause) {
super("Unexpected " + cause.getClass().getSimpleName() + ": " + cause.getMessage(), cause); super(
"Unexpected " + cause.getClass().getSimpleName() + cause.getMessage() != null
? ": " + cause.getMessage()
: "",
cause);
} }
} }