From 7c65b945783c5fac0245f9d5a668fce5feeced3d Mon Sep 17 00:00:00 2001 From: tonihei Date: Wed, 4 Apr 2018 05:05:47 -0700 Subject: [PATCH] Check for null listeners in deprecated paths in DefaultDrmSessionManager. The previous API allowed to pass in null to the constructors although variants without listeners exist. That's why we need to handle these null values. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=191577891 --- .../drm/DefaultDrmSessionManager.java | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.java b/library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.java index d5a6f0c36e..42e0e205a7 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.java @@ -121,7 +121,9 @@ public class DefaultDrmSessionManager implements DrmSe throws UnsupportedDrmException { DefaultDrmSessionManager drmSessionManager = newWidevineInstance(callback, optionalKeyRequestParameters); - drmSessionManager.addListener(eventHandler, eventListener); + if (eventHandler != null && eventListener != null) { + drmSessionManager.addListener(eventHandler, eventListener); + } return drmSessionManager; } @@ -152,7 +154,9 @@ public class DefaultDrmSessionManager implements DrmSe throws UnsupportedDrmException { DefaultDrmSessionManager drmSessionManager = newPlayReadyInstance(callback, customData); - drmSessionManager.addListener(eventHandler, eventListener); + if (eventHandler != null && eventListener != null) { + drmSessionManager.addListener(eventHandler, eventListener); + } return drmSessionManager; } @@ -192,7 +196,9 @@ public class DefaultDrmSessionManager implements DrmSe throws UnsupportedDrmException { DefaultDrmSessionManager drmSessionManager = newFrameworkInstance(uuid, callback, optionalKeyRequestParameters); - drmSessionManager.addListener(eventHandler, eventListener); + if (eventHandler != null && eventListener != null) { + drmSessionManager.addListener(eventHandler, eventListener); + } return drmSessionManager; } @@ -230,7 +236,9 @@ public class DefaultDrmSessionManager implements DrmSe Handler eventHandler, DefaultDrmSessionEventListener eventListener) { this(uuid, mediaDrm, callback, optionalKeyRequestParameters); - addListener(eventHandler, eventListener); + if (eventHandler != null && eventListener != null) { + addListener(eventHandler, eventListener); + } } /** @@ -268,7 +276,9 @@ public class DefaultDrmSessionManager implements DrmSe DefaultDrmSessionEventListener eventListener, boolean multiSession) { this(uuid, mediaDrm, callback, optionalKeyRequestParameters, multiSession); - addListener(eventHandler, eventListener); + if (eventHandler != null && eventListener != null) { + addListener(eventHandler, eventListener); + } } /** @@ -316,7 +326,9 @@ public class DefaultDrmSessionManager implements DrmSe optionalKeyRequestParameters, multiSession, initialDrmRequestRetryCount); - addListener(eventHandler, eventListener); + if (eventHandler != null && eventListener != null) { + addListener(eventHandler, eventListener); + } } /**