Scroll to bottom upon chat message reception
This commit is contained in:
parent
fe1fef5209
commit
af2105e193
2 changed files with 11 additions and 0 deletions
|
@ -145,6 +145,12 @@ class DetailChatRoomFragment : MasterFragment() {
|
|||
}
|
||||
})
|
||||
|
||||
listViewModel.scrollToBottomOnMessageReceivedEvent.observe(viewLifecycleOwner, Observer {
|
||||
it.consume {
|
||||
scrollToBottom()
|
||||
}
|
||||
})
|
||||
|
||||
listViewModel.requestWriteExternalStoragePermissionEvent.observe(viewLifecycleOwner, Observer {
|
||||
it.consume {
|
||||
requestPermissions(arrayOf(android.Manifest.permission.WRITE_EXTERNAL_STORAGE), 1)
|
||||
|
|
|
@ -54,6 +54,10 @@ class ChatMessagesListViewModel(private val chatRoom: ChatRoom) : ViewModel() {
|
|||
MutableLiveData<Event<Boolean>>()
|
||||
}
|
||||
|
||||
val scrollToBottomOnMessageReceivedEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||
MutableLiveData<Event<Boolean>>()
|
||||
}
|
||||
|
||||
private val chatMessageListener: ChatMessageListenerStub = object : ChatMessageListenerStub() {
|
||||
override fun onMsgStateChanged(message: ChatMessage, state: ChatMessage.State) {
|
||||
if (state == ChatMessage.State.Displayed) {
|
||||
|
@ -86,6 +90,7 @@ class ChatMessagesListViewModel(private val chatRoom: ChatRoom) : ViewModel() {
|
|||
}
|
||||
}
|
||||
}
|
||||
scrollToBottomOnMessageReceivedEvent.value = Event(true)
|
||||
}
|
||||
|
||||
addEvent(eventLog)
|
||||
|
|
Loading…
Reference in a new issue