Commit 1526ca5e by krocard Committed by Oliver Woodman

Move add/remove Player.Listener down of BasePlayer

The BasePlayer implementation of add/remove
Listener knows about Components.
As those are removed from the Player
interface, the implementation of those
methods needs to be moved down in Player
implementations.

This commit makes no functional change.

PiperOrigin-RevId: 364985291
parent 774cce4d
......@@ -307,11 +307,23 @@ public final class CastPlayer extends BasePlayer {
}
@Override
public void addListener(Listener listener) {
EventListener eventListener = listener;
addListener(eventListener);
}
@Override
public void addListener(EventListener listener) {
listeners.add(listener);
}
@Override
public void removeListener(Listener listener) {
EventListener eventListener = listener;
removeListener(eventListener);
}
@Override
public void removeListener(EventListener listener) {
listeners.remove(listener);
}
......
......@@ -16,7 +16,6 @@
package com.google.android.exoplayer2;
import androidx.annotation.Nullable;
import com.google.android.exoplayer2.util.Assertions;
import com.google.android.exoplayer2.util.Util;
import java.util.Collections;
import java.util.List;
......@@ -31,60 +30,6 @@ public abstract class BasePlayer implements Player {
}
@Override
public final void addListener(Listener listener) {
Assertions.checkNotNull(listener);
@Nullable AudioComponent audioComponent = getAudioComponent();
if (audioComponent != null) {
audioComponent.addAudioListener(listener);
}
@Nullable VideoComponent videoComponent = getVideoComponent();
if (videoComponent != null) {
videoComponent.addVideoListener(listener);
}
@Nullable TextComponent textComponent = getTextComponent();
if (textComponent != null) {
textComponent.addTextOutput(listener);
}
@Nullable MetadataComponent metadataComponent = getMetadataComponent();
if (metadataComponent != null) {
metadataComponent.addMetadataOutput(listener);
}
@Nullable DeviceComponent deviceComponent = getDeviceComponent();
if (deviceComponent != null) {
deviceComponent.addDeviceListener(listener);
}
EventListener eventListener = listener;
addListener(eventListener);
}
@Override
public final void removeListener(Listener listener) {
Assertions.checkNotNull(listener);
@Nullable AudioComponent audioComponent = getAudioComponent();
if (audioComponent != null) {
audioComponent.removeAudioListener(listener);
}
@Nullable VideoComponent videoComponent = getVideoComponent();
if (videoComponent != null) {
videoComponent.removeVideoListener(listener);
}
@Nullable TextComponent textComponent = getTextComponent();
if (textComponent != null) {
textComponent.removeTextOutput(listener);
}
@Nullable MetadataComponent metadataComponent = getMetadataComponent();
if (metadataComponent != null) {
metadataComponent.removeMetadataOutput(listener);
}
@Nullable DeviceComponent deviceComponent = getDeviceComponent();
if (deviceComponent != null) {
deviceComponent.removeDeviceListener(listener);
}
EventListener eventListener = listener;
removeListener(eventListener);
}
@Override
public final void setMediaItem(MediaItem mediaItem) {
setMediaItems(Collections.singletonList(mediaItem));
}
......
......@@ -301,11 +301,23 @@ import java.util.concurrent.CopyOnWriteArraySet;
}
@Override
public void addListener(Listener listener) {
EventListener eventListener = listener;
addListener(eventListener);
}
@Override
public void addListener(Player.EventListener listener) {
listeners.add(listener);
}
@Override
public void removeListener(Listener listener) {
EventListener eventListener = listener;
removeListener(eventListener);
}
@Override
public void removeListener(Player.EventListener listener) {
listeners.remove(listener);
}
......
......@@ -1233,6 +1233,18 @@ public class SimpleExoPlayer extends BasePlayer
}
@Override
public void addListener(Listener listener) {
Assertions.checkNotNull(listener);
addAudioListener(listener);
addVideoListener(listener);
addTextOutput(listener);
addMetadataOutput(listener);
addDeviceListener(listener);
EventListener eventListener = listener;
addListener(eventListener);
}
@Override
public void addListener(Player.EventListener listener) {
// Don't verify application thread. We allow calls to this method from any thread.
Assertions.checkNotNull(listener);
......@@ -1240,6 +1252,18 @@ public class SimpleExoPlayer extends BasePlayer
}
@Override
public void removeListener(Listener listener) {
Assertions.checkNotNull(listener);
removeAudioListener(listener);
removeVideoListener(listener);
removeTextOutput(listener);
removeMetadataOutput(listener);
removeDeviceListener(listener);
EventListener eventListener = listener;
removeListener(eventListener);
}
@Override
public void removeListener(Player.EventListener listener) {
// Don't verify application thread. We allow calls to this method from any thread.
player.removeListener(listener);
......
......@@ -82,11 +82,21 @@ public class StubExoPlayer extends BasePlayer implements ExoPlayer {
}
@Override
public void addListener(Listener listener) {
throw new UnsupportedOperationException();
}
@Override
public void addListener(Player.EventListener listener) {
throw new UnsupportedOperationException();
}
@Override
public void removeListener(Listener listener) {
throw new UnsupportedOperationException();
}
@Override
public void removeListener(Player.EventListener listener) {
throw new UnsupportedOperationException();
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment