Loading domain/src/main/java/com/moez/QKSMS/interactor/CancelDelayedMessage.kt +13 −6 Original line number Original line Diff line number Diff line Loading @@ -18,16 +18,23 @@ */ */ package com.moez.QKSMS.interactor package com.moez.QKSMS.interactor import com.moez.QKSMS.repository.ConversationRepository import com.moez.QKSMS.repository.MessageRepository import com.moez.QKSMS.repository.MessageRepository import io.reactivex.Flowable import io.reactivex.Flowable import javax.inject.Inject import javax.inject.Inject class CancelDelayedMessage @Inject constructor(private val messageRepo: MessageRepository) : Interactor<Long>() { class CancelDelayedMessage @Inject constructor( private val conversationRepo: ConversationRepository, private val messageRepo: MessageRepository ) : Interactor<CancelDelayedMessage.Params>() { override fun buildObservable(params: Long): Flowable<*> { data class Params(val messageId: Long, val threadId: Long) return Flowable.just(params) .doOnNext { id -> messageRepo.cancelDelayedSms(id) } override fun buildObservable(params: Params): Flowable<*> { .doOnNext { id -> messageRepo.deleteMessages(id) } return Flowable.just(Unit) .doOnNext { messageRepo.cancelDelayedSms(params.messageId) } .doOnNext { messageRepo.deleteMessages(params.messageId) } .doOnNext { conversationRepo.updateConversations(params.threadId) } // Update the conversation } } } } presentation/src/main/java/com/moez/QKSMS/feature/compose/ComposeViewModel.kt +3 −1 Original line number Original line Diff line number Diff line Loading @@ -450,7 +450,9 @@ class ComposeViewModel @Inject constructor( .mapNotNull(messageRepo::getMessage) .mapNotNull(messageRepo::getMessage) .doOnNext { message -> view.setDraft(message.getText()) } .doOnNext { message -> view.setDraft(message.getText()) } .autoDisposable(view.scope()) .autoDisposable(view.scope()) .subscribe { message -> cancelMessage.execute(message.id) } .subscribe { message -> cancelMessage.execute(CancelDelayedMessage.Params(message.id, message.threadId)) } // Set the current conversation // Set the current conversation Observables Observables Loading Loading
domain/src/main/java/com/moez/QKSMS/interactor/CancelDelayedMessage.kt +13 −6 Original line number Original line Diff line number Diff line Loading @@ -18,16 +18,23 @@ */ */ package com.moez.QKSMS.interactor package com.moez.QKSMS.interactor import com.moez.QKSMS.repository.ConversationRepository import com.moez.QKSMS.repository.MessageRepository import com.moez.QKSMS.repository.MessageRepository import io.reactivex.Flowable import io.reactivex.Flowable import javax.inject.Inject import javax.inject.Inject class CancelDelayedMessage @Inject constructor(private val messageRepo: MessageRepository) : Interactor<Long>() { class CancelDelayedMessage @Inject constructor( private val conversationRepo: ConversationRepository, private val messageRepo: MessageRepository ) : Interactor<CancelDelayedMessage.Params>() { override fun buildObservable(params: Long): Flowable<*> { data class Params(val messageId: Long, val threadId: Long) return Flowable.just(params) .doOnNext { id -> messageRepo.cancelDelayedSms(id) } override fun buildObservable(params: Params): Flowable<*> { .doOnNext { id -> messageRepo.deleteMessages(id) } return Flowable.just(Unit) .doOnNext { messageRepo.cancelDelayedSms(params.messageId) } .doOnNext { messageRepo.deleteMessages(params.messageId) } .doOnNext { conversationRepo.updateConversations(params.threadId) } // Update the conversation } } } }
presentation/src/main/java/com/moez/QKSMS/feature/compose/ComposeViewModel.kt +3 −1 Original line number Original line Diff line number Diff line Loading @@ -450,7 +450,9 @@ class ComposeViewModel @Inject constructor( .mapNotNull(messageRepo::getMessage) .mapNotNull(messageRepo::getMessage) .doOnNext { message -> view.setDraft(message.getText()) } .doOnNext { message -> view.setDraft(message.getText()) } .autoDisposable(view.scope()) .autoDisposable(view.scope()) .subscribe { message -> cancelMessage.execute(message.id) } .subscribe { message -> cancelMessage.execute(CancelDelayedMessage.Params(message.id, message.threadId)) } // Set the current conversation // Set the current conversation Observables Observables Loading