Show progress when conversation is loading

Potentially related to #1079
This commit is contained in:
Moez Bhatti
2018-06-06 13:47:41 -04:00
parent 1aeddec7bd
commit d6fa04f56d
5 changed files with 27 additions and 2 deletions
@@ -149,7 +149,14 @@ class ComposeViewModel @Inject constructor(
.skipUntil(state.filter { state -> state.editingMode })
.takeUntil(state.filter { state -> !state.editingMode })
.map { contacts -> contacts.map { it.numbers.firstOrNull()?.address ?: "" } }
.mapNotNull { addresses -> messageRepo.getOrCreateConversation(addresses) }
.observeOn(Schedulers.computation())
.doOnNext { newState { copy(loading = true) } }
.mapNotNull { addresses ->
val conversation = messageRepo.getOrCreateConversation(addresses)
newState { copy(loading = false) }
conversation
}
.observeOn(AndroidSchedulers.mainThread())
.mergeWith(initialConversation)
.filter { conversation -> conversation.isLoaded }
.doOnNext { conversation ->