added sending cancel action to Chat

This commit is contained in:
Elena Bobkova 2017-08-09 15:12:46 +03:00
parent ec191dab68
commit d4b02b2285
1 changed files with 9 additions and 0 deletions

View File

@ -175,6 +175,14 @@ public abstract class Chat<TOutgoingMessage> {
retrySendingRequest.onNext(null);
}
/**
* Method to cancel sending current message.
*/
@NonNull
public Observable<?> observeCancelEvent(@NonNull final TOutgoingMessage message) {
return Observable.never();
}
/**
* Deactivates chat so it will stop sending messages.
*/
@ -201,6 +209,7 @@ public abstract class Chat<TOutgoingMessage> {
.first()
.switchMap(shouldSendMessage -> shouldSendMessage
? createSendMessageObservable(message).ignoreElements() : Observable.empty())
.takeUntil(observeCancelEvent(message))
.retryWhen(attempts -> attempts.switchMap(ignored -> {
isSendingInError.onNext(true);
return Observable