From 01b69854ff1bacd9c426902441e461c667df3323 Mon Sep 17 00:00:00 2001 From: sammon Date: Mon, 23 Jul 2018 13:56:03 -0700 Subject: [PATCH] Refactoring DataSpec constructor calls to use DataSpec.withUri() and DataSpec.subrange(). This reduces the number of calls to the DataSpec constructor and minimizes the number of files that need to be updated when adding a new DataSpec parameter (ex: followup [] ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=205719005 --- .../exoplayer2/ext/cronet/CronetDataSource.java | 10 +--------- .../android/exoplayer2/upstream/TeeDataSource.java | 9 +-------- 2 files changed, 2 insertions(+), 17 deletions(-) diff --git a/extensions/cronet/src/main/java/com/google/android/exoplayer2/ext/cronet/CronetDataSource.java b/extensions/cronet/src/main/java/com/google/android/exoplayer2/ext/cronet/CronetDataSource.java index acf36c3cf9..20e2f32685 100644 --- a/extensions/cronet/src/main/java/com/google/android/exoplayer2/ext/cronet/CronetDataSource.java +++ b/extensions/cronet/src/main/java/com/google/android/exoplayer2/ext/cronet/CronetDataSource.java @@ -622,15 +622,7 @@ public class CronetDataSource extends BaseDataSource implements HttpDataSource { request.followRedirect(); } else { currentUrlRequest.cancel(); - DataSpec redirectUrlDataSpec = - new DataSpec( - Uri.parse(newLocationUrl), - currentDataSpec.postBody, - currentDataSpec.absoluteStreamPosition, - currentDataSpec.position, - currentDataSpec.length, - currentDataSpec.key, - currentDataSpec.flags); + DataSpec redirectUrlDataSpec = currentDataSpec.withUri(Uri.parse(newLocationUrl)); UrlRequest.Builder requestBuilder; try { requestBuilder = buildRequestBuilder(redirectUrlDataSpec); diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/TeeDataSource.java b/library/core/src/main/java/com/google/android/exoplayer2/upstream/TeeDataSource.java index 0762f48f43..0e15df4278 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/upstream/TeeDataSource.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/upstream/TeeDataSource.java @@ -56,14 +56,7 @@ public final class TeeDataSource implements DataSource { } if (dataSpec.length == C.LENGTH_UNSET && bytesRemaining != C.LENGTH_UNSET) { // Reconstruct dataSpec in order to provide the resolved length to the sink. - dataSpec = - new DataSpec( - dataSpec.uri, - dataSpec.absoluteStreamPosition, - dataSpec.position, - bytesRemaining, - dataSpec.key, - dataSpec.flags); + dataSpec = dataSpec.subrange(0, bytesRemaining); } dataSinkNeedsClosing = true; dataSink.open(dataSpec);