Commit 98f8862d by tonihei Committed by Oliver Woodman

Remove threading requirement from listener registration methods.

These methods operate on a thread-safe collection and are thus
inherently thread-safe. This simplifies some player setup configurations
where initial listeners are added on a background thread (e.g. when
using a dependency injection framework).

PiperOrigin-RevId: 310113181
parent 95ffc365
...@@ -659,11 +659,13 @@ public class SimpleExoPlayer extends BasePlayer ...@@ -659,11 +659,13 @@ public class SimpleExoPlayer extends BasePlayer
@Override @Override
public void addAudioListener(AudioListener listener) { public void addAudioListener(AudioListener listener) {
// Don't verify application thread. We allow calls to this method from any thread.
audioListeners.add(listener); audioListeners.add(listener);
} }
@Override @Override
public void removeAudioListener(AudioListener listener) { public void removeAudioListener(AudioListener listener) {
// Don't verify application thread. We allow calls to this method from any thread.
audioListeners.remove(listener); audioListeners.remove(listener);
} }
...@@ -807,7 +809,7 @@ public class SimpleExoPlayer extends BasePlayer ...@@ -807,7 +809,7 @@ public class SimpleExoPlayer extends BasePlayer
* @param listener The listener to be added. * @param listener The listener to be added.
*/ */
public void addAnalyticsListener(AnalyticsListener listener) { public void addAnalyticsListener(AnalyticsListener listener) {
verifyApplicationThread(); // Don't verify application thread. We allow calls to this method from any thread.
analyticsCollector.addListener(listener); analyticsCollector.addListener(listener);
} }
...@@ -817,7 +819,7 @@ public class SimpleExoPlayer extends BasePlayer ...@@ -817,7 +819,7 @@ public class SimpleExoPlayer extends BasePlayer
* @param listener The listener to be removed. * @param listener The listener to be removed.
*/ */
public void removeAnalyticsListener(AnalyticsListener listener) { public void removeAnalyticsListener(AnalyticsListener listener) {
verifyApplicationThread(); // Don't verify application thread. We allow calls to this method from any thread.
analyticsCollector.removeListener(listener); analyticsCollector.removeListener(listener);
} }
...@@ -906,11 +908,13 @@ public class SimpleExoPlayer extends BasePlayer ...@@ -906,11 +908,13 @@ public class SimpleExoPlayer extends BasePlayer
@Override @Override
public void addVideoListener(com.google.android.exoplayer2.video.VideoListener listener) { public void addVideoListener(com.google.android.exoplayer2.video.VideoListener listener) {
// Don't verify application thread. We allow calls to this method from any thread.
videoListeners.add(listener); videoListeners.add(listener);
} }
@Override @Override
public void removeVideoListener(com.google.android.exoplayer2.video.VideoListener listener) { public void removeVideoListener(com.google.android.exoplayer2.video.VideoListener listener) {
// Don't verify application thread. We allow calls to this method from any thread.
videoListeners.remove(listener); videoListeners.remove(listener);
} }
...@@ -980,11 +984,13 @@ public class SimpleExoPlayer extends BasePlayer ...@@ -980,11 +984,13 @@ public class SimpleExoPlayer extends BasePlayer
@Override @Override
public void addTextOutput(TextOutput listener) { public void addTextOutput(TextOutput listener) {
// Don't verify application thread. We allow calls to this method from any thread.
textOutputs.add(listener); textOutputs.add(listener);
} }
@Override @Override
public void removeTextOutput(TextOutput listener) { public void removeTextOutput(TextOutput listener) {
// Don't verify application thread. We allow calls to this method from any thread.
textOutputs.remove(listener); textOutputs.remove(listener);
} }
...@@ -1021,11 +1027,13 @@ public class SimpleExoPlayer extends BasePlayer ...@@ -1021,11 +1027,13 @@ public class SimpleExoPlayer extends BasePlayer
@Override @Override
public void addMetadataOutput(MetadataOutput listener) { public void addMetadataOutput(MetadataOutput listener) {
// Don't verify application thread. We allow calls to this method from any thread.
metadataOutputs.add(listener); metadataOutputs.add(listener);
} }
@Override @Override
public void removeMetadataOutput(MetadataOutput listener) { public void removeMetadataOutput(MetadataOutput listener) {
// Don't verify application thread. We allow calls to this method from any thread.
metadataOutputs.remove(listener); metadataOutputs.remove(listener);
} }
...@@ -1130,13 +1138,13 @@ public class SimpleExoPlayer extends BasePlayer ...@@ -1130,13 +1138,13 @@ public class SimpleExoPlayer extends BasePlayer
@Override @Override
public void addListener(Player.EventListener listener) { public void addListener(Player.EventListener listener) {
verifyApplicationThread(); // Don't verify application thread. We allow calls to this method from any thread.
player.addListener(listener); player.addListener(listener);
} }
@Override @Override
public void removeListener(Player.EventListener listener) { public void removeListener(Player.EventListener listener) {
verifyApplicationThread(); // Don't verify application thread. We allow calls to this method from any thread.
player.removeListener(listener); player.removeListener(listener);
} }
...@@ -1691,11 +1699,13 @@ public class SimpleExoPlayer extends BasePlayer ...@@ -1691,11 +1699,13 @@ public class SimpleExoPlayer extends BasePlayer
@Override @Override
public void addDeviceListener(DeviceListener listener) { public void addDeviceListener(DeviceListener listener) {
// Don't verify application thread. We allow calls to this method from any thread.
deviceListeners.add(listener); deviceListeners.add(listener);
} }
@Override @Override
public void removeDeviceListener(DeviceListener listener) { public void removeDeviceListener(DeviceListener listener) {
// Don't verify application thread. We allow calls to this method from any thread.
deviceListeners.remove(listener); deviceListeners.remove(listener);
} }
......
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