From 6cde8335ffdd91127f9745e7a4a016120ad442d7 Mon Sep 17 00:00:00 2001 From: tonihei Date: Fri, 23 Jun 2017 05:09:01 -0700 Subject: [PATCH] Add setter method to child data holder of abstract concatenated timeline. Prevents that we forget to set variables. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=159939180 --- .../source/AbstractConcatenatedTimeline.java | 18 +++++++++++++++++- .../source/ConcatenatingMediaSource.java | 6 ++---- .../exoplayer2/source/LoopingMediaSource.java | 6 ++---- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/AbstractConcatenatedTimeline.java b/library/core/src/main/java/com/google/android/exoplayer2/source/AbstractConcatenatedTimeline.java index e54dce687b..714d72104b 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/source/AbstractConcatenatedTimeline.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/source/AbstractConcatenatedTimeline.java @@ -28,7 +28,7 @@ import com.google.android.exoplayer2.Timeline; /** * Meta data of a child timeline. */ - protected static class ChildDataHolder { + protected static final class ChildDataHolder { /** * Child timeline. @@ -50,6 +50,22 @@ import com.google.android.exoplayer2.Timeline; */ public Object uid; + /** + * Set child holder data. + * + * @param timeline Child timeline. + * @param firstPeriodIndexInChild First period index belonging to the child timeline. + * @param firstWindowIndexInChild First window index belonging to the child timeline. + * @param uid UID of child timeline. + */ + public void setData(Timeline timeline, int firstPeriodIndexInChild, int firstWindowIndexInChild, + Object uid) { + this.timeline = timeline; + this.firstPeriodIndexInChild = firstPeriodIndexInChild; + this.firstWindowIndexInChild = firstWindowIndexInChild; + this.uid = uid; + } + } private final ChildDataHolder childDataHolder; diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/ConcatenatingMediaSource.java b/library/core/src/main/java/com/google/android/exoplayer2/source/ConcatenatingMediaSource.java index dc3b6cb1f5..347c6b77b8 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/source/ConcatenatingMediaSource.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/source/ConcatenatingMediaSource.java @@ -231,10 +231,8 @@ public final class ConcatenatingMediaSource implements MediaSource { } private void getChildDataByChildIndex(int childIndex, ChildDataHolder childData) { - childData.timeline = timelines[childIndex]; - childData.firstPeriodIndexInChild = getFirstPeriodIndexInChild(childIndex); - childData.firstWindowIndexInChild = getFirstWindowIndexInChild(childIndex); - childData.uid = childIndex; + childData.setData(timelines[childIndex], getFirstPeriodIndexInChild(childIndex), + getFirstWindowIndexInChild(childIndex), childIndex); } private int getChildIndexByPeriodIndex(int periodIndex) { diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/LoopingMediaSource.java b/library/core/src/main/java/com/google/android/exoplayer2/source/LoopingMediaSource.java index c663142564..c5f4779217 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/source/LoopingMediaSource.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/source/LoopingMediaSource.java @@ -141,10 +141,8 @@ public final class LoopingMediaSource implements MediaSource { } private void getChildDataByChildIndex(int childIndex, ChildDataHolder childData) { - childData.timeline = childTimeline; - childData.firstPeriodIndexInChild = childIndex * childPeriodCount; - childData.firstWindowIndexInChild = childIndex * childWindowCount; - childData.uid = childIndex; + childData.setData(childTimeline, childIndex * childPeriodCount, childIndex * childWindowCount, + childIndex); } }