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 {
|
listViewModel.requestWriteExternalStoragePermissionEvent.observe(viewLifecycleOwner, Observer {
|
||||||
it.consume {
|
it.consume {
|
||||||
requestPermissions(arrayOf(android.Manifest.permission.WRITE_EXTERNAL_STORAGE), 1)
|
requestPermissions(arrayOf(android.Manifest.permission.WRITE_EXTERNAL_STORAGE), 1)
|
||||||
|
|
|
@ -54,6 +54,10 @@ class ChatMessagesListViewModel(private val chatRoom: ChatRoom) : ViewModel() {
|
||||||
MutableLiveData<Event<Boolean>>()
|
MutableLiveData<Event<Boolean>>()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val scrollToBottomOnMessageReceivedEvent: MutableLiveData<Event<Boolean>> by lazy {
|
||||||
|
MutableLiveData<Event<Boolean>>()
|
||||||
|
}
|
||||||
|
|
||||||
private val chatMessageListener: ChatMessageListenerStub = object : ChatMessageListenerStub() {
|
private val chatMessageListener: ChatMessageListenerStub = object : ChatMessageListenerStub() {
|
||||||
override fun onMsgStateChanged(message: ChatMessage, state: ChatMessage.State) {
|
override fun onMsgStateChanged(message: ChatMessage, state: ChatMessage.State) {
|
||||||
if (state == ChatMessage.State.Displayed) {
|
if (state == ChatMessage.State.Displayed) {
|
||||||
|
@ -86,6 +90,7 @@ class ChatMessagesListViewModel(private val chatRoom: ChatRoom) : ViewModel() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
scrollToBottomOnMessageReceivedEvent.value = Event(true)
|
||||||
}
|
}
|
||||||
|
|
||||||
addEvent(eventLog)
|
addEvent(eventLog)
|
||||||
|
|
Loading…
Reference in a new issue