mirror of
https://github.com/androidx/media.git
synced 2025-05-03 21:57:46 +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 =
|
StreamManagerLoadable streamManagerLoadable =
|
||||||
new StreamManagerLoadable(
|
new StreamManagerLoadable(
|
||||||
sdkAdsLoader,
|
sdkAdsLoader,
|
||||||
adsLoader.configuration,
|
/* imaServerSideAdInsertionMediaSource= */ this,
|
||||||
streamRequest,
|
streamRequest,
|
||||||
streamPlayer,
|
streamPlayer,
|
||||||
applicationAdErrorListener,
|
applicationAdErrorListener);
|
||||||
loadVideoTimeoutMs);
|
|
||||||
loader.startLoading(
|
loader.startLoading(
|
||||||
streamManagerLoadable,
|
streamManagerLoadable,
|
||||||
new StreamManagerLoadableCallback(),
|
new StreamManagerLoadableCallback(),
|
||||||
@ -636,7 +635,6 @@ public final class ImaServerSideAdInsertionMediaSource extends CompositeMediaSou
|
|||||||
}
|
}
|
||||||
this.streamManager.removeAdEventListener(componentListener);
|
this.streamManager.removeAdEventListener(componentListener);
|
||||||
this.streamManager.destroy();
|
this.streamManager.destroy();
|
||||||
this.streamManager = null;
|
|
||||||
}
|
}
|
||||||
this.streamManager = streamManager;
|
this.streamManager = streamManager;
|
||||||
if (streamManager != null) {
|
if (streamManager != null) {
|
||||||
@ -647,6 +645,12 @@ public final class ImaServerSideAdInsertionMediaSource extends CompositeMediaSou
|
|||||||
if (applicationAdErrorListener != null) {
|
if (applicationAdErrorListener != null) {
|
||||||
streamManager.addAdErrorListener(applicationAdErrorListener);
|
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
|
@Override
|
||||||
public void onLoadCompleted(
|
public void onLoadCompleted(
|
||||||
StreamManagerLoadable loadable, long elapsedRealtimeMs, long loadDurationMs) {
|
StreamManagerLoadable loadable, long elapsedRealtimeMs, long loadDurationMs) {
|
||||||
mainHandler.post(() -> setStreamManager(checkNotNull(loadable.getStreamManager())));
|
|
||||||
setContentUri(checkNotNull(loadable.getContentUri()));
|
setContentUri(checkNotNull(loadable.getContentUri()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -944,14 +947,12 @@ public final class ImaServerSideAdInsertionMediaSource extends CompositeMediaSou
|
|||||||
implements Loadable, AdsLoadedListener, AdErrorListener {
|
implements Loadable, AdsLoadedListener, AdErrorListener {
|
||||||
|
|
||||||
private final com.google.ads.interactivemedia.v3.api.AdsLoader adsLoader;
|
private final com.google.ads.interactivemedia.v3.api.AdsLoader adsLoader;
|
||||||
private final ServerSideAdInsertionConfiguration serverSideAdInsertionConfiguration;
|
private final ImaServerSideAdInsertionMediaSource imaServerSideAdInsertionMediaSource;
|
||||||
private final StreamRequest request;
|
private final StreamRequest request;
|
||||||
private final StreamPlayer streamPlayer;
|
private final StreamPlayer streamPlayer;
|
||||||
@Nullable private final AdErrorListener adErrorListener;
|
@Nullable private final AdErrorListener adErrorListener;
|
||||||
private final int loadVideoTimeoutMs;
|
|
||||||
private final ConditionVariable conditionVariable;
|
private final ConditionVariable conditionVariable;
|
||||||
|
|
||||||
@Nullable private volatile StreamManager streamManager;
|
|
||||||
@Nullable private volatile Uri contentUri;
|
@Nullable private volatile Uri contentUri;
|
||||||
private volatile boolean cancelled;
|
private volatile boolean cancelled;
|
||||||
private volatile boolean error;
|
private volatile boolean error;
|
||||||
@ -961,17 +962,15 @@ public final class ImaServerSideAdInsertionMediaSource extends CompositeMediaSou
|
|||||||
/** Creates an instance. */
|
/** Creates an instance. */
|
||||||
private StreamManagerLoadable(
|
private StreamManagerLoadable(
|
||||||
com.google.ads.interactivemedia.v3.api.AdsLoader adsLoader,
|
com.google.ads.interactivemedia.v3.api.AdsLoader adsLoader,
|
||||||
ServerSideAdInsertionConfiguration serverSideAdInsertionConfiguration,
|
ImaServerSideAdInsertionMediaSource imaServerSideAdInsertionMediaSource,
|
||||||
StreamRequest request,
|
StreamRequest request,
|
||||||
StreamPlayer streamPlayer,
|
StreamPlayer streamPlayer,
|
||||||
@Nullable AdErrorListener adErrorListener,
|
@Nullable AdErrorListener adErrorListener) {
|
||||||
int loadVideoTimeoutMs) {
|
|
||||||
this.adsLoader = adsLoader;
|
this.adsLoader = adsLoader;
|
||||||
this.serverSideAdInsertionConfiguration = serverSideAdInsertionConfiguration;
|
this.imaServerSideAdInsertionMediaSource = imaServerSideAdInsertionMediaSource;
|
||||||
this.request = request;
|
this.request = request;
|
||||||
this.streamPlayer = streamPlayer;
|
this.streamPlayer = streamPlayer;
|
||||||
this.adErrorListener = adErrorListener;
|
this.adErrorListener = adErrorListener;
|
||||||
this.loadVideoTimeoutMs = loadVideoTimeoutMs;
|
|
||||||
conditionVariable = new ConditionVariable();
|
conditionVariable = new ConditionVariable();
|
||||||
errorCode = -1;
|
errorCode = -1;
|
||||||
}
|
}
|
||||||
@ -982,12 +981,6 @@ public final class ImaServerSideAdInsertionMediaSource extends CompositeMediaSou
|
|||||||
return contentUri;
|
return contentUri;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Returns the stream manager or null if not yet loaded. */
|
|
||||||
@Nullable
|
|
||||||
public StreamManager getStreamManager() {
|
|
||||||
return streamManager;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Implement Loadable.
|
// Implement Loadable.
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -1041,14 +1034,7 @@ public final class ImaServerSideAdInsertionMediaSource extends CompositeMediaSou
|
|||||||
conditionVariable.open();
|
conditionVariable.open();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
AdsRenderingSettings adsRenderingSettings =
|
imaServerSideAdInsertionMediaSource.setStreamManager(streamManager);
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// AdErrorEvent.AdErrorListener implementation.
|
// AdErrorEvent.AdErrorListener implementation.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user