Feature/chat merge (#80)

This commit is contained in:
Ilia Kurtov 2017-08-11 12:14:13 +03:00 committed by Gavriil
parent f7f98f0106
commit 20a9597c35
1 changed files with 9 additions and 0 deletions

View File

@ -168,6 +168,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.
*/
@ -194,6 +202,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