Commit 6ae47224 by tonihei Committed by Andrew Lewis

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: 317276561
parent f8843441
Showing with 101 additions and 68 deletions
......@@ -72,7 +72,7 @@ public final class LeanbackPlayerAdapter extends PlayerAdapter implements Runnab
this.context = context;
this.player = player;
this.updatePeriodMs = updatePeriodMs;
handler = Util.createHandler();
handler = Util.createHandlerForCurrentOrMainLooper();
componentListener = new ComponentListener();
controlDispatcher = new DefaultControlDispatcher();
}
......
......@@ -437,7 +437,7 @@ public final class MediaSessionConnector {
*/
public MediaSessionConnector(MediaSessionCompat mediaSession) {
this.mediaSession = mediaSession;
looper = Util.getLooper();
looper = Util.getCurrentOrMainLooper();
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 createHandler() {
return createHandler(/* callback= */ null);
public static Handler createHandlerForCurrentOrMainLooper() {
return createHandlerForCurrentOrMainLooper(/* callback= */ null);
}
/**
......@@ -416,8 +416,9 @@ public final class Util {
* callback is required.
* @return A {@link Handler} with the specified callback on the current {@link Looper} thread.
*/
public static Handler createHandler(@Nullable Handler.@UnknownInitialization Callback callback) {
return createHandler(getLooper(), callback);
public static Handler createHandlerForCurrentOrMainLooper(
@Nullable Handler.@UnknownInitialization Callback callback) {
return createHandler(getCurrentOrMainLooper(), callback);
}
/**
......@@ -441,8 +442,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 getLooper() {
Looper myLooper = Looper.myLooper();
public static Looper getCurrentOrMainLooper() {
@Nullable 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.getLooper();
looper = Util.getCurrentOrMainLooper();
useLazyPreparation = true;
seekParameters = SeekParameters.DEFAULT;
clock = Clock.DEFAULT;
......
......@@ -101,11 +101,7 @@ public final class ExoPlayerFactory {
TrackSelector trackSelector,
LoadControl loadControl) {
return newSimpleInstance(
context,
renderersFactory,
trackSelector,
loadControl,
Util.getLooper());
context, renderersFactory, trackSelector, loadControl, Util.getCurrentOrMainLooper());
}
/** @deprecated Use {@link SimpleExoPlayer.Builder} instead. */
......@@ -124,7 +120,7 @@ public final class ExoPlayerFactory {
loadControl,
bandwidthMeter,
new AnalyticsCollector(Clock.DEFAULT),
Util.getLooper());
Util.getCurrentOrMainLooper());
}
/** @deprecated Use {@link SimpleExoPlayer.Builder} instead. */
......@@ -142,7 +138,7 @@ public final class ExoPlayerFactory {
trackSelector,
loadControl,
analyticsCollector,
Util.getLooper());
Util.getCurrentOrMainLooper());
}
/** @deprecated Use {@link SimpleExoPlayer.Builder} instead. */
......@@ -220,7 +216,8 @@ 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.getLooper());
return newInstance(
context, renderers, trackSelector, loadControl, Util.getCurrentOrMainLooper());
}
/** @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.createHandler(), eventListener);
mediaSource.addDrmEventListener(Util.createHandler(), eventListener);
mediaSource.addEventListener(Util.createHandlerForCurrentOrMainLooper(), eventListener);
mediaSource.addDrmEventListener(Util.createHandlerForCurrentOrMainLooper(), 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.getLooper();
looper = Util.getCurrentOrMainLooper();
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 = new Handler(Util.getLooper());
handler = Util.createHandlerForCurrentOrMainLooper();
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.createHandler(),
Util.createHandlerForCurrentOrMainLooper(),
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 = new Handler(Util.getLooper());
callbackHandler = Util.createHandlerForCurrentOrMainLooper();
window = new Timeline.Window();
}
......@@ -970,7 +970,8 @@ public final class DownloadHelper {
allocator = new DefaultAllocator(true, C.DEFAULT_BUFFER_SEGMENT_SIZE);
pendingMediaPeriods = new ArrayList<>();
@SuppressWarnings("methodref.receiver.bound.invalid")
Handler downloadThreadHandler = Util.createHandler(this::handleDownloadHelperCallbackMessage);
Handler downloadThreadHandler =
Util.createHandlerForCurrentOrMainLooper(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.createHandler(this::handleMainMessage);
Handler mainHandler = Util.createHandlerForCurrentOrMainLooper(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.createHandler()
Util.createHandlerForCurrentOrMainLooper()
.postAtFrontOfQueue(
() -> downloadService.notifyDownloads(downloadManager.getCurrentDownloads()));
}
......
......@@ -71,7 +71,7 @@ public final class RequirementsWatcher {
this.context = context.getApplicationContext();
this.listener = listener;
this.requirements = requirements;
handler = new Handler(Util.getLooper());
handler = Util.createHandlerForCurrentOrMainLooper();
}
/**
......
......@@ -48,7 +48,7 @@ public abstract class CompositeMediaSource<T> extends BaseMediaSource {
@CallSuper
protected void prepareSourceInternal(@Nullable TransferListener mediaTransferListener) {
this.mediaTransferListener = mediaTransferListener;
eventHandler = Util.createHandler();
eventHandler = Util.createHandlerForCurrentOrMainLooper();
}
@Override
......
......@@ -192,7 +192,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
.onContinueLoadingRequested(ProgressiveMediaPeriod.this);
}
};
handler = Util.createHandler();
handler = Util.createHandlerForCurrentOrMainLooper();
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.createHandler();
playerHandler = Util.createHandlerForCurrentOrMainLooper();
}
/** Releases the component listener. */
......
......@@ -1763,7 +1763,7 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer {
private final Handler handler;
public OnFrameRenderedListenerV23(MediaCodec codec) {
handler = Util.createHandler(/* callback= */ this);
handler = Util.createHandlerForCurrentOrMainLooper(/* callback= */ this);
codec.setOnFrameRenderedListener(/* listener= */ this, handler);
}
......
......@@ -599,7 +599,7 @@ public final class ClippingMediaSourceTest {
testRunner.runOnPlaybackThread(
() ->
clippingMediaSource.addEventListener(
Util.createHandler(),
Util.createHandlerForCurrentOrMainLooper(),
new MediaSourceEventListener() {
@Override
public void onDownstreamFormatChanged(
......
......@@ -412,7 +412,9 @@ public final class ConcatenatingMediaSourceTest {
dummyMainThread.runOnMainThread(
() ->
mediaSource.addMediaSource(
createFakeMediaSource(), Util.createHandler(), runnableInvoked::countDown));
createFakeMediaSource(),
Util.createHandlerForCurrentOrMainLooper(),
runnableInvoked::countDown));
runnableInvoked.await(MediaSourceTestRunner.TIMEOUT_MS, TimeUnit.MILLISECONDS);
dummyMainThread.release();
......@@ -428,7 +430,7 @@ public final class ConcatenatingMediaSourceTest {
() ->
mediaSource.addMediaSources(
Arrays.asList(new MediaSource[] {createFakeMediaSource(), createFakeMediaSource()}),
Util.createHandler(),
Util.createHandlerForCurrentOrMainLooper(),
runnableInvoked::countDown));
runnableInvoked.await(MediaSourceTestRunner.TIMEOUT_MS, TimeUnit.MILLISECONDS);
dummyMainThread.release();
......@@ -446,7 +448,7 @@ public final class ConcatenatingMediaSourceTest {
mediaSource.addMediaSource(
/* index */ 0,
createFakeMediaSource(),
Util.createHandler(),
Util.createHandlerForCurrentOrMainLooper(),
runnableInvoked::countDown));
runnableInvoked.await(MediaSourceTestRunner.TIMEOUT_MS, TimeUnit.MILLISECONDS);
dummyMainThread.release();
......@@ -464,7 +466,7 @@ public final class ConcatenatingMediaSourceTest {
mediaSource.addMediaSources(
/* index */ 0,
Arrays.asList(new MediaSource[] {createFakeMediaSource(), createFakeMediaSource()}),
Util.createHandler(),
Util.createHandlerForCurrentOrMainLooper(),
runnableInvoked::countDown));
runnableInvoked.await(MediaSourceTestRunner.TIMEOUT_MS, TimeUnit.MILLISECONDS);
dummyMainThread.release();
......@@ -481,7 +483,9 @@ public final class ConcatenatingMediaSourceTest {
() -> {
mediaSource.addMediaSource(createFakeMediaSource());
mediaSource.removeMediaSource(
/* index */ 0, Util.createHandler(), runnableInvoked::countDown);
/* index */ 0,
Util.createHandlerForCurrentOrMainLooper(),
runnableInvoked::countDown);
});
runnableInvoked.await(MediaSourceTestRunner.TIMEOUT_MS, TimeUnit.MILLISECONDS);
dummyMainThread.release();
......@@ -499,7 +503,10 @@ public final class ConcatenatingMediaSourceTest {
mediaSource.addMediaSources(
Arrays.asList(new MediaSource[] {createFakeMediaSource(), createFakeMediaSource()}));
mediaSource.moveMediaSource(
/* fromIndex */ 1, /* toIndex */ 0, Util.createHandler(), runnableInvoked::countDown);
/* fromIndex */ 1, /* toIndex */
0,
Util.createHandlerForCurrentOrMainLooper(),
runnableInvoked::countDown);
});
runnableInvoked.await(MediaSourceTestRunner.TIMEOUT_MS, TimeUnit.MILLISECONDS);
dummyMainThread.release();
......@@ -516,7 +523,9 @@ public final class ConcatenatingMediaSourceTest {
dummyMainThread.runOnMainThread(
() ->
mediaSource.addMediaSource(
createFakeMediaSource(), Util.createHandler(), timelineGrabber));
createFakeMediaSource(),
Util.createHandlerForCurrentOrMainLooper(),
timelineGrabber));
Timeline timeline = timelineGrabber.assertTimelineChangeBlocking();
assertThat(timeline.getWindowCount()).isEqualTo(1);
} finally {
......@@ -535,7 +544,7 @@ public final class ConcatenatingMediaSourceTest {
mediaSource.addMediaSources(
Arrays.asList(
new MediaSource[] {createFakeMediaSource(), createFakeMediaSource()}),
Util.createHandler(),
Util.createHandlerForCurrentOrMainLooper(),
timelineGrabber));
Timeline timeline = timelineGrabber.assertTimelineChangeBlocking();
assertThat(timeline.getWindowCount()).isEqualTo(2);
......@@ -553,7 +562,10 @@ public final class ConcatenatingMediaSourceTest {
dummyMainThread.runOnMainThread(
() ->
mediaSource.addMediaSource(
/* index */ 0, createFakeMediaSource(), Util.createHandler(), timelineGrabber));
/* index */ 0,
createFakeMediaSource(),
Util.createHandlerForCurrentOrMainLooper(),
timelineGrabber));
Timeline timeline = timelineGrabber.assertTimelineChangeBlocking();
assertThat(timeline.getWindowCount()).isEqualTo(1);
} finally {
......@@ -573,7 +585,7 @@ public final class ConcatenatingMediaSourceTest {
/* index */ 0,
Arrays.asList(
new MediaSource[] {createFakeMediaSource(), createFakeMediaSource()}),
Util.createHandler(),
Util.createHandlerForCurrentOrMainLooper(),
timelineGrabber));
Timeline timeline = timelineGrabber.assertTimelineChangeBlocking();
assertThat(timeline.getWindowCount()).isEqualTo(2);
......@@ -593,7 +605,8 @@ public final class ConcatenatingMediaSourceTest {
final TimelineGrabber timelineGrabber = new TimelineGrabber(testRunner);
dummyMainThread.runOnMainThread(
() ->
mediaSource.removeMediaSource(/* index */ 0, Util.createHandler(), timelineGrabber));
mediaSource.removeMediaSource(
/* index */ 0, Util.createHandlerForCurrentOrMainLooper(), timelineGrabber));
Timeline timeline = timelineGrabber.assertTimelineChangeBlocking();
assertThat(timeline.getWindowCount()).isEqualTo(0);
} finally {
......@@ -617,7 +630,10 @@ public final class ConcatenatingMediaSourceTest {
dummyMainThread.runOnMainThread(
() ->
mediaSource.moveMediaSource(
/* fromIndex */ 1, /* toIndex */ 0, Util.createHandler(), timelineGrabber));
/* fromIndex */ 1, /* toIndex */
0,
Util.createHandlerForCurrentOrMainLooper(),
timelineGrabber));
Timeline timeline = timelineGrabber.assertTimelineChangeBlocking();
assertThat(timeline.getWindowCount()).isEqualTo(2);
} finally {
......@@ -638,7 +654,7 @@ public final class ConcatenatingMediaSourceTest {
mediaSource.moveMediaSource(
/* currentIndex= */ 0,
/* newIndex= */ 1,
Util.createHandler(),
Util.createHandlerForCurrentOrMainLooper(),
callbackCalledCondition::countDown);
mediaSource.releaseSource(caller);
});
......@@ -890,7 +906,8 @@ public final class ConcatenatingMediaSourceTest {
testRunner.prepareSource();
final TimelineGrabber timelineGrabber = new TimelineGrabber(testRunner);
dummyMainThread.runOnMainThread(() -> mediaSource.clear(Util.createHandler(), timelineGrabber));
dummyMainThread.runOnMainThread(
() -> mediaSource.clear(Util.createHandlerForCurrentOrMainLooper(), timelineGrabber));
Timeline timeline = timelineGrabber.assertTimelineChangeBlocking();
assertThat(timeline.isEmpty()).isTrue();
......@@ -1042,7 +1059,7 @@ public final class ConcatenatingMediaSourceTest {
() ->
mediaSource.setShuffleOrder(
new ShuffleOrder.UnshuffledShuffleOrder(/* length= */ 0),
Util.createHandler(),
Util.createHandlerForCurrentOrMainLooper(),
runnableInvoked::countDown));
runnableInvoked.await(MediaSourceTestRunner.TIMEOUT_MS, TimeUnit.MILLISECONDS);
dummyMainThread.release();
......@@ -1062,7 +1079,7 @@ public final class ConcatenatingMediaSourceTest {
() ->
mediaSource.setShuffleOrder(
new ShuffleOrder.UnshuffledShuffleOrder(/* length= */ 3),
Util.createHandler(),
Util.createHandlerForCurrentOrMainLooper(),
timelineGrabber));
Timeline timeline = timelineGrabber.assertTimelineChangeBlocking();
assertThat(timeline.getFirstWindowIndex(/* shuffleModeEnabled= */ true)).isEqualTo(0);
......
......@@ -65,7 +65,9 @@ public class MediaSourceEventDispatcherTest {
@Test
public void listenerReceivesEventPopulatedWithMediaPeriodInfo() {
eventDispatcher.addEventListener(
Util.createHandler(), mediaSourceEventListener, MediaSourceEventListener.class);
Util.createHandlerForCurrentOrMainLooper(),
mediaSourceEventListener,
MediaSourceEventListener.class);
eventDispatcher.dispatch(
MediaSourceEventListener::onMediaPeriodCreated, MediaSourceEventListener.class);
......@@ -76,9 +78,13 @@ public class MediaSourceEventDispatcherTest {
@Test
public void sameListenerObjectRegisteredTwiceOnlyReceivesEventsOnce() {
eventDispatcher.addEventListener(
Util.createHandler(), mediaSourceEventListener, MediaSourceEventListener.class);
Util.createHandlerForCurrentOrMainLooper(),
mediaSourceEventListener,
MediaSourceEventListener.class);
eventDispatcher.addEventListener(
Util.createHandler(), mediaSourceEventListener, MediaSourceEventListener.class);
Util.createHandlerForCurrentOrMainLooper(),
mediaSourceEventListener,
MediaSourceEventListener.class);
eventDispatcher.dispatch(
MediaSourceEventListener::onMediaPeriodCreated, MediaSourceEventListener.class);
......@@ -154,7 +160,9 @@ public class MediaSourceEventDispatcherTest {
@Test
public void listenersAreCopiedToNewDispatcher() {
eventDispatcher.addEventListener(
Util.createHandler(), mediaSourceEventListener, MediaSourceEventListener.class);
Util.createHandlerForCurrentOrMainLooper(),
mediaSourceEventListener,
MediaSourceEventListener.class);
MediaSource.MediaPeriodId newPeriodId = new MediaSource.MediaPeriodId("different uid");
MediaSourceEventDispatcher newEventDispatcher =
......@@ -170,7 +178,9 @@ public class MediaSourceEventDispatcherTest {
@Test
public void removingListenerStopsEventDispatch() {
eventDispatcher.addEventListener(
Util.createHandler(), mediaSourceEventListener, MediaSourceEventListener.class);
Util.createHandlerForCurrentOrMainLooper(),
mediaSourceEventListener,
MediaSourceEventListener.class);
eventDispatcher.removeEventListener(mediaSourceEventListener, MediaSourceEventListener.class);
eventDispatcher.dispatch(
......@@ -182,7 +192,9 @@ public class MediaSourceEventDispatcherTest {
@Test
public void removingListenerWithDifferentTypeToRegistrationDoesntRemove() {
eventDispatcher.addEventListener(
Util.createHandler(), mediaAndDrmEventListener, MediaSourceEventListener.class);
Util.createHandlerForCurrentOrMainLooper(),
mediaAndDrmEventListener,
MediaSourceEventListener.class);
eventDispatcher.removeEventListener(mediaAndDrmEventListener, DrmSessionEventListener.class);
eventDispatcher.dispatch(
......@@ -195,9 +207,13 @@ public class MediaSourceEventDispatcherTest {
public void listenersAreCountedBasedOnListenerAndType() {
// Add the listener twice and remove it once.
eventDispatcher.addEventListener(
Util.createHandler(), mediaSourceEventListener, MediaSourceEventListener.class);
Util.createHandlerForCurrentOrMainLooper(),
mediaSourceEventListener,
MediaSourceEventListener.class);
eventDispatcher.addEventListener(
Util.createHandler(), mediaSourceEventListener, MediaSourceEventListener.class);
Util.createHandlerForCurrentOrMainLooper(),
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.createHandler();
handler = Util.createHandlerForCurrentOrMainLooper();
startLoadingManifest();
}
}
......
......@@ -105,7 +105,7 @@ public final class PlayerEmsgHandler implements Handler.Callback {
this.allocator = allocator;
manifestPublishTimeToExpiryTimeUs = new TreeMap<>();
handler = Util.createHandler(/* callback= */ this);
handler = Util.createHandlerForCurrentOrMainLooper(/* 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.createHandler();
handler = Util.createHandlerForCurrentOrMainLooper();
lastSeekPositionUs = positionUs;
pendingResetPositionUs = positionUs;
}
......
......@@ -121,7 +121,7 @@ public final class DefaultHlsPlaylistTracker
Uri initialPlaylistUri,
EventDispatcher eventDispatcher,
PrimaryPlaylistListener primaryPlaylistListener) {
this.playlistRefreshHandler = Util.createHandler();
this.playlistRefreshHandler = Util.createHandlerForCurrentOrMainLooper();
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.createHandler();
manifestRefreshHandler = Util.createHandlerForCurrentOrMainLooper();
startLoadingManifest();
}
}
......
......@@ -602,7 +602,7 @@ public abstract class Action {
} else {
message.setPosition(positionMs);
}
message.setHandler(Util.createHandler());
message.setHandler(Util.createHandlerForCurrentOrMainLooper());
message.setDeleteAfterDelivery(deleteAfterDelivery);
message.send();
}
......@@ -684,7 +684,7 @@ public abstract class Action {
@Nullable Surface surface,
HandlerWrapper handler,
@Nullable ActionNode nextAction) {
Handler testThreadHandler = Util.createHandler();
Handler testThreadHandler = Util.createHandlerForCurrentOrMainLooper();
// 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.createHandler())
.setHandler(Util.createHandlerForCurrentOrMainLooper())
.send();
}
......
......@@ -137,7 +137,8 @@ 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.getLooper(), /* callback= */ null);
actionHandler =
Clock.DEFAULT.createHandler(Util.getCurrentOrMainLooper(), /* 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.createHandler();
playerHandler = Util.createHandlerForCurrentOrMainLooper();
} else {
finishPreparation();
}
......
......@@ -176,7 +176,7 @@ public class FakeMediaSource extends BaseMediaSource {
drmSessionManager.prepare();
preparedSource = true;
releasedSource = false;
sourceInfoRefreshHandler = Util.createHandler();
sourceInfoRefreshHandler = Util.createHandlerForCurrentOrMainLooper();
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.createHandler())
.setHandler(Util.createHandlerForCurrentOrMainLooper())
.send();
runMainLooperUntil(receivedMessageCallback::get);
}
......
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