Mark WebvttCue constructors private

Everyone should use the Builder.

PiperOrigin-RevId: 276468354
This commit is contained in:
ibaker 2019-10-24 13:35:09 +01:00 committed by Oliver Woodman
parent 47423b3100
commit d898122ec5
3 changed files with 54 additions and 23 deletions

View File

@ -16,7 +16,6 @@
package com.google.android.exoplayer2.text.webvtt;
import android.text.Layout.Alignment;
import android.text.SpannableStringBuilder;
import com.google.android.exoplayer2.text.Cue;
import com.google.android.exoplayer2.util.Log;
@ -28,18 +27,17 @@ public final class WebvttCue extends Cue {
public final long startTime;
public final long endTime;
public WebvttCue(CharSequence text) {
this(0, 0, text);
}
public WebvttCue(long startTime, long endTime, CharSequence text) {
this(startTime, endTime, text, null, Cue.DIMEN_UNSET, Cue.TYPE_UNSET, Cue.TYPE_UNSET,
Cue.DIMEN_UNSET, Cue.TYPE_UNSET, Cue.DIMEN_UNSET);
}
public WebvttCue(long startTime, long endTime, CharSequence text, Alignment textAlignment,
float line, @Cue.LineType int lineType, @Cue.AnchorType int lineAnchor, float position,
@Cue.AnchorType int positionAnchor, float width) {
private WebvttCue(
long startTime,
long endTime,
CharSequence text,
Alignment textAlignment,
float line,
@Cue.LineType int lineType,
@Cue.AnchorType int lineAnchor,
float position,
@Cue.AnchorType int positionAnchor,
float width) {
super(text, textAlignment, line, lineType, lineAnchor, position, positionAnchor, width);
this.startTime = startTime;
this.endTime = endTime;
@ -65,7 +63,7 @@ public final class WebvttCue extends Cue {
private long startTime;
private long endTime;
private SpannableStringBuilder text;
private CharSequence text;
private Alignment textAlignment;
private float line;
private int lineType;
@ -113,8 +111,8 @@ public final class WebvttCue extends Cue {
return this;
}
public Builder setText(SpannableStringBuilder aText) {
text = aText;
public Builder setText(CharSequence text) {
this.text = text;
return this;
}

View File

@ -102,7 +102,7 @@ import java.util.List;
}
if (normalCueTextBuilder != null) {
// there were multiple normal cues, so create a new cue with all of the text
list.add(new WebvttCue(normalCueTextBuilder));
list.add(new WebvttCue.Builder().setText(normalCueTextBuilder).build());
} else if (firstNormalCue != null) {
// there was only a single normal cue, so just add it to the list
list.add(firstNormalCue);

View File

@ -39,31 +39,64 @@ public class WebvttSubtitleTest {
private static final WebvttSubtitle emptySubtitle = new WebvttSubtitle(Collections.emptyList());
private static final WebvttSubtitle simpleSubtitle;
static {
ArrayList<WebvttCue> simpleSubtitleCues = new ArrayList<>();
WebvttCue firstCue = new WebvttCue(1000000, 2000000, FIRST_SUBTITLE_STRING);
WebvttCue firstCue =
new WebvttCue.Builder()
.setStartTime(1000000)
.setEndTime(2000000)
.setText(FIRST_SUBTITLE_STRING)
.build();
simpleSubtitleCues.add(firstCue);
WebvttCue secondCue = new WebvttCue(3000000, 4000000, SECOND_SUBTITLE_STRING);
WebvttCue secondCue =
new WebvttCue.Builder()
.setStartTime(3000000)
.setEndTime(4000000)
.setText(SECOND_SUBTITLE_STRING)
.build();
simpleSubtitleCues.add(secondCue);
simpleSubtitle = new WebvttSubtitle(simpleSubtitleCues);
}
private static final WebvttSubtitle overlappingSubtitle;
static {
ArrayList<WebvttCue> overlappingSubtitleCues = new ArrayList<>();
WebvttCue firstCue = new WebvttCue(1000000, 3000000, FIRST_SUBTITLE_STRING);
WebvttCue firstCue =
new WebvttCue.Builder()
.setStartTime(1000000)
.setEndTime(3000000)
.setText(FIRST_SUBTITLE_STRING)
.build();
overlappingSubtitleCues.add(firstCue);
WebvttCue secondCue = new WebvttCue(2000000, 4000000, SECOND_SUBTITLE_STRING);
WebvttCue secondCue =
new WebvttCue.Builder()
.setStartTime(2000000)
.setEndTime(4000000)
.setText(SECOND_SUBTITLE_STRING)
.build();
overlappingSubtitleCues.add(secondCue);
overlappingSubtitle = new WebvttSubtitle(overlappingSubtitleCues);
}
private static final WebvttSubtitle nestedSubtitle;
static {
ArrayList<WebvttCue> nestedSubtitleCues = new ArrayList<>();
WebvttCue firstCue = new WebvttCue(1000000, 4000000, FIRST_SUBTITLE_STRING);
WebvttCue firstCue =
new WebvttCue.Builder()
.setStartTime(1000000)
.setEndTime(4000000)
.setText(FIRST_SUBTITLE_STRING)
.build();
nestedSubtitleCues.add(firstCue);
WebvttCue secondCue = new WebvttCue(2000000, 3000000, SECOND_SUBTITLE_STRING);
WebvttCue secondCue =
new WebvttCue.Builder()
.setStartTime(2000000)
.setEndTime(3000000)
.setText(SECOND_SUBTITLE_STRING)
.build();
nestedSubtitleCues.add(secondCue);
nestedSubtitle = new WebvttSubtitle(nestedSubtitleCues);
}