From d4b02b2285b2e9d57ce1369ec49ff2bf3dfd3bbc Mon Sep 17 00:00:00 2001 From: Elena Bobkova Date: Wed, 9 Aug 2017 15:12:46 +0300 Subject: [PATCH] added sending cancel action to Chat --- src/main/java/ru/touchin/templates/chat/Chat.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/ru/touchin/templates/chat/Chat.java b/src/main/java/ru/touchin/templates/chat/Chat.java index 6b800a0..d20f59a 100644 --- a/src/main/java/ru/touchin/templates/chat/Chat.java +++ b/src/main/java/ru/touchin/templates/chat/Chat.java @@ -175,6 +175,14 @@ public abstract class Chat { 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 { .first() .switchMap(shouldSendMessage -> shouldSendMessage ? createSendMessageObservable(message).ignoreElements() : Observable.empty()) + .takeUntil(observeCancelEvent(message)) .retryWhen(attempts -> attempts.switchMap(ignored -> { isSendingInError.onNext(true); return Observable