mirror of
https://github.com/androidx/media.git
synced 2025-04-30 06:46:50 +08:00
Add ad event listeners in the Looper event of the ad manager callback
#minor-release PiperOrigin-RevId: 509189206
This commit is contained in:
parent
15f0865d62
commit
e98670e2f9
@ -557,11 +557,10 @@ public final class ImaServerSideAdInsertionMediaSource extends CompositeMediaSou
|
||||
StreamManagerLoadable streamManagerLoadable =
|
||||
new StreamManagerLoadable(
|
||||
sdkAdsLoader,
|
||||
adsLoader.configuration,
|
||||
/* imaServerSideAdInsertionMediaSource= */ this,
|
||||
streamRequest,
|
||||
streamPlayer,
|
||||
applicationAdErrorListener,
|
||||
loadVideoTimeoutMs);
|
||||
applicationAdErrorListener);
|
||||
loader.startLoading(
|
||||
streamManagerLoadable,
|
||||
new StreamManagerLoadableCallback(),
|
||||
@ -636,7 +635,6 @@ public final class ImaServerSideAdInsertionMediaSource extends CompositeMediaSou
|
||||
}
|
||||
this.streamManager.removeAdEventListener(componentListener);
|
||||
this.streamManager.destroy();
|
||||
this.streamManager = null;
|
||||
}
|
||||
this.streamManager = streamManager;
|
||||
if (streamManager != null) {
|
||||
@ -647,6 +645,12 @@ public final class ImaServerSideAdInsertionMediaSource extends CompositeMediaSou
|
||||
if (applicationAdErrorListener != null) {
|
||||
streamManager.addAdErrorListener(applicationAdErrorListener);
|
||||
}
|
||||
AdsRenderingSettings adsRenderingSettings =
|
||||
ImaSdkFactory.getInstance().createAdsRenderingSettings();
|
||||
adsRenderingSettings.setLoadVideoTimeout(loadVideoTimeoutMs);
|
||||
adsRenderingSettings.setFocusSkipButtonWhenAvailable(
|
||||
adsLoader.configuration.focusSkipButtonWhenAvailable);
|
||||
streamManager.init(adsRenderingSettings);
|
||||
}
|
||||
}
|
||||
|
||||
@ -913,7 +917,6 @@ public final class ImaServerSideAdInsertionMediaSource extends CompositeMediaSou
|
||||
@Override
|
||||
public void onLoadCompleted(
|
||||
StreamManagerLoadable loadable, long elapsedRealtimeMs, long loadDurationMs) {
|
||||
mainHandler.post(() -> setStreamManager(checkNotNull(loadable.getStreamManager())));
|
||||
setContentUri(checkNotNull(loadable.getContentUri()));
|
||||
}
|
||||
|
||||
@ -944,14 +947,12 @@ public final class ImaServerSideAdInsertionMediaSource extends CompositeMediaSou
|
||||
implements Loadable, AdsLoadedListener, AdErrorListener {
|
||||
|
||||
private final com.google.ads.interactivemedia.v3.api.AdsLoader adsLoader;
|
||||
private final ServerSideAdInsertionConfiguration serverSideAdInsertionConfiguration;
|
||||
private final ImaServerSideAdInsertionMediaSource imaServerSideAdInsertionMediaSource;
|
||||
private final StreamRequest request;
|
||||
private final StreamPlayer streamPlayer;
|
||||
@Nullable private final AdErrorListener adErrorListener;
|
||||
private final int loadVideoTimeoutMs;
|
||||
private final ConditionVariable conditionVariable;
|
||||
|
||||
@Nullable private volatile StreamManager streamManager;
|
||||
@Nullable private volatile Uri contentUri;
|
||||
private volatile boolean cancelled;
|
||||
private volatile boolean error;
|
||||
@ -961,17 +962,15 @@ public final class ImaServerSideAdInsertionMediaSource extends CompositeMediaSou
|
||||
/** Creates an instance. */
|
||||
private StreamManagerLoadable(
|
||||
com.google.ads.interactivemedia.v3.api.AdsLoader adsLoader,
|
||||
ServerSideAdInsertionConfiguration serverSideAdInsertionConfiguration,
|
||||
ImaServerSideAdInsertionMediaSource imaServerSideAdInsertionMediaSource,
|
||||
StreamRequest request,
|
||||
StreamPlayer streamPlayer,
|
||||
@Nullable AdErrorListener adErrorListener,
|
||||
int loadVideoTimeoutMs) {
|
||||
@Nullable AdErrorListener adErrorListener) {
|
||||
this.adsLoader = adsLoader;
|
||||
this.serverSideAdInsertionConfiguration = serverSideAdInsertionConfiguration;
|
||||
this.imaServerSideAdInsertionMediaSource = imaServerSideAdInsertionMediaSource;
|
||||
this.request = request;
|
||||
this.streamPlayer = streamPlayer;
|
||||
this.adErrorListener = adErrorListener;
|
||||
this.loadVideoTimeoutMs = loadVideoTimeoutMs;
|
||||
conditionVariable = new ConditionVariable();
|
||||
errorCode = -1;
|
||||
}
|
||||
@ -982,12 +981,6 @@ public final class ImaServerSideAdInsertionMediaSource extends CompositeMediaSou
|
||||
return contentUri;
|
||||
}
|
||||
|
||||
/** Returns the stream manager or null if not yet loaded. */
|
||||
@Nullable
|
||||
public StreamManager getStreamManager() {
|
||||
return streamManager;
|
||||
}
|
||||
|
||||
// Implement Loadable.
|
||||
|
||||
@Override
|
||||
@ -1041,14 +1034,7 @@ public final class ImaServerSideAdInsertionMediaSource extends CompositeMediaSou
|
||||
conditionVariable.open();
|
||||
return;
|
||||
}
|
||||
AdsRenderingSettings adsRenderingSettings =
|
||||
ImaSdkFactory.getInstance().createAdsRenderingSettings();
|
||||
adsRenderingSettings.setLoadVideoTimeout(loadVideoTimeoutMs);
|
||||
adsRenderingSettings.setFocusSkipButtonWhenAvailable(
|
||||
serverSideAdInsertionConfiguration.focusSkipButtonWhenAvailable);
|
||||
// After initialization completed the streamUri will be reported to the streamPlayer.
|
||||
streamManager.init(adsRenderingSettings);
|
||||
this.streamManager = streamManager;
|
||||
imaServerSideAdInsertionMediaSource.setStreamManager(streamManager);
|
||||
}
|
||||
|
||||
// AdErrorEvent.AdErrorListener implementation.
|
||||
|
Loading…
x
Reference in New Issue
Block a user