diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt index 74c49ad3848ea3d8dfc429d41b01cfba88e5cd86..09fdfcc61701708278b833f0a0be8799b2df8511 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/ChatActivity.kt @@ -176,22 +176,25 @@ class ChatActivity : ServiceBoundActivity(), SharedPreferences.OnSharedPreferenc val info = session.bufferSyncer?.find( bufferName = channel, networkId = networkId, - type = Buffer_Type.of(Buffer_Type.QueryBuffer) + type = Buffer_Type.of(Buffer_Type.ChannelBuffer) ) if (info != null) { - ChatActivity.launch(this, bufferId = info.bufferId) + viewModel.buffer.onNext(info.bufferId) + viewModel.bufferOpened.onNext(Unit) } else { - viewModel.allBuffers.map { listOfNotNull(it.find { - it.networkId == networkId && it.bufferName == channel + it.networkId == networkId && + it.bufferName == channel && + it.type.hasFlag(Buffer_Type.ChannelBuffer) }) }.filter { it.isNotEmpty() }.firstElement().toLiveData().observe(this, Observer { it?.firstOrNull()?.let { info -> - ChatActivity.launch(this, bufferId = info.bufferId) + viewModel.buffer.onNext(info.bufferId) + viewModel.bufferOpened.onNext(Unit) } })