From 2d537cb0df43aa53d3f388f534e524a88e6fcb72 Mon Sep 17 00:00:00 2001 From: Moez Bhatti Date: Mon, 2 Jul 2018 17:46:18 -0400 Subject: [PATCH] Fix QK Reply crash when conversation is invalid --- .../java/com/moez/QKSMS/feature/qkreply/QkReplyActivity.kt | 2 +- .../main/java/com/moez/QKSMS/feature/qkreply/QkReplyState.kt | 1 + .../java/com/moez/QKSMS/feature/qkreply/QkReplyViewModel.kt | 5 ++--- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/presentation/src/main/java/com/moez/QKSMS/feature/qkreply/QkReplyActivity.kt b/presentation/src/main/java/com/moez/QKSMS/feature/qkreply/QkReplyActivity.kt index 472da8a4..09ef827c 100644 --- a/presentation/src/main/java/com/moez/QKSMS/feature/qkreply/QkReplyActivity.kt +++ b/presentation/src/main/java/com/moez/QKSMS/feature/qkreply/QkReplyActivity.kt @@ -87,7 +87,7 @@ class QkReplyActivity : QkThemedActivity(), QkReplyView { finish() } - threadId.onNext(state.data?.first?.id ?: 0) + threadId.onNext(state.selectedConversation) title = state.title diff --git a/presentation/src/main/java/com/moez/QKSMS/feature/qkreply/QkReplyState.kt b/presentation/src/main/java/com/moez/QKSMS/feature/qkreply/QkReplyState.kt index 416bc386..b95ccb01 100644 --- a/presentation/src/main/java/com/moez/QKSMS/feature/qkreply/QkReplyState.kt +++ b/presentation/src/main/java/com/moez/QKSMS/feature/qkreply/QkReplyState.kt @@ -25,6 +25,7 @@ import io.realm.RealmResults data class QkReplyState( val hasError: Boolean = false, + val selectedConversation: Long = 0, val title: String = "", val expanded: Boolean = false, val data: Pair>? = null, diff --git a/presentation/src/main/java/com/moez/QKSMS/feature/qkreply/QkReplyViewModel.kt b/presentation/src/main/java/com/moez/QKSMS/feature/qkreply/QkReplyViewModel.kt index 679f2340..3fe5b20c 100644 --- a/presentation/src/main/java/com/moez/QKSMS/feature/qkreply/QkReplyViewModel.kt +++ b/presentation/src/main/java/com/moez/QKSMS/feature/qkreply/QkReplyViewModel.kt @@ -28,7 +28,6 @@ import com.moez.QKSMS.extensions.asObservable import com.moez.QKSMS.extensions.mapNotNull import com.moez.QKSMS.interactor.MarkRead import com.moez.QKSMS.interactor.SendMessage -import com.moez.QKSMS.model.Conversation import com.moez.QKSMS.model.Message import com.moez.QKSMS.repository.ConversationRepository import com.moez.QKSMS.repository.MessageRepository @@ -53,11 +52,11 @@ class QkReplyViewModel @Inject constructor( private val navigator: Navigator, private val sendMessage: SendMessage, private val subscriptionManager: SubscriptionManagerCompat -) : QkViewModel(QkReplyState()) { +) : QkViewModel(QkReplyState(selectedConversation = threadId)) { private val conversation by lazy { conversationRepo.getConversationAsync(threadId) - .asObservable() + .asObservable() .filter { it.isLoaded } .filter { it.isValid } .distinctUntilChanged()