package de.thedevstack.conversationsplus.services.filetransfer; import java.util.ArrayList; import java.util.List; import de.thedevstack.conversationsplus.entities.Message; import de.thedevstack.conversationsplus.services.FileTransferService; /** * */ public abstract class AbstractFileTransferService implements FileTransferService, FileTransferStatusListener { protected List failedMessages = new ArrayList<>(); @Override public void onFailure(Message message, boolean delay) { this.failedMessages.add(message); } @Override public void onSuccess(Message message, boolean delay) { if (this.failedMessages.contains(message)) { this.failedMessages.remove(message); } } @Override public boolean accept(Message message) { return !this.failedMessages.contains(message); } }