mirror of
https://github.com/samsonjs/media.git
synced 2026-04-04 11:05:47 +00:00
Rollback of 6ae472243f
*** Original commit *** Rename Util methods to clarify which Looper is used. The method name didn't clarify that either the main or current Looper is used. *** PiperOrigin-RevId: 317283606
This commit is contained in:
parent
6ae472243f
commit
63ae4cc54b
29 changed files with 68 additions and 101 deletions
|
|
@ -72,7 +72,7 @@ public final class LeanbackPlayerAdapter extends PlayerAdapter implements Runnab
|
|||
this.context = context;
|
||||
this.player = player;
|
||||
this.updatePeriodMs = updatePeriodMs;
|
||||
handler = Util.createHandlerForCurrentOrMainLooper();
|
||||
handler = Util.createHandler();
|
||||
componentListener = new ComponentListener();
|
||||
controlDispatcher = new DefaultControlDispatcher();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -437,7 +437,7 @@ public final class MediaSessionConnector {
|
|||
*/
|
||||
public MediaSessionConnector(MediaSessionCompat mediaSession) {
|
||||
this.mediaSession = mediaSession;
|
||||
looper = Util.getCurrentOrMainLooper();
|
||||
looper = Util.getLooper();
|
||||
componentListener = new ComponentListener();
|
||||
commandReceivers = new ArrayList<>();
|
||||
customCommandReceivers = new ArrayList<>();
|
||||
|
|
|
|||
|
|
@ -399,8 +399,8 @@ public final class Util {
|
|||
* <p>If the current thread doesn't have a {@link Looper}, the application's main thread {@link
|
||||
* Looper} is used.
|
||||
*/
|
||||
public static Handler createHandlerForCurrentOrMainLooper() {
|
||||
return createHandlerForCurrentOrMainLooper(/* callback= */ null);
|
||||
public static Handler createHandler() {
|
||||
return createHandler(/* callback= */ null);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -416,9 +416,8 @@ public final class Util {
|
|||
* callback is required.
|
||||
* @return A {@link Handler} with the specified callback on the current {@link Looper} thread.
|
||||
*/
|
||||
public static Handler createHandlerForCurrentOrMainLooper(
|
||||
@Nullable Handler.@UnknownInitialization Callback callback) {
|
||||
return createHandler(getCurrentOrMainLooper(), callback);
|
||||
public static Handler createHandler(@Nullable Handler.@UnknownInitialization Callback callback) {
|
||||
return createHandler(getLooper(), callback);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -442,8 +441,8 @@ public final class Util {
|
|||
* Returns the {@link Looper} associated with the current thread, or the {@link Looper} of the
|
||||
* application's main thread if the current thread doesn't have a {@link Looper}.
|
||||
*/
|
||||
public static Looper getCurrentOrMainLooper() {
|
||||
@Nullable Looper myLooper = Looper.myLooper();
|
||||
public static Looper getLooper() {
|
||||
Looper myLooper = Looper.myLooper();
|
||||
return myLooper != null ? myLooper : Looper.getMainLooper();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -209,7 +209,7 @@ public interface ExoPlayer extends Player {
|
|||
this.mediaSourceFactory = mediaSourceFactory;
|
||||
this.loadControl = loadControl;
|
||||
this.bandwidthMeter = bandwidthMeter;
|
||||
looper = Util.getCurrentOrMainLooper();
|
||||
looper = Util.getLooper();
|
||||
useLazyPreparation = true;
|
||||
seekParameters = SeekParameters.DEFAULT;
|
||||
clock = Clock.DEFAULT;
|
||||
|
|
|
|||
|
|
@ -101,7 +101,11 @@ public final class ExoPlayerFactory {
|
|||
TrackSelector trackSelector,
|
||||
LoadControl loadControl) {
|
||||
return newSimpleInstance(
|
||||
context, renderersFactory, trackSelector, loadControl, Util.getCurrentOrMainLooper());
|
||||
context,
|
||||
renderersFactory,
|
||||
trackSelector,
|
||||
loadControl,
|
||||
Util.getLooper());
|
||||
}
|
||||
|
||||
/** @deprecated Use {@link SimpleExoPlayer.Builder} instead. */
|
||||
|
|
@ -120,7 +124,7 @@ public final class ExoPlayerFactory {
|
|||
loadControl,
|
||||
bandwidthMeter,
|
||||
new AnalyticsCollector(Clock.DEFAULT),
|
||||
Util.getCurrentOrMainLooper());
|
||||
Util.getLooper());
|
||||
}
|
||||
|
||||
/** @deprecated Use {@link SimpleExoPlayer.Builder} instead. */
|
||||
|
|
@ -138,7 +142,7 @@ public final class ExoPlayerFactory {
|
|||
trackSelector,
|
||||
loadControl,
|
||||
analyticsCollector,
|
||||
Util.getCurrentOrMainLooper());
|
||||
Util.getLooper());
|
||||
}
|
||||
|
||||
/** @deprecated Use {@link SimpleExoPlayer.Builder} instead. */
|
||||
|
|
@ -216,8 +220,7 @@ public final class ExoPlayerFactory {
|
|||
@SuppressWarnings("deprecation")
|
||||
public static ExoPlayer newInstance(
|
||||
Context context, Renderer[] renderers, TrackSelector trackSelector, LoadControl loadControl) {
|
||||
return newInstance(
|
||||
context, renderers, trackSelector, loadControl, Util.getCurrentOrMainLooper());
|
||||
return newInstance(context, renderers, trackSelector, loadControl, Util.getLooper());
|
||||
}
|
||||
|
||||
/** @deprecated Use {@link ExoPlayer.Builder} instead. */
|
||||
|
|
|
|||
|
|
@ -437,8 +437,8 @@ import java.util.Set;
|
|||
(source, timeline) -> mediaSourceListInfoListener.onPlaylistUpdateRequested();
|
||||
ForwardingEventListener eventListener = new ForwardingEventListener(holder);
|
||||
childSources.put(holder, new MediaSourceAndListener(mediaSource, caller, eventListener));
|
||||
mediaSource.addEventListener(Util.createHandlerForCurrentOrMainLooper(), eventListener);
|
||||
mediaSource.addDrmEventListener(Util.createHandlerForCurrentOrMainLooper(), eventListener);
|
||||
mediaSource.addEventListener(Util.createHandler(), eventListener);
|
||||
mediaSource.addDrmEventListener(Util.createHandler(), eventListener);
|
||||
mediaSource.prepareSource(caller, mediaTransferListener);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -199,7 +199,7 @@ public class SimpleExoPlayer extends BasePlayer
|
|||
this.loadControl = loadControl;
|
||||
this.bandwidthMeter = bandwidthMeter;
|
||||
this.analyticsCollector = analyticsCollector;
|
||||
looper = Util.getCurrentOrMainLooper();
|
||||
looper = Util.getLooper();
|
||||
audioAttributes = AudioAttributes.DEFAULT;
|
||||
wakeMode = C.WAKE_MODE_NONE;
|
||||
videoScalingMode = Renderer.VIDEO_SCALING_MODE_DEFAULT;
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ public final class AudioCapabilitiesReceiver {
|
|||
context = context.getApplicationContext();
|
||||
this.context = context;
|
||||
this.listener = Assertions.checkNotNull(listener);
|
||||
handler = Util.createHandlerForCurrentOrMainLooper();
|
||||
handler = new Handler(Util.getLooper());
|
||||
receiver = Util.SDK_INT >= 21 ? new HdmiAudioPlugBroadcastReceiver() : null;
|
||||
Uri externalSurroundSoundUri = AudioCapabilities.getExternalSurroundSoundGlobalSettingUri();
|
||||
externalSurroundSoundSettingObserver =
|
||||
|
|
|
|||
|
|
@ -156,7 +156,7 @@ public final class DownloadHelper {
|
|||
public static RendererCapabilities[] getRendererCapabilities(RenderersFactory renderersFactory) {
|
||||
Renderer[] renderers =
|
||||
renderersFactory.createRenderers(
|
||||
Util.createHandlerForCurrentOrMainLooper(),
|
||||
Util.createHandler(),
|
||||
new VideoRendererEventListener() {},
|
||||
new AudioRendererEventListener() {},
|
||||
(cues) -> {},
|
||||
|
|
@ -501,7 +501,7 @@ public final class DownloadHelper {
|
|||
this.rendererCapabilities = rendererCapabilities;
|
||||
this.scratchSet = new SparseIntArray();
|
||||
trackSelector.init(/* listener= */ () -> {}, new DummyBandwidthMeter());
|
||||
callbackHandler = Util.createHandlerForCurrentOrMainLooper();
|
||||
callbackHandler = new Handler(Util.getLooper());
|
||||
window = new Timeline.Window();
|
||||
}
|
||||
|
||||
|
|
@ -970,8 +970,7 @@ public final class DownloadHelper {
|
|||
allocator = new DefaultAllocator(true, C.DEFAULT_BUFFER_SEGMENT_SIZE);
|
||||
pendingMediaPeriods = new ArrayList<>();
|
||||
@SuppressWarnings("methodref.receiver.bound.invalid")
|
||||
Handler downloadThreadHandler =
|
||||
Util.createHandlerForCurrentOrMainLooper(this::handleDownloadHelperCallbackMessage);
|
||||
Handler downloadThreadHandler = Util.createHandler(this::handleDownloadHelperCallbackMessage);
|
||||
this.downloadHelperHandler = downloadThreadHandler;
|
||||
mediaSourceThread = new HandlerThread("ExoPlayer:DownloadHelper");
|
||||
mediaSourceThread.start();
|
||||
|
|
|
|||
|
|
@ -228,7 +228,7 @@ public final class DownloadManager {
|
|||
listeners = new CopyOnWriteArraySet<>();
|
||||
|
||||
@SuppressWarnings("methodref.receiver.bound.invalid")
|
||||
Handler mainHandler = Util.createHandlerForCurrentOrMainLooper(this::handleMainMessage);
|
||||
Handler mainHandler = Util.createHandler(this::handleMainMessage);
|
||||
this.applicationHandler = mainHandler;
|
||||
HandlerThread internalThread = new HandlerThread("ExoPlayer:DownloadManager");
|
||||
internalThread.start();
|
||||
|
|
|
|||
|
|
@ -950,7 +950,7 @@ public abstract class DownloadService extends Service {
|
|||
// DownloadService.getForegroundNotification, and concrete subclass implementations may
|
||||
// not anticipate the possibility of this method being called before their onCreate
|
||||
// implementation has finished executing.
|
||||
Util.createHandlerForCurrentOrMainLooper()
|
||||
Util.createHandler()
|
||||
.postAtFrontOfQueue(
|
||||
() -> downloadService.notifyDownloads(downloadManager.getCurrentDownloads()));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ public final class RequirementsWatcher {
|
|||
this.context = context.getApplicationContext();
|
||||
this.listener = listener;
|
||||
this.requirements = requirements;
|
||||
handler = Util.createHandlerForCurrentOrMainLooper();
|
||||
handler = new Handler(Util.getLooper());
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ public abstract class CompositeMediaSource<T> extends BaseMediaSource {
|
|||
@CallSuper
|
||||
protected void prepareSourceInternal(@Nullable TransferListener mediaTransferListener) {
|
||||
this.mediaTransferListener = mediaTransferListener;
|
||||
eventHandler = Util.createHandlerForCurrentOrMainLooper();
|
||||
eventHandler = Util.createHandler();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -192,7 +192,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
|||
.onContinueLoadingRequested(ProgressiveMediaPeriod.this);
|
||||
}
|
||||
};
|
||||
handler = Util.createHandlerForCurrentOrMainLooper();
|
||||
handler = Util.createHandler();
|
||||
sampleQueueTrackIds = new TrackId[0];
|
||||
sampleQueues = new SampleQueue[0];
|
||||
pendingResetPositionUs = C.TIME_UNSET;
|
||||
|
|
|
|||
|
|
@ -336,7 +336,7 @@ public final class AdsMediaSource extends CompositeMediaSource<MediaPeriodId> {
|
|||
* events on the external event listener thread.
|
||||
*/
|
||||
public ComponentListener() {
|
||||
playerHandler = Util.createHandlerForCurrentOrMainLooper();
|
||||
playerHandler = Util.createHandler();
|
||||
}
|
||||
|
||||
/** Releases the component listener. */
|
||||
|
|
|
|||
|
|
@ -1763,7 +1763,7 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer {
|
|||
private final Handler handler;
|
||||
|
||||
public OnFrameRenderedListenerV23(MediaCodec codec) {
|
||||
handler = Util.createHandlerForCurrentOrMainLooper(/* callback= */ this);
|
||||
handler = Util.createHandler(/* callback= */ this);
|
||||
codec.setOnFrameRenderedListener(/* listener= */ this, handler);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -599,7 +599,7 @@ public final class ClippingMediaSourceTest {
|
|||
testRunner.runOnPlaybackThread(
|
||||
() ->
|
||||
clippingMediaSource.addEventListener(
|
||||
Util.createHandlerForCurrentOrMainLooper(),
|
||||
Util.createHandler(),
|
||||
new MediaSourceEventListener() {
|
||||
@Override
|
||||
public void onDownstreamFormatChanged(
|
||||
|
|
|
|||
|
|
@ -412,9 +412,7 @@ public final class ConcatenatingMediaSourceTest {
|
|||
dummyMainThread.runOnMainThread(
|
||||
() ->
|
||||
mediaSource.addMediaSource(
|
||||
createFakeMediaSource(),
|
||||
Util.createHandlerForCurrentOrMainLooper(),
|
||||
runnableInvoked::countDown));
|
||||
createFakeMediaSource(), Util.createHandler(), runnableInvoked::countDown));
|
||||
runnableInvoked.await(MediaSourceTestRunner.TIMEOUT_MS, TimeUnit.MILLISECONDS);
|
||||
dummyMainThread.release();
|
||||
|
||||
|
|
@ -430,7 +428,7 @@ public final class ConcatenatingMediaSourceTest {
|
|||
() ->
|
||||
mediaSource.addMediaSources(
|
||||
Arrays.asList(new MediaSource[] {createFakeMediaSource(), createFakeMediaSource()}),
|
||||
Util.createHandlerForCurrentOrMainLooper(),
|
||||
Util.createHandler(),
|
||||
runnableInvoked::countDown));
|
||||
runnableInvoked.await(MediaSourceTestRunner.TIMEOUT_MS, TimeUnit.MILLISECONDS);
|
||||
dummyMainThread.release();
|
||||
|
|
@ -448,7 +446,7 @@ public final class ConcatenatingMediaSourceTest {
|
|||
mediaSource.addMediaSource(
|
||||
/* index */ 0,
|
||||
createFakeMediaSource(),
|
||||
Util.createHandlerForCurrentOrMainLooper(),
|
||||
Util.createHandler(),
|
||||
runnableInvoked::countDown));
|
||||
runnableInvoked.await(MediaSourceTestRunner.TIMEOUT_MS, TimeUnit.MILLISECONDS);
|
||||
dummyMainThread.release();
|
||||
|
|
@ -466,7 +464,7 @@ public final class ConcatenatingMediaSourceTest {
|
|||
mediaSource.addMediaSources(
|
||||
/* index */ 0,
|
||||
Arrays.asList(new MediaSource[] {createFakeMediaSource(), createFakeMediaSource()}),
|
||||
Util.createHandlerForCurrentOrMainLooper(),
|
||||
Util.createHandler(),
|
||||
runnableInvoked::countDown));
|
||||
runnableInvoked.await(MediaSourceTestRunner.TIMEOUT_MS, TimeUnit.MILLISECONDS);
|
||||
dummyMainThread.release();
|
||||
|
|
@ -483,9 +481,7 @@ public final class ConcatenatingMediaSourceTest {
|
|||
() -> {
|
||||
mediaSource.addMediaSource(createFakeMediaSource());
|
||||
mediaSource.removeMediaSource(
|
||||
/* index */ 0,
|
||||
Util.createHandlerForCurrentOrMainLooper(),
|
||||
runnableInvoked::countDown);
|
||||
/* index */ 0, Util.createHandler(), runnableInvoked::countDown);
|
||||
});
|
||||
runnableInvoked.await(MediaSourceTestRunner.TIMEOUT_MS, TimeUnit.MILLISECONDS);
|
||||
dummyMainThread.release();
|
||||
|
|
@ -503,10 +499,7 @@ public final class ConcatenatingMediaSourceTest {
|
|||
mediaSource.addMediaSources(
|
||||
Arrays.asList(new MediaSource[] {createFakeMediaSource(), createFakeMediaSource()}));
|
||||
mediaSource.moveMediaSource(
|
||||
/* fromIndex */ 1, /* toIndex */
|
||||
0,
|
||||
Util.createHandlerForCurrentOrMainLooper(),
|
||||
runnableInvoked::countDown);
|
||||
/* fromIndex */ 1, /* toIndex */ 0, Util.createHandler(), runnableInvoked::countDown);
|
||||
});
|
||||
runnableInvoked.await(MediaSourceTestRunner.TIMEOUT_MS, TimeUnit.MILLISECONDS);
|
||||
dummyMainThread.release();
|
||||
|
|
@ -523,9 +516,7 @@ public final class ConcatenatingMediaSourceTest {
|
|||
dummyMainThread.runOnMainThread(
|
||||
() ->
|
||||
mediaSource.addMediaSource(
|
||||
createFakeMediaSource(),
|
||||
Util.createHandlerForCurrentOrMainLooper(),
|
||||
timelineGrabber));
|
||||
createFakeMediaSource(), Util.createHandler(), timelineGrabber));
|
||||
Timeline timeline = timelineGrabber.assertTimelineChangeBlocking();
|
||||
assertThat(timeline.getWindowCount()).isEqualTo(1);
|
||||
} finally {
|
||||
|
|
@ -544,7 +535,7 @@ public final class ConcatenatingMediaSourceTest {
|
|||
mediaSource.addMediaSources(
|
||||
Arrays.asList(
|
||||
new MediaSource[] {createFakeMediaSource(), createFakeMediaSource()}),
|
||||
Util.createHandlerForCurrentOrMainLooper(),
|
||||
Util.createHandler(),
|
||||
timelineGrabber));
|
||||
Timeline timeline = timelineGrabber.assertTimelineChangeBlocking();
|
||||
assertThat(timeline.getWindowCount()).isEqualTo(2);
|
||||
|
|
@ -562,10 +553,7 @@ public final class ConcatenatingMediaSourceTest {
|
|||
dummyMainThread.runOnMainThread(
|
||||
() ->
|
||||
mediaSource.addMediaSource(
|
||||
/* index */ 0,
|
||||
createFakeMediaSource(),
|
||||
Util.createHandlerForCurrentOrMainLooper(),
|
||||
timelineGrabber));
|
||||
/* index */ 0, createFakeMediaSource(), Util.createHandler(), timelineGrabber));
|
||||
Timeline timeline = timelineGrabber.assertTimelineChangeBlocking();
|
||||
assertThat(timeline.getWindowCount()).isEqualTo(1);
|
||||
} finally {
|
||||
|
|
@ -585,7 +573,7 @@ public final class ConcatenatingMediaSourceTest {
|
|||
/* index */ 0,
|
||||
Arrays.asList(
|
||||
new MediaSource[] {createFakeMediaSource(), createFakeMediaSource()}),
|
||||
Util.createHandlerForCurrentOrMainLooper(),
|
||||
Util.createHandler(),
|
||||
timelineGrabber));
|
||||
Timeline timeline = timelineGrabber.assertTimelineChangeBlocking();
|
||||
assertThat(timeline.getWindowCount()).isEqualTo(2);
|
||||
|
|
@ -605,8 +593,7 @@ public final class ConcatenatingMediaSourceTest {
|
|||
final TimelineGrabber timelineGrabber = new TimelineGrabber(testRunner);
|
||||
dummyMainThread.runOnMainThread(
|
||||
() ->
|
||||
mediaSource.removeMediaSource(
|
||||
/* index */ 0, Util.createHandlerForCurrentOrMainLooper(), timelineGrabber));
|
||||
mediaSource.removeMediaSource(/* index */ 0, Util.createHandler(), timelineGrabber));
|
||||
Timeline timeline = timelineGrabber.assertTimelineChangeBlocking();
|
||||
assertThat(timeline.getWindowCount()).isEqualTo(0);
|
||||
} finally {
|
||||
|
|
@ -630,10 +617,7 @@ public final class ConcatenatingMediaSourceTest {
|
|||
dummyMainThread.runOnMainThread(
|
||||
() ->
|
||||
mediaSource.moveMediaSource(
|
||||
/* fromIndex */ 1, /* toIndex */
|
||||
0,
|
||||
Util.createHandlerForCurrentOrMainLooper(),
|
||||
timelineGrabber));
|
||||
/* fromIndex */ 1, /* toIndex */ 0, Util.createHandler(), timelineGrabber));
|
||||
Timeline timeline = timelineGrabber.assertTimelineChangeBlocking();
|
||||
assertThat(timeline.getWindowCount()).isEqualTo(2);
|
||||
} finally {
|
||||
|
|
@ -654,7 +638,7 @@ public final class ConcatenatingMediaSourceTest {
|
|||
mediaSource.moveMediaSource(
|
||||
/* currentIndex= */ 0,
|
||||
/* newIndex= */ 1,
|
||||
Util.createHandlerForCurrentOrMainLooper(),
|
||||
Util.createHandler(),
|
||||
callbackCalledCondition::countDown);
|
||||
mediaSource.releaseSource(caller);
|
||||
});
|
||||
|
|
@ -906,8 +890,7 @@ public final class ConcatenatingMediaSourceTest {
|
|||
testRunner.prepareSource();
|
||||
final TimelineGrabber timelineGrabber = new TimelineGrabber(testRunner);
|
||||
|
||||
dummyMainThread.runOnMainThread(
|
||||
() -> mediaSource.clear(Util.createHandlerForCurrentOrMainLooper(), timelineGrabber));
|
||||
dummyMainThread.runOnMainThread(() -> mediaSource.clear(Util.createHandler(), timelineGrabber));
|
||||
|
||||
Timeline timeline = timelineGrabber.assertTimelineChangeBlocking();
|
||||
assertThat(timeline.isEmpty()).isTrue();
|
||||
|
|
@ -1059,7 +1042,7 @@ public final class ConcatenatingMediaSourceTest {
|
|||
() ->
|
||||
mediaSource.setShuffleOrder(
|
||||
new ShuffleOrder.UnshuffledShuffleOrder(/* length= */ 0),
|
||||
Util.createHandlerForCurrentOrMainLooper(),
|
||||
Util.createHandler(),
|
||||
runnableInvoked::countDown));
|
||||
runnableInvoked.await(MediaSourceTestRunner.TIMEOUT_MS, TimeUnit.MILLISECONDS);
|
||||
dummyMainThread.release();
|
||||
|
|
@ -1079,7 +1062,7 @@ public final class ConcatenatingMediaSourceTest {
|
|||
() ->
|
||||
mediaSource.setShuffleOrder(
|
||||
new ShuffleOrder.UnshuffledShuffleOrder(/* length= */ 3),
|
||||
Util.createHandlerForCurrentOrMainLooper(),
|
||||
Util.createHandler(),
|
||||
timelineGrabber));
|
||||
Timeline timeline = timelineGrabber.assertTimelineChangeBlocking();
|
||||
assertThat(timeline.getFirstWindowIndex(/* shuffleModeEnabled= */ true)).isEqualTo(0);
|
||||
|
|
|
|||
|
|
@ -65,9 +65,7 @@ public class MediaSourceEventDispatcherTest {
|
|||
@Test
|
||||
public void listenerReceivesEventPopulatedWithMediaPeriodInfo() {
|
||||
eventDispatcher.addEventListener(
|
||||
Util.createHandlerForCurrentOrMainLooper(),
|
||||
mediaSourceEventListener,
|
||||
MediaSourceEventListener.class);
|
||||
Util.createHandler(), mediaSourceEventListener, MediaSourceEventListener.class);
|
||||
|
||||
eventDispatcher.dispatch(
|
||||
MediaSourceEventListener::onMediaPeriodCreated, MediaSourceEventListener.class);
|
||||
|
|
@ -78,13 +76,9 @@ public class MediaSourceEventDispatcherTest {
|
|||
@Test
|
||||
public void sameListenerObjectRegisteredTwiceOnlyReceivesEventsOnce() {
|
||||
eventDispatcher.addEventListener(
|
||||
Util.createHandlerForCurrentOrMainLooper(),
|
||||
mediaSourceEventListener,
|
||||
MediaSourceEventListener.class);
|
||||
Util.createHandler(), mediaSourceEventListener, MediaSourceEventListener.class);
|
||||
eventDispatcher.addEventListener(
|
||||
Util.createHandlerForCurrentOrMainLooper(),
|
||||
mediaSourceEventListener,
|
||||
MediaSourceEventListener.class);
|
||||
Util.createHandler(), mediaSourceEventListener, MediaSourceEventListener.class);
|
||||
|
||||
eventDispatcher.dispatch(
|
||||
MediaSourceEventListener::onMediaPeriodCreated, MediaSourceEventListener.class);
|
||||
|
|
@ -160,9 +154,7 @@ public class MediaSourceEventDispatcherTest {
|
|||
@Test
|
||||
public void listenersAreCopiedToNewDispatcher() {
|
||||
eventDispatcher.addEventListener(
|
||||
Util.createHandlerForCurrentOrMainLooper(),
|
||||
mediaSourceEventListener,
|
||||
MediaSourceEventListener.class);
|
||||
Util.createHandler(), mediaSourceEventListener, MediaSourceEventListener.class);
|
||||
|
||||
MediaSource.MediaPeriodId newPeriodId = new MediaSource.MediaPeriodId("different uid");
|
||||
MediaSourceEventDispatcher newEventDispatcher =
|
||||
|
|
@ -178,9 +170,7 @@ public class MediaSourceEventDispatcherTest {
|
|||
@Test
|
||||
public void removingListenerStopsEventDispatch() {
|
||||
eventDispatcher.addEventListener(
|
||||
Util.createHandlerForCurrentOrMainLooper(),
|
||||
mediaSourceEventListener,
|
||||
MediaSourceEventListener.class);
|
||||
Util.createHandler(), mediaSourceEventListener, MediaSourceEventListener.class);
|
||||
eventDispatcher.removeEventListener(mediaSourceEventListener, MediaSourceEventListener.class);
|
||||
|
||||
eventDispatcher.dispatch(
|
||||
|
|
@ -192,9 +182,7 @@ public class MediaSourceEventDispatcherTest {
|
|||
@Test
|
||||
public void removingListenerWithDifferentTypeToRegistrationDoesntRemove() {
|
||||
eventDispatcher.addEventListener(
|
||||
Util.createHandlerForCurrentOrMainLooper(),
|
||||
mediaAndDrmEventListener,
|
||||
MediaSourceEventListener.class);
|
||||
Util.createHandler(), mediaAndDrmEventListener, MediaSourceEventListener.class);
|
||||
eventDispatcher.removeEventListener(mediaAndDrmEventListener, DrmSessionEventListener.class);
|
||||
|
||||
eventDispatcher.dispatch(
|
||||
|
|
@ -207,13 +195,9 @@ public class MediaSourceEventDispatcherTest {
|
|||
public void listenersAreCountedBasedOnListenerAndType() {
|
||||
// Add the listener twice and remove it once.
|
||||
eventDispatcher.addEventListener(
|
||||
Util.createHandlerForCurrentOrMainLooper(),
|
||||
mediaSourceEventListener,
|
||||
MediaSourceEventListener.class);
|
||||
Util.createHandler(), mediaSourceEventListener, MediaSourceEventListener.class);
|
||||
eventDispatcher.addEventListener(
|
||||
Util.createHandlerForCurrentOrMainLooper(),
|
||||
mediaSourceEventListener,
|
||||
MediaSourceEventListener.class);
|
||||
Util.createHandler(), mediaSourceEventListener, MediaSourceEventListener.class);
|
||||
eventDispatcher.removeEventListener(mediaSourceEventListener, MediaSourceEventListener.class);
|
||||
|
||||
eventDispatcher.dispatch(
|
||||
|
|
|
|||
|
|
@ -680,7 +680,7 @@ public final class DashMediaSource extends BaseMediaSource {
|
|||
} else {
|
||||
dataSource = manifestDataSourceFactory.createDataSource();
|
||||
loader = new Loader("Loader:DashMediaSource");
|
||||
handler = Util.createHandlerForCurrentOrMainLooper();
|
||||
handler = Util.createHandler();
|
||||
startLoadingManifest();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ public final class PlayerEmsgHandler implements Handler.Callback {
|
|||
this.allocator = allocator;
|
||||
|
||||
manifestPublishTimeToExpiryTimeUs = new TreeMap<>();
|
||||
handler = Util.createHandlerForCurrentOrMainLooper(/* callback= */ this);
|
||||
handler = Util.createHandler(/* callback= */ this);
|
||||
decoder = new EventMessageDecoder();
|
||||
lastLoadedChunkEndTimeUs = C.TIME_UNSET;
|
||||
lastLoadedChunkEndTimeBeforeRefreshUs = C.TIME_UNSET;
|
||||
|
|
|
|||
|
|
@ -227,7 +227,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
|
|||
@SuppressWarnings("nullness:methodref.receiver.bound.invalid")
|
||||
Runnable onTracksEndedRunnable = this::onTracksEnded;
|
||||
this.onTracksEndedRunnable = onTracksEndedRunnable;
|
||||
handler = Util.createHandlerForCurrentOrMainLooper();
|
||||
handler = Util.createHandler();
|
||||
lastSeekPositionUs = positionUs;
|
||||
pendingResetPositionUs = positionUs;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@ public final class DefaultHlsPlaylistTracker
|
|||
Uri initialPlaylistUri,
|
||||
EventDispatcher eventDispatcher,
|
||||
PrimaryPlaylistListener primaryPlaylistListener) {
|
||||
this.playlistRefreshHandler = Util.createHandlerForCurrentOrMainLooper();
|
||||
this.playlistRefreshHandler = Util.createHandler();
|
||||
this.eventDispatcher = eventDispatcher;
|
||||
this.primaryPlaylistListener = primaryPlaylistListener;
|
||||
ParsingLoadable<HlsPlaylist> masterPlaylistLoadable =
|
||||
|
|
|
|||
|
|
@ -620,7 +620,7 @@ public final class SsMediaSource extends BaseMediaSource
|
|||
manifestDataSource = manifestDataSourceFactory.createDataSource();
|
||||
manifestLoader = new Loader("Loader:Manifest");
|
||||
manifestLoaderErrorThrower = manifestLoader;
|
||||
manifestRefreshHandler = Util.createHandlerForCurrentOrMainLooper();
|
||||
manifestRefreshHandler = Util.createHandler();
|
||||
startLoadingManifest();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -602,7 +602,7 @@ public abstract class Action {
|
|||
} else {
|
||||
message.setPosition(positionMs);
|
||||
}
|
||||
message.setHandler(Util.createHandlerForCurrentOrMainLooper());
|
||||
message.setHandler(Util.createHandler());
|
||||
message.setDeleteAfterDelivery(deleteAfterDelivery);
|
||||
message.send();
|
||||
}
|
||||
|
|
@ -684,7 +684,7 @@ public abstract class Action {
|
|||
@Nullable Surface surface,
|
||||
HandlerWrapper handler,
|
||||
@Nullable ActionNode nextAction) {
|
||||
Handler testThreadHandler = Util.createHandlerForCurrentOrMainLooper();
|
||||
Handler testThreadHandler = Util.createHandler();
|
||||
// Schedule a message on the playback thread to ensure the player is paused immediately.
|
||||
player
|
||||
.createMessage(
|
||||
|
|
@ -1048,7 +1048,7 @@ public abstract class Action {
|
|||
player
|
||||
.createMessage(
|
||||
(type, data) -> nextAction.schedule(player, trackSelector, surface, handler))
|
||||
.setHandler(Util.createHandlerForCurrentOrMainLooper())
|
||||
.setHandler(Util.createHandler())
|
||||
.send();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -137,8 +137,7 @@ public abstract class ExoHostedTest implements AnalyticsListener, HostedTest {
|
|||
player.addAnalyticsListener(this);
|
||||
player.addAnalyticsListener(new EventLogger(trackSelector, tag));
|
||||
// Schedule any pending actions.
|
||||
actionHandler =
|
||||
Clock.DEFAULT.createHandler(Util.getCurrentOrMainLooper(), /* callback= */ null);
|
||||
actionHandler = Clock.DEFAULT.createHandler(Util.getLooper(), /* callback= */ null);
|
||||
if (pendingSchedule != null) {
|
||||
pendingSchedule.start(player, trackSelector, surface, actionHandler, /* callback= */ null);
|
||||
pendingSchedule = null;
|
||||
|
|
|
|||
|
|
@ -162,7 +162,7 @@ public class FakeMediaPeriod implements MediaPeriod {
|
|||
/* mediaEndTimeUs = */ C.TIME_UNSET);
|
||||
prepareCallback = callback;
|
||||
if (deferOnPrepared) {
|
||||
playerHandler = Util.createHandlerForCurrentOrMainLooper();
|
||||
playerHandler = Util.createHandler();
|
||||
} else {
|
||||
finishPreparation();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -176,7 +176,7 @@ public class FakeMediaSource extends BaseMediaSource {
|
|||
drmSessionManager.prepare();
|
||||
preparedSource = true;
|
||||
releasedSource = false;
|
||||
sourceInfoRefreshHandler = Util.createHandlerForCurrentOrMainLooper();
|
||||
sourceInfoRefreshHandler = Util.createHandler();
|
||||
if (timeline != null) {
|
||||
finishSourcePreparation(/* sendManifestLoadEvents= */ true);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -490,7 +490,7 @@ public class TestExoPlayer {
|
|||
AtomicBoolean receivedMessageCallback = new AtomicBoolean(false);
|
||||
player
|
||||
.createMessage((type, data) -> receivedMessageCallback.set(true))
|
||||
.setHandler(Util.createHandlerForCurrentOrMainLooper())
|
||||
.setHandler(Util.createHandler())
|
||||
.send();
|
||||
runMainLooperUntil(receivedMessageCallback::get);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue