mirror of
https://github.com/androidx/media.git
synced 2025-05-18 04:59:54 +08:00
Rename ExoFlags to FlagSet
We want to remove mentions of ExoPlayer for convergence. PiperOrigin-RevId: 377290376
This commit is contained in:
parent
36841d4f6f
commit
b0a3bc5b28
@ -33,7 +33,7 @@ import com.google.android.exoplayer2.source.TrackGroupArray;
|
||||
import com.google.android.exoplayer2.text.Cue;
|
||||
import com.google.android.exoplayer2.text.TextOutput;
|
||||
import com.google.android.exoplayer2.trackselection.TrackSelectionArray;
|
||||
import com.google.android.exoplayer2.util.ExoFlags;
|
||||
import com.google.android.exoplayer2.util.FlagSet;
|
||||
import com.google.android.exoplayer2.util.Util;
|
||||
import com.google.android.exoplayer2.video.VideoListener;
|
||||
import com.google.android.exoplayer2.video.VideoSize;
|
||||
@ -345,14 +345,14 @@ public interface Player {
|
||||
/** A set of {@link EventFlags}. */
|
||||
final class Events {
|
||||
|
||||
private final ExoFlags flags;
|
||||
private final FlagSet flags;
|
||||
|
||||
/**
|
||||
* Creates an instance.
|
||||
*
|
||||
* @param flags The {@link ExoFlags} containing the {@link EventFlags} in the set.
|
||||
* @param flags The {@link FlagSet} containing the {@link EventFlags} in the set.
|
||||
*/
|
||||
public Events(ExoFlags flags) {
|
||||
public Events(FlagSet flags) {
|
||||
this.flags = flags;
|
||||
}
|
||||
|
||||
@ -608,15 +608,15 @@ public interface Player {
|
||||
COMMAND_GET_TEXT
|
||||
};
|
||||
|
||||
private final ExoFlags.Builder flagsBuilder;
|
||||
private final FlagSet.Builder flagsBuilder;
|
||||
|
||||
/** Creates a builder. */
|
||||
public Builder() {
|
||||
flagsBuilder = new ExoFlags.Builder();
|
||||
flagsBuilder = new FlagSet.Builder();
|
||||
}
|
||||
|
||||
private Builder(Commands commands) {
|
||||
flagsBuilder = new ExoFlags.Builder();
|
||||
flagsBuilder = new FlagSet.Builder();
|
||||
flagsBuilder.addAll(commands.flags);
|
||||
}
|
||||
|
||||
@ -730,9 +730,9 @@ public interface Player {
|
||||
/** An empty set of commands. */
|
||||
public static final Commands EMPTY = new Builder().build();
|
||||
|
||||
private final ExoFlags flags;
|
||||
private final FlagSet flags;
|
||||
|
||||
private Commands(ExoFlags flags) {
|
||||
private Commands(FlagSet flags) {
|
||||
this.flags = flags;
|
||||
}
|
||||
|
||||
|
@ -29,9 +29,9 @@ import androidx.annotation.Nullable;
|
||||
*
|
||||
* <p>Instances are immutable.
|
||||
*/
|
||||
public final class ExoFlags {
|
||||
public final class FlagSet {
|
||||
|
||||
/** A builder for {@link ExoFlags} instances. */
|
||||
/** A builder for {@link FlagSet} instances. */
|
||||
public static final class Builder {
|
||||
|
||||
private final SparseBooleanArray flags;
|
||||
@ -86,13 +86,13 @@ public final class ExoFlags {
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds {@link ExoFlags flags}.
|
||||
* Adds {@link FlagSet flags}.
|
||||
*
|
||||
* @param flags The set of flags to add.
|
||||
* @return This builder.
|
||||
* @throws IllegalStateException If {@link #build()} has already been called.
|
||||
*/
|
||||
public Builder addAll(ExoFlags flags) {
|
||||
public Builder addAll(FlagSet flags) {
|
||||
for (int i = 0; i < flags.size(); i++) {
|
||||
add(flags.get(i));
|
||||
}
|
||||
@ -142,21 +142,21 @@ public final class ExoFlags {
|
||||
}
|
||||
|
||||
/**
|
||||
* Builds an {@link ExoFlags} instance.
|
||||
* Builds an {@link FlagSet} instance.
|
||||
*
|
||||
* @throws IllegalStateException If this method has already been called.
|
||||
*/
|
||||
public ExoFlags build() {
|
||||
public FlagSet build() {
|
||||
checkState(!buildCalled);
|
||||
buildCalled = true;
|
||||
return new ExoFlags(flags);
|
||||
return new FlagSet(flags);
|
||||
}
|
||||
}
|
||||
|
||||
// A SparseBooleanArray is used instead of a Set to avoid auto-boxing the flag values.
|
||||
private final SparseBooleanArray flags;
|
||||
|
||||
private ExoFlags(SparseBooleanArray flags) {
|
||||
private FlagSet(SparseBooleanArray flags) {
|
||||
this.flags = flags;
|
||||
}
|
||||
|
||||
@ -207,10 +207,10 @@ public final class ExoFlags {
|
||||
if (this == o) {
|
||||
return true;
|
||||
}
|
||||
if (!(o instanceof ExoFlags)) {
|
||||
if (!(o instanceof FlagSet)) {
|
||||
return false;
|
||||
}
|
||||
ExoFlags that = (ExoFlags) o;
|
||||
FlagSet that = (FlagSet) o;
|
||||
return flags.equals(that.flags);
|
||||
}
|
||||
|
@ -60,10 +60,10 @@ public final class ListenerSet<T> {
|
||||
* Invokes the iteration finished event.
|
||||
*
|
||||
* @param listener The listener to invoke the event on.
|
||||
* @param eventFlags The combined event {@link ExoFlags flags} of all events sent in this
|
||||
* @param eventFlags The combined event {@link FlagSet flags} of all events sent in this
|
||||
* iteration.
|
||||
*/
|
||||
void invoke(T listener, ExoFlags eventFlags);
|
||||
void invoke(T listener, FlagSet eventFlags);
|
||||
}
|
||||
|
||||
private static final int MSG_ITERATION_FINISHED = 0;
|
||||
@ -259,13 +259,13 @@ public final class ListenerSet<T> {
|
||||
|
||||
@Nonnull public final T listener;
|
||||
|
||||
private ExoFlags.Builder flagsBuilder;
|
||||
private FlagSet.Builder flagsBuilder;
|
||||
private boolean needsIterationFinishedEvent;
|
||||
private boolean released;
|
||||
|
||||
public ListenerHolder(@Nonnull T listener) {
|
||||
this.listener = listener;
|
||||
this.flagsBuilder = new ExoFlags.Builder();
|
||||
this.flagsBuilder = new FlagSet.Builder();
|
||||
}
|
||||
|
||||
public void release(IterationFinishedEvent<T> event) {
|
||||
@ -289,8 +289,8 @@ public final class ListenerSet<T> {
|
||||
if (!released && needsIterationFinishedEvent) {
|
||||
// Reset flags before invoking the listener to ensure we keep all new flags that are set by
|
||||
// recursive events triggered from this callback.
|
||||
ExoFlags flagsToNotify = flagsBuilder.build();
|
||||
flagsBuilder = new ExoFlags.Builder();
|
||||
FlagSet flagsToNotify = flagsBuilder.build();
|
||||
flagsBuilder = new FlagSet.Builder();
|
||||
needsIterationFinishedEvent = false;
|
||||
event.invoke(listener, flagsToNotify);
|
||||
}
|
||||
|
@ -26,7 +26,7 @@ import static org.mockito.Mockito.verify;
|
||||
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
import com.google.android.exoplayer2.testutil.StubExoPlayer;
|
||||
import com.google.android.exoplayer2.util.ExoFlags;
|
||||
import com.google.android.exoplayer2.util.FlagSet;
|
||||
import java.lang.reflect.Method;
|
||||
import java.lang.reflect.Modifier;
|
||||
import java.util.ArrayDeque;
|
||||
@ -123,7 +123,7 @@ public class ForwardingPlayerTest {
|
||||
forwardingListener.onEvents(
|
||||
player,
|
||||
new Player.Events(
|
||||
new ExoFlags.Builder()
|
||||
new FlagSet.Builder()
|
||||
.addAll(
|
||||
EVENT_TIMELINE_CHANGED, EVENT_MEDIA_ITEM_TRANSITION, EVENT_IS_PLAYING_CHANGED)
|
||||
.build()));
|
||||
|
@ -24,13 +24,13 @@ import java.util.List;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
/** Unit test for {@link ExoFlags}. */
|
||||
/** Unit test for {@link FlagSet}. */
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public final class ExoFlagsTest {
|
||||
public final class FlagSetTest {
|
||||
|
||||
@Test
|
||||
public void contains_withoutAdd_returnsFalseForAllValues() {
|
||||
ExoFlags flags = new ExoFlags.Builder().build();
|
||||
FlagSet flags = new FlagSet.Builder().build();
|
||||
|
||||
assertThat(flags.contains(/* flag= */ -1234)).isFalse();
|
||||
assertThat(flags.contains(/* flag= */ 0)).isFalse();
|
||||
@ -40,8 +40,8 @@ public final class ExoFlagsTest {
|
||||
|
||||
@Test
|
||||
public void contains_afterAdd_returnsTrueForAddedValues() {
|
||||
ExoFlags flags =
|
||||
new ExoFlags.Builder()
|
||||
FlagSet flags =
|
||||
new FlagSet.Builder()
|
||||
.add(/* flag= */ -1234)
|
||||
.add(/* flag= */ 0)
|
||||
.add(/* flag= */ 2)
|
||||
@ -59,8 +59,8 @@ public final class ExoFlagsTest {
|
||||
|
||||
@Test
|
||||
public void contains_afterAddIf_returnsTrueForAddedValues() {
|
||||
ExoFlags flags =
|
||||
new ExoFlags.Builder()
|
||||
FlagSet flags =
|
||||
new FlagSet.Builder()
|
||||
.addIf(/* flag= */ -1234, /* condition= */ true)
|
||||
.addIf(/* flag= */ 0, /* condition= */ false)
|
||||
.addIf(/* flag= */ 2, /* condition= */ true)
|
||||
@ -78,15 +78,15 @@ public final class ExoFlagsTest {
|
||||
|
||||
@Test
|
||||
public void containsAny_withoutAdd_returnsFalseForAllValues() {
|
||||
ExoFlags flags = new ExoFlags.Builder().build();
|
||||
FlagSet flags = new FlagSet.Builder().build();
|
||||
|
||||
assertThat(flags.containsAny(/* flags...= */ -1234, 0, 2, Integer.MAX_VALUE)).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void containsAny_afterAdd_returnsTrueForAddedValues() {
|
||||
ExoFlags flags =
|
||||
new ExoFlags.Builder()
|
||||
FlagSet flags =
|
||||
new FlagSet.Builder()
|
||||
.add(/* flag= */ -1234)
|
||||
.add(/* flag= */ 0)
|
||||
.add(/* flag= */ 2)
|
||||
@ -102,15 +102,15 @@ public final class ExoFlagsTest {
|
||||
|
||||
@Test
|
||||
public void size_withoutAdd_returnsZero() {
|
||||
ExoFlags flags = new ExoFlags.Builder().build();
|
||||
FlagSet flags = new FlagSet.Builder().build();
|
||||
|
||||
assertThat(flags.size()).isEqualTo(0);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void size_afterAdd_returnsNumberUniqueOfElements() {
|
||||
ExoFlags flags =
|
||||
new ExoFlags.Builder()
|
||||
FlagSet flags =
|
||||
new FlagSet.Builder()
|
||||
.add(/* flag= */ 0)
|
||||
.add(/* flag= */ 0)
|
||||
.add(/* flag= */ 0)
|
||||
@ -123,22 +123,22 @@ public final class ExoFlagsTest {
|
||||
|
||||
@Test
|
||||
public void get_withNegativeIndex_throwsIndexOutOfBoundsException() {
|
||||
ExoFlags flags = new ExoFlags.Builder().build();
|
||||
FlagSet flags = new FlagSet.Builder().build();
|
||||
|
||||
assertThrows(IndexOutOfBoundsException.class, () -> flags.get(/* index= */ -1));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void get_withIndexExceedingSize_throwsIndexOutOfBoundsException() {
|
||||
ExoFlags flags = new ExoFlags.Builder().add(/* flag= */ 0).add(/* flag= */ 123).build();
|
||||
FlagSet flags = new FlagSet.Builder().add(/* flag= */ 0).add(/* flag= */ 123).build();
|
||||
|
||||
assertThrows(IndexOutOfBoundsException.class, () -> flags.get(/* index= */ 2));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void get_afterAdd_returnsAllUniqueValues() {
|
||||
ExoFlags flags =
|
||||
new ExoFlags.Builder()
|
||||
FlagSet flags =
|
||||
new FlagSet.Builder()
|
||||
.add(/* flag= */ 0)
|
||||
.add(/* flag= */ 0)
|
||||
.add(/* flag= */ 0)
|
@ -148,22 +148,22 @@ public class ListenerSetTest {
|
||||
InOrder inOrder = Mockito.inOrder(listener1, listener2);
|
||||
inOrder.verify(listener1).callback2();
|
||||
inOrder.verify(listener2).callback2();
|
||||
inOrder.verify(listener1).iterationFinished(createExoFlags(EVENT_ID_2));
|
||||
inOrder.verify(listener2).iterationFinished(createExoFlags(EVENT_ID_2));
|
||||
inOrder.verify(listener1).iterationFinished(createFlagSet(EVENT_ID_2));
|
||||
inOrder.verify(listener2).iterationFinished(createFlagSet(EVENT_ID_2));
|
||||
inOrder.verify(listener1).callback1();
|
||||
inOrder.verify(listener2).callback1();
|
||||
inOrder.verify(listener1).callback2();
|
||||
inOrder.verify(listener2).callback2();
|
||||
inOrder.verify(listener1).callback1();
|
||||
inOrder.verify(listener2).callback1();
|
||||
inOrder.verify(listener1).iterationFinished(createExoFlags(EVENT_ID_1, EVENT_ID_2));
|
||||
inOrder.verify(listener2).iterationFinished(createExoFlags(EVENT_ID_1, EVENT_ID_2));
|
||||
inOrder.verify(listener1).iterationFinished(createFlagSet(EVENT_ID_1, EVENT_ID_2));
|
||||
inOrder.verify(listener2).iterationFinished(createFlagSet(EVENT_ID_1, EVENT_ID_2));
|
||||
inOrder.verify(listener1).callback3();
|
||||
inOrder.verify(listener2).callback3();
|
||||
inOrder.verify(listener1).callback1();
|
||||
inOrder.verify(listener2).callback1();
|
||||
inOrder.verify(listener1).iterationFinished(createExoFlags(EVENT_ID_1, EVENT_ID_3));
|
||||
inOrder.verify(listener2).iterationFinished(createExoFlags(EVENT_ID_1, EVENT_ID_3));
|
||||
inOrder.verify(listener1).iterationFinished(createFlagSet(EVENT_ID_1, EVENT_ID_3));
|
||||
inOrder.verify(listener2).iterationFinished(createFlagSet(EVENT_ID_1, EVENT_ID_3));
|
||||
inOrder.verifyNoMoreInteractions();
|
||||
}
|
||||
|
||||
@ -178,7 +178,7 @@ public class ListenerSetTest {
|
||||
boolean eventSent;
|
||||
|
||||
@Override
|
||||
public void iterationFinished(ExoFlags flags) {
|
||||
public void iterationFinished(FlagSet flags) {
|
||||
if (!eventSent) {
|
||||
listenerSet.sendEvent(EVENT_ID_1, TestListener::callback1);
|
||||
eventSent = true;
|
||||
@ -198,14 +198,14 @@ public class ListenerSetTest {
|
||||
inOrder.verify(listener1).callback2();
|
||||
inOrder.verify(listener2).callback2();
|
||||
inOrder.verify(listener3).callback2();
|
||||
inOrder.verify(listener1).iterationFinished(createExoFlags(EVENT_ID_2));
|
||||
inOrder.verify(listener2).iterationFinished(createExoFlags(EVENT_ID_2));
|
||||
inOrder.verify(listener1).iterationFinished(createFlagSet(EVENT_ID_2));
|
||||
inOrder.verify(listener2).iterationFinished(createFlagSet(EVENT_ID_2));
|
||||
inOrder.verify(listener1).callback1();
|
||||
inOrder.verify(listener2).callback1();
|
||||
inOrder.verify(listener3).callback1();
|
||||
inOrder.verify(listener1).iterationFinished(createExoFlags(EVENT_ID_1));
|
||||
inOrder.verify(listener2).iterationFinished(createExoFlags(EVENT_ID_1));
|
||||
inOrder.verify(listener3).iterationFinished(createExoFlags(EVENT_ID_1, EVENT_ID_2));
|
||||
inOrder.verify(listener1).iterationFinished(createFlagSet(EVENT_ID_1));
|
||||
inOrder.verify(listener2).iterationFinished(createFlagSet(EVENT_ID_1));
|
||||
inOrder.verify(listener3).iterationFinished(createFlagSet(EVENT_ID_1, EVENT_ID_2));
|
||||
inOrder.verifyNoMoreInteractions();
|
||||
}
|
||||
|
||||
@ -248,8 +248,8 @@ public class ListenerSetTest {
|
||||
inOrder.verify(listener1).callback1();
|
||||
inOrder.verify(listener1).callback2();
|
||||
inOrder.verify(listener2).callback2();
|
||||
inOrder.verify(listener1).iterationFinished(createExoFlags(EVENT_ID_1, EVENT_ID_2));
|
||||
inOrder.verify(listener2).iterationFinished(createExoFlags(EVENT_ID_2));
|
||||
inOrder.verify(listener1).iterationFinished(createFlagSet(EVENT_ID_1, EVENT_ID_2));
|
||||
inOrder.verify(listener2).iterationFinished(createFlagSet(EVENT_ID_2));
|
||||
inOrder.verifyNoMoreInteractions();
|
||||
}
|
||||
|
||||
@ -273,8 +273,8 @@ public class ListenerSetTest {
|
||||
inOrder.verify(listener1).callback1();
|
||||
inOrder.verify(listener1).callback2();
|
||||
inOrder.verify(listener2).callback2();
|
||||
inOrder.verify(listener1).iterationFinished(createExoFlags(EVENT_ID_1, EVENT_ID_2));
|
||||
inOrder.verify(listener2).iterationFinished(createExoFlags(EVENT_ID_2));
|
||||
inOrder.verify(listener1).iterationFinished(createFlagSet(EVENT_ID_1, EVENT_ID_2));
|
||||
inOrder.verify(listener2).iterationFinished(createFlagSet(EVENT_ID_2));
|
||||
inOrder.verifyNoMoreInteractions();
|
||||
}
|
||||
|
||||
@ -302,7 +302,7 @@ public class ListenerSetTest {
|
||||
ShadowLooper.runMainLooperToNextTask();
|
||||
|
||||
verify(listener1).callback1();
|
||||
verify(listener1).iterationFinished(createExoFlags(EVENT_ID_1));
|
||||
verify(listener1).iterationFinished(createFlagSet(EVENT_ID_1));
|
||||
verifyNoMoreInteractions(listener1, listener2);
|
||||
}
|
||||
|
||||
@ -323,7 +323,7 @@ public class ListenerSetTest {
|
||||
ShadowLooper.runMainLooperToNextTask();
|
||||
|
||||
verify(listener2, times(2)).callback1();
|
||||
verify(listener2).iterationFinished(createExoFlags(EVENT_ID_1));
|
||||
verify(listener2).iterationFinished(createFlagSet(EVENT_ID_1));
|
||||
verifyNoMoreInteractions(listener1, listener2);
|
||||
}
|
||||
|
||||
@ -350,7 +350,7 @@ public class ListenerSetTest {
|
||||
ShadowLooper.runMainLooperToNextTask();
|
||||
|
||||
verify(listener1).callback1();
|
||||
verify(listener1).iterationFinished(createExoFlags(EVENT_ID_1));
|
||||
verify(listener1).iterationFinished(createFlagSet(EVENT_ID_1));
|
||||
verifyNoMoreInteractions(listener1, listener2);
|
||||
}
|
||||
|
||||
@ -390,8 +390,8 @@ public class ListenerSetTest {
|
||||
// lazy release.
|
||||
verify(listener, times(3)).callback1();
|
||||
verify(listener).callback3();
|
||||
verify(listener).iterationFinished(createExoFlags(EVENT_ID_1));
|
||||
verify(listener).iterationFinished(createExoFlags(EVENT_ID_1, EVENT_ID_3));
|
||||
verify(listener).iterationFinished(createFlagSet(EVENT_ID_1));
|
||||
verify(listener).iterationFinished(createFlagSet(EVENT_ID_1, EVENT_ID_3));
|
||||
verifyNoMoreInteractions(listener);
|
||||
}
|
||||
|
||||
@ -402,11 +402,11 @@ public class ListenerSetTest {
|
||||
|
||||
default void callback3() {}
|
||||
|
||||
default void iterationFinished(ExoFlags flags) {}
|
||||
default void iterationFinished(FlagSet flags) {}
|
||||
}
|
||||
|
||||
private static ExoFlags createExoFlags(int... flagValues) {
|
||||
ExoFlags.Builder flagsBuilder = new ExoFlags.Builder();
|
||||
private static FlagSet createFlagSet(int... flagValues) {
|
||||
FlagSet.Builder flagsBuilder = new FlagSet.Builder();
|
||||
for (int value : flagValues) {
|
||||
flagsBuilder.add(value);
|
||||
}
|
||||
|
@ -49,7 +49,7 @@ import com.google.android.exoplayer2.source.MediaLoadData;
|
||||
import com.google.android.exoplayer2.source.MediaSource.MediaPeriodId;
|
||||
import com.google.android.exoplayer2.source.TrackGroupArray;
|
||||
import com.google.android.exoplayer2.trackselection.TrackSelectionArray;
|
||||
import com.google.android.exoplayer2.util.ExoFlags;
|
||||
import com.google.android.exoplayer2.util.FlagSet;
|
||||
import com.google.android.exoplayer2.video.VideoDecoderOutputBufferRenderer;
|
||||
import com.google.android.exoplayer2.video.VideoSize;
|
||||
import com.google.common.base.Objects;
|
||||
@ -76,18 +76,18 @@ public interface AnalyticsListener {
|
||||
/** A set of {@link EventFlags}. */
|
||||
final class Events {
|
||||
|
||||
private final ExoFlags flags;
|
||||
private final FlagSet flags;
|
||||
private final SparseArray<EventTime> eventTimes;
|
||||
|
||||
/**
|
||||
* Creates an instance.
|
||||
*
|
||||
* @param flags The {@link ExoFlags} containing the {@link EventFlags} in the set.
|
||||
* @param flags The {@link FlagSet} containing the {@link EventFlags} in the set.
|
||||
* @param eventTimes A map from {@link EventFlags} to {@link EventTime}. Must at least contain
|
||||
* all the events recorded in {@code flags}. Events that are not recorded in {@code flags}
|
||||
* are ignored.
|
||||
*/
|
||||
public Events(ExoFlags flags, SparseArray<EventTime> eventTimes) {
|
||||
public Events(FlagSet flags, SparseArray<EventTime> eventTimes) {
|
||||
this.flags = flags;
|
||||
SparseArray<EventTime> flagsToTimes = new SparseArray<>(/* initialCapacity= */ flags.size());
|
||||
for (int i = 0; i < flags.size(); i++) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user