mirror of
https://github.com/androidx/media.git
synced 2025-04-30 06:46:50 +08:00
CronetDataSource: Use standard InterruptedIOException
PiperOrigin-RevId: 309710359
This commit is contained in:
parent
5819b47f41
commit
dcae3c2609
@ -32,6 +32,7 @@ import com.google.android.exoplayer2.util.ConditionVariable;
|
||||
import com.google.android.exoplayer2.util.Log;
|
||||
import com.google.android.exoplayer2.util.Predicate;
|
||||
import java.io.IOException;
|
||||
import java.io.InterruptedIOException;
|
||||
import java.net.SocketTimeoutException;
|
||||
import java.net.UnknownHostException;
|
||||
import java.nio.ByteBuffer;
|
||||
@ -83,14 +84,6 @@ public class CronetDataSource extends BaseDataSource implements HttpDataSource {
|
||||
|
||||
}
|
||||
|
||||
/** Thrown on catching an InterruptedException. */
|
||||
public static final class InterruptedIOException extends IOException {
|
||||
|
||||
public InterruptedIOException(InterruptedException e) {
|
||||
super(e);
|
||||
}
|
||||
}
|
||||
|
||||
static {
|
||||
ExoPlayerLibraryInfo.registerModule("goog.exo.cronet");
|
||||
}
|
||||
@ -440,7 +433,7 @@ public class CronetDataSource extends BaseDataSource implements HttpDataSource {
|
||||
}
|
||||
} catch (InterruptedException e) {
|
||||
Thread.currentThread().interrupt();
|
||||
throw new OpenException(new InterruptedIOException(e), dataSpec, Status.INVALID);
|
||||
throw new OpenException(new InterruptedIOException(), dataSpec, Status.INVALID);
|
||||
}
|
||||
|
||||
// Check for a valid response code.
|
||||
@ -769,7 +762,7 @@ public class CronetDataSource extends BaseDataSource implements HttpDataSource {
|
||||
}
|
||||
Thread.currentThread().interrupt();
|
||||
throw new HttpDataSourceException(
|
||||
new InterruptedIOException(e),
|
||||
new InterruptedIOException(),
|
||||
castNonNull(currentDataSpec),
|
||||
HttpDataSourceException.TYPE_READ);
|
||||
} catch (SocketTimeoutException e) {
|
||||
|
@ -40,6 +40,7 @@ import com.google.android.exoplayer2.upstream.TransferListener;
|
||||
import com.google.android.exoplayer2.util.Clock;
|
||||
import com.google.android.exoplayer2.util.Util;
|
||||
import java.io.IOException;
|
||||
import java.io.InterruptedIOException;
|
||||
import java.net.SocketTimeoutException;
|
||||
import java.net.UnknownHostException;
|
||||
import java.nio.ByteBuffer;
|
||||
@ -284,7 +285,7 @@ public final class CronetDataSourceTest {
|
||||
fail("HttpDataSource.HttpDataSourceException expected");
|
||||
} catch (HttpDataSourceException e) {
|
||||
// Check for connection not automatically closed.
|
||||
assertThat(e.getCause() instanceof UnknownHostException).isFalse();
|
||||
assertThat(e).hasCauseThat().isNotInstanceOf(UnknownHostException.class);
|
||||
verify(mockUrlRequest, never()).cancel();
|
||||
verify(mockTransferListener, never())
|
||||
.onTransferStart(dataSourceUnderTest, testDataSpec, /* isNetwork= */ true);
|
||||
@ -322,7 +323,7 @@ public final class CronetDataSourceTest {
|
||||
fail("HttpDataSource.HttpDataSourceException expected");
|
||||
} catch (HttpDataSourceException e) {
|
||||
// Check for connection not automatically closed.
|
||||
assertThat(e.getCause() instanceof UnknownHostException).isTrue();
|
||||
assertThat(e).hasCauseThat().isInstanceOf(UnknownHostException.class);
|
||||
verify(mockUrlRequest, never()).cancel();
|
||||
verify(mockTransferListener, never())
|
||||
.onTransferStart(dataSourceUnderTest, testDataSpec, /* isNetwork= */ true);
|
||||
@ -338,7 +339,7 @@ public final class CronetDataSourceTest {
|
||||
dataSourceUnderTest.open(testDataSpec);
|
||||
fail("HttpDataSource.HttpDataSourceException expected");
|
||||
} catch (HttpDataSourceException e) {
|
||||
assertThat(e instanceof HttpDataSource.InvalidResponseCodeException).isTrue();
|
||||
assertThat(e).isInstanceOf(HttpDataSource.InvalidResponseCodeException.class);
|
||||
// Check for connection not automatically closed.
|
||||
verify(mockUrlRequest, never()).cancel();
|
||||
verify(mockTransferListener, never())
|
||||
@ -361,7 +362,7 @@ public final class CronetDataSourceTest {
|
||||
dataSourceUnderTest.open(testDataSpec);
|
||||
fail("HttpDataSource.HttpDataSourceException expected");
|
||||
} catch (HttpDataSourceException e) {
|
||||
assertThat(e instanceof HttpDataSource.InvalidContentTypeException).isTrue();
|
||||
assertThat(e).isInstanceOf(HttpDataSource.InvalidContentTypeException.class);
|
||||
// Check for connection not automatically closed.
|
||||
verify(mockUrlRequest, never()).cancel();
|
||||
assertThat(testedContentTypes).hasSize(1);
|
||||
@ -892,8 +893,8 @@ public final class CronetDataSourceTest {
|
||||
fail();
|
||||
} catch (HttpDataSourceException e) {
|
||||
// Expected.
|
||||
assertThat(e instanceof CronetDataSource.OpenException).isTrue();
|
||||
assertThat(e.getCause() instanceof SocketTimeoutException).isTrue();
|
||||
assertThat(e).isInstanceOf(CronetDataSource.OpenException.class);
|
||||
assertThat(e).hasCauseThat().isInstanceOf(SocketTimeoutException.class);
|
||||
assertThat(((CronetDataSource.OpenException) e).cronetConnectionStatus)
|
||||
.isEqualTo(TEST_CONNECTION_STATUS);
|
||||
timedOutLatch.countDown();
|
||||
@ -932,8 +933,8 @@ public final class CronetDataSourceTest {
|
||||
fail();
|
||||
} catch (HttpDataSourceException e) {
|
||||
// Expected.
|
||||
assertThat(e instanceof CronetDataSource.OpenException).isTrue();
|
||||
assertThat(e.getCause() instanceof CronetDataSource.InterruptedIOException).isTrue();
|
||||
assertThat(e).isInstanceOf(CronetDataSource.OpenException.class);
|
||||
assertThat(e).hasCauseThat().isInstanceOf(InterruptedIOException.class);
|
||||
assertThat(((CronetDataSource.OpenException) e).cronetConnectionStatus)
|
||||
.isEqualTo(TEST_INVALID_CONNECTION_STATUS);
|
||||
timedOutLatch.countDown();
|
||||
@ -1005,8 +1006,8 @@ public final class CronetDataSourceTest {
|
||||
fail();
|
||||
} catch (HttpDataSourceException e) {
|
||||
// Expected.
|
||||
assertThat(e instanceof CronetDataSource.OpenException).isTrue();
|
||||
assertThat(e.getCause() instanceof SocketTimeoutException).isTrue();
|
||||
assertThat(e).isInstanceOf(CronetDataSource.OpenException.class);
|
||||
assertThat(e).hasCauseThat().isInstanceOf(SocketTimeoutException.class);
|
||||
openExceptions.getAndIncrement();
|
||||
timedOutLatch.countDown();
|
||||
}
|
||||
@ -1231,7 +1232,7 @@ public final class CronetDataSourceTest {
|
||||
fail();
|
||||
} catch (HttpDataSourceException e) {
|
||||
// Expected.
|
||||
assertThat(e.getCause() instanceof CronetDataSource.InterruptedIOException).isTrue();
|
||||
assertThat(e).hasCauseThat().isInstanceOf(InterruptedIOException.class);
|
||||
timedOutLatch.countDown();
|
||||
}
|
||||
}
|
||||
@ -1262,7 +1263,7 @@ public final class CronetDataSourceTest {
|
||||
fail();
|
||||
} catch (HttpDataSourceException e) {
|
||||
// Expected.
|
||||
assertThat(e.getCause() instanceof CronetDataSource.InterruptedIOException).isTrue();
|
||||
assertThat(e).hasCauseThat().isInstanceOf(InterruptedIOException.class);
|
||||
timedOutLatch.countDown();
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user