Fix leak in the demo app

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=199448766
This commit is contained in:
aquilescanta 2018-06-06 05:22:55 -07:00 committed by Oliver Woodman
parent 050ee4a0a3
commit 645363059b

View File

@ -136,6 +136,7 @@ public class PlayerActivity extends Activity
private DataSource.Factory mediaDataSourceFactory;
private SimpleExoPlayer player;
private FrameworkMediaDrm mediaDrm;
private MediaSource mediaSource;
private DefaultTrackSelector trackSelector;
private DefaultTrackSelector.Parameters trackSelectorParameters;
@ -487,8 +488,9 @@ public class PlayerActivity extends Activity
keyRequestPropertiesArray[i + 1]);
}
}
return new DefaultDrmSessionManager<>(
uuid, FrameworkMediaDrm.newInstance(uuid), drmCallback, null, multiSession);
releaseMediaDrm();
mediaDrm = FrameworkMediaDrm.newInstance(uuid);
return new DefaultDrmSessionManager<>(uuid, mediaDrm, drmCallback, null, multiSession);
}
private void releasePlayer() {
@ -502,6 +504,23 @@ public class PlayerActivity extends Activity
mediaSource = null;
trackSelector = null;
}
releaseMediaDrm();
}
private void releaseMediaDrm() {
if (mediaDrm != null) {
mediaDrm.release();
mediaDrm = null;
}
}
private void releaseAdsLoader() {
if (adsLoader != null) {
adsLoader.release();
adsLoader = null;
loadedAdTagUri = null;
playerView.getOverlayFrameLayout().removeAllViews();
}
}
private void updateTrackSelectorParameters() {
@ -576,15 +595,6 @@ public class PlayerActivity extends Activity
}
}
private void releaseAdsLoader() {
if (adsLoader != null) {
adsLoader.release();
adsLoader = null;
loadedAdTagUri = null;
playerView.getOverlayFrameLayout().removeAllViews();
}
}
// User controls
private void updateButtonVisibilities() {