Commit d1fdc518 by tonihei Committed by Oliver Woodman

Use AnalyticsListener in EventLogger.

This replaces the existing listeners and provides some additional meta data
for each event.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=194770421
parent c0fdbde9
...@@ -406,17 +406,8 @@ public class PlayerActivity extends Activity ...@@ -406,17 +406,8 @@ public class PlayerActivity extends Activity
player = player =
ExoPlayerFactory.newSimpleInstance(renderersFactory, trackSelector, drmSessionManager); ExoPlayerFactory.newSimpleInstance(renderersFactory, trackSelector, drmSessionManager);
player.addListener(new PlayerEventListener()); player.addListener(new PlayerEventListener());
EventLogger eventLogger = new EventLogger(trackSelector);
player.addListener(eventLogger);
player.addMetadataOutput(eventLogger);
player.addAudioDebugListener(eventLogger);
player.addVideoDebugListener(eventLogger);
if (drmSessionManager != null) {
drmSessionManager.addListener(mainHandler, eventLogger);
}
player.setPlayWhenReady(startAutoPlay); player.setPlayWhenReady(startAutoPlay);
player.addAnalyticsListener(new EventLogger(trackSelector));
playerView.setPlayer(player); playerView.setPlayer(player);
playerView.setPlaybackPreparer(this); playerView.setPlaybackPreparer(this);
debugViewHelper = new DebugTextViewHelper(player, debugTextView); debugViewHelper = new DebugTextViewHelper(player, debugTextView);
...@@ -437,8 +428,7 @@ public class PlayerActivity extends Activity ...@@ -437,8 +428,7 @@ public class PlayerActivity extends Activity
releaseAdsLoader(); releaseAdsLoader();
loadedAdTagUri = adTagUri; loadedAdTagUri = adTagUri;
} }
MediaSource adsMediaSource = MediaSource adsMediaSource = createAdsMediaSource(mediaSource, Uri.parse(adTagUriString));
createAdsMediaSource(mediaSource, Uri.parse(adTagUriString), eventLogger);
if (adsMediaSource != null) { if (adsMediaSource != null) {
mediaSource = adsMediaSource; mediaSource = adsMediaSource;
} else { } else {
...@@ -447,7 +437,6 @@ public class PlayerActivity extends Activity ...@@ -447,7 +437,6 @@ public class PlayerActivity extends Activity
} else { } else {
releaseAdsLoader(); releaseAdsLoader();
} }
mediaSource.addEventListener(mainHandler, eventLogger);
} }
boolean haveStartPosition = startWindow != C.INDEX_UNSET; boolean haveStartPosition = startWindow != C.INDEX_UNSET;
if (haveStartPosition) { if (haveStartPosition) {
...@@ -508,10 +497,8 @@ public class PlayerActivity extends Activity ...@@ -508,10 +497,8 @@ public class PlayerActivity extends Activity
keyRequestPropertiesArray[i + 1]); keyRequestPropertiesArray[i + 1]);
} }
} }
DefaultDrmSessionManager<FrameworkMediaCrypto> drmSessionManager = return new DefaultDrmSessionManager<>(
new DefaultDrmSessionManager<>( uuid, FrameworkMediaDrm.newInstance(uuid), drmCallback, null, multiSession);
uuid, FrameworkMediaDrm.newInstance(uuid), drmCallback, null, multiSession);
return drmSessionManager;
} }
private void releasePlayer() { private void releasePlayer() {
...@@ -572,8 +559,7 @@ public class PlayerActivity extends Activity ...@@ -572,8 +559,7 @@ public class PlayerActivity extends Activity
} }
/** Returns an ads media source, reusing the ads loader if one exists. */ /** Returns an ads media source, reusing the ads loader if one exists. */
private @Nullable MediaSource createAdsMediaSource( private @Nullable MediaSource createAdsMediaSource(MediaSource mediaSource, Uri adTagUri) {
MediaSource mediaSource, Uri adTagUri, EventLogger eventLogger) {
// Load the extension source using reflection so the demo app doesn't have to depend on it. // Load the extension source using reflection so the demo app doesn't have to depend on it.
// The ads loader is reused for multiple playbacks, so that ad playback can resume. // The ads loader is reused for multiple playbacks, so that ad playback can resume.
try { try {
...@@ -604,7 +590,12 @@ public class PlayerActivity extends Activity ...@@ -604,7 +590,12 @@ public class PlayerActivity extends Activity
} }
}; };
return new AdsMediaSource( return new AdsMediaSource(
mediaSource, adMediaSourceFactory, adsLoader, adUiViewGroup, mainHandler, eventLogger); mediaSource,
adMediaSourceFactory,
adsLoader,
adUiViewGroup,
mainHandler,
player.getAnalyticsCollector());
} catch (ClassNotFoundException e) { } catch (ClassNotFoundException e) {
// IMA extension not loaded. // IMA extension not loaded.
return null; return null;
......
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