From 335fa130635b463e9b5d8acce30178fd6d180d9a Mon Sep 17 00:00:00 2001 From: tonihei Date: Fri, 24 Aug 2018 03:43:50 -0700 Subject: [PATCH] Use set-like behaviour for BaseDataSource listeners. This prevents problems caused by unintended double-registration of the same transfer listener. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=210078454 --- .../google/android/exoplayer2/upstream/BaseDataSource.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/BaseDataSource.java b/library/core/src/main/java/com/google/android/exoplayer2/upstream/BaseDataSource.java index 18a7dcea49..5ed2e33d2b 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/upstream/BaseDataSource.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/upstream/BaseDataSource.java @@ -47,8 +47,10 @@ public abstract class BaseDataSource implements DataSource { @Override public final void addTransferListener(TransferListener transferListener) { - listeners.add(transferListener); - listenerCount++; + if (!listeners.contains(transferListener)) { + listeners.add(transferListener); + listenerCount++; + } } /**