use of org.prebid.mobile.rendering.video.ExoPlayerView in project prebid-mobile-android by prebid.
the class ViewPool method getUnoccupiedView.
// Q: why are we keeping it in occupied? Should we not put/get from unoccupied directly?
// A: Because, when a videoCreativeView is created, we will have to, anyways, add the view to the occupied bucket as it is going to be given to adView.
// So, do that step here itself.(distribution of work!)
public View getUnoccupiedView(Context context, VideoCreativeViewListener videoCreativeViewListener, AdConfiguration.AdUnitIdentifierType adType, InterstitialManager interstitialManager) throws AdException {
if (context == null) {
throw new AdException(AdException.INTERNAL_ERROR, "Context is null");
}
if (mUnoccupiedViews != null && mUnoccupiedViews.size() > 0) {
View view = mUnoccupiedViews.get(0);
Views.removeFromParent(view);
// get item from unoccupied & add it to occupied
swapToOccupied(view);
return mOccupiedViews.get(mOccupiedViews.size() - 1);
}
switch(adType) {
case BANNER:
plugPlayView = new PrebidWebViewBanner(context, interstitialManager);
break;
case INTERSTITIAL:
plugPlayView = new PrebidWebViewInterstitial(context, interstitialManager);
// add it to occupied
break;
case VAST:
plugPlayView = new ExoPlayerView(context, videoCreativeViewListener);
break;
}
addToOccupied(plugPlayView);
return plugPlayView;
}
Aggregations