Add some missing thread verifications

This adds some missing calls to verifyApplicationThread to
ExoPlayerImpl.

Now all public methods start with this call, except listener
registrations because registration after construction on a background
thread is allowed and supported.

PiperOrigin-RevId: 428009498
This commit is contained in:
tonihei 2022-02-11 16:33:29 +00:00 committed by Ian Baker
parent 644524f444
commit 95abd7d3cc

View file

@ -382,6 +382,7 @@ import java.util.concurrent.TimeoutException;
@Override @Override
@Deprecated @Deprecated
public AudioComponent getAudioComponent() { public AudioComponent getAudioComponent() {
verifyApplicationThread();
return this; return this;
} }
@ -389,6 +390,7 @@ import java.util.concurrent.TimeoutException;
@Override @Override
@Deprecated @Deprecated
public VideoComponent getVideoComponent() { public VideoComponent getVideoComponent() {
verifyApplicationThread();
return this; return this;
} }
@ -396,6 +398,7 @@ import java.util.concurrent.TimeoutException;
@Override @Override
@Deprecated @Deprecated
public TextComponent getTextComponent() { public TextComponent getTextComponent() {
verifyApplicationThread();
return this; return this;
} }
@ -403,6 +406,7 @@ import java.util.concurrent.TimeoutException;
@Override @Override
@Deprecated @Deprecated
public DeviceComponent getDeviceComponent() { public DeviceComponent getDeviceComponent() {
verifyApplicationThread();
return this; return this;
} }
@ -476,6 +480,7 @@ import java.util.concurrent.TimeoutException;
@Override @Override
@Deprecated @Deprecated
public void retry() { public void retry() {
verifyApplicationThread();
prepare(); prepare();
} }
@ -906,6 +911,7 @@ import java.util.concurrent.TimeoutException;
@Override @Override
public void stop() { public void stop() {
verifyApplicationThread();
stop(/* reset= */ false); stop(/* reset= */ false);
} }
@ -1189,6 +1195,7 @@ import java.util.concurrent.TimeoutException;
@Override @Override
public @C.VideoScalingMode int getVideoScalingMode() { public @C.VideoScalingMode int getVideoScalingMode() {
verifyApplicationThread();
return videoScalingMode; return videoScalingMode;
} }
@ -1206,11 +1213,13 @@ import java.util.concurrent.TimeoutException;
@Override @Override
public @C.VideoChangeFrameRateStrategy int getVideoChangeFrameRateStrategy() { public @C.VideoChangeFrameRateStrategy int getVideoChangeFrameRateStrategy() {
verifyApplicationThread();
return videoChangeFrameRateStrategy; return videoChangeFrameRateStrategy;
} }
@Override @Override
public VideoSize getVideoSize() { public VideoSize getVideoSize() {
verifyApplicationThread();
return videoSize; return videoSize;
} }
@ -1357,6 +1366,7 @@ import java.util.concurrent.TimeoutException;
@Override @Override
public AudioAttributes getAudioAttributes() { public AudioAttributes getAudioAttributes() {
verifyApplicationThread();
return audioAttributes; return audioAttributes;
} }
@ -1387,6 +1397,7 @@ import java.util.concurrent.TimeoutException;
@Override @Override
public int getAudioSessionId() { public int getAudioSessionId() {
verifyApplicationThread();
return audioSessionId; return audioSessionId;
} }
@ -1398,6 +1409,7 @@ import java.util.concurrent.TimeoutException;
@Override @Override
public void clearAuxEffectInfo() { public void clearAuxEffectInfo() {
verifyApplicationThread();
setAuxEffectInfo(new AuxEffectInfo(AuxEffectInfo.NO_AUX_EFFECT_ID, /* sendLevel= */ 0f)); setAuxEffectInfo(new AuxEffectInfo(AuxEffectInfo.NO_AUX_EFFECT_ID, /* sendLevel= */ 0f));
} }
@ -1416,11 +1428,13 @@ import java.util.concurrent.TimeoutException;
@Override @Override
public float getVolume() { public float getVolume() {
verifyApplicationThread();
return volume; return volume;
} }
@Override @Override
public boolean getSkipSilenceEnabled() { public boolean getSkipSilenceEnabled() {
verifyApplicationThread();
return skipSilenceEnabled; return skipSilenceEnabled;
} }
@ -1439,6 +1453,7 @@ import java.util.concurrent.TimeoutException;
@Override @Override
public AnalyticsCollector getAnalyticsCollector() { public AnalyticsCollector getAnalyticsCollector() {
verifyApplicationThread();
return analyticsCollector; return analyticsCollector;
} }
@ -1485,24 +1500,28 @@ import java.util.concurrent.TimeoutException;
@Override @Override
@Nullable @Nullable
public Format getVideoFormat() { public Format getVideoFormat() {
verifyApplicationThread();
return videoFormat; return videoFormat;
} }
@Override @Override
@Nullable @Nullable
public Format getAudioFormat() { public Format getAudioFormat() {
verifyApplicationThread();
return audioFormat; return audioFormat;
} }
@Override @Override
@Nullable @Nullable
public DecoderCounters getVideoDecoderCounters() { public DecoderCounters getVideoDecoderCounters() {
verifyApplicationThread();
return videoDecoderCounters; return videoDecoderCounters;
} }
@Override @Override
@Nullable @Nullable
public DecoderCounters getAudioDecoderCounters() { public DecoderCounters getAudioDecoderCounters() {
verifyApplicationThread();
return audioDecoderCounters; return audioDecoderCounters;
} }
@ -1572,6 +1591,7 @@ import java.util.concurrent.TimeoutException;
@Override @Override
public void setHandleWakeLock(boolean handleWakeLock) { public void setHandleWakeLock(boolean handleWakeLock) {
verifyApplicationThread();
setWakeMode(handleWakeLock ? C.WAKE_MODE_LOCAL : C.WAKE_MODE_NONE); setWakeMode(handleWakeLock ? C.WAKE_MODE_LOCAL : C.WAKE_MODE_NONE);
} }