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
This commit is contained in:
tonihei 2018-08-24 03:43:50 -07:00 committed by Oliver Woodman
parent 38f2f352f9
commit 335fa13063

View file

@ -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++;
}
}
/**