提交 606dbb0f 编写于 作者: 楼国栋

Merge branch 'feature/android_im_chat_load_more' into 'develop'

android聊天窗口下拉加载更新消息内容

See merge request o2oa/o2oa!1067
......@@ -146,6 +146,10 @@ class O2ChatActivity : BaseMVPActivity<O2ChatContract.View, O2ChatContract.Prese
finish()
}
//消息列表初始化
sr_o2_chat_message_layout.setOnRefreshListener {
XLog.debug("下啦零零落落零零落落来了")
getPageData()
}
rv_o2_chat_messages.layoutManager = LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false)
rv_o2_chat_messages.adapter = adapter
adapter.eventListener = object : O2ChatMessageAdapter.MessageEventListener {
......@@ -188,6 +192,7 @@ class O2ChatActivity : BaseMVPActivity<O2ChatContract.View, O2ChatContract.Prese
initListener()
sr_o2_chat_message_layout.isRefreshing = true
getPageData()
//录音格式
......@@ -389,6 +394,7 @@ class O2ChatActivity : BaseMVPActivity<O2ChatContract.View, O2ChatContract.Prese
}
override fun backPageMessages(list: List<IMMessage>) {
sr_o2_chat_message_layout.isRefreshing = false
if (list.isNotEmpty()) {
page++
adapter.addPageMessage(list)
......
......@@ -72,10 +72,18 @@ class O2IMConversationPresenter : BasePresenterImpl<O2IMConversationContract.Vie
val service = getMessageCommunicateService(mView?.getContext())
service?.let {
it.myConversationList().subscribeOn(Schedulers.io())
.flatMap { res ->
val list = res.data
if ( list != null && list.isNotEmpty()) {
val newList = list.sortedByDescending { c -> c.lastMessage?.createTime }
Observable.just(newList)
}else {
Observable.just(ArrayList())
}
}
.observeOn(AndroidSchedulers.mainThread())
.o2Subscribe {
onNext { res->
val list = res.data
onNext { list->
if (list != null) {
mView?.myConversationList(list)
}else{
......
......@@ -10,14 +10,21 @@
<include layout="@layout/snippet_appbarlayout_toolbar" />
<android.support.v7.widget.RecyclerView
android:id="@+id/rv_o2_chat_messages"
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/sr_o2_chat_message_layout"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toTopOf="@+id/ll_o2_chat_input_layout"
app:layout_constraintTop_toBottomOf="@+id/app_bar_layout_snippet" />
app:layout_constraintTop_toBottomOf="@+id/app_bar_layout_snippet">
<android.support.v7.widget.RecyclerView
android:id="@+id/rv_o2_chat_messages"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</android.support.v4.widget.SwipeRefreshLayout>
<net.zoneland.x.bpm.mobile.v1.zoneXBPM.widgets.KeyboardLayout
android:id="@+id/rv_o2_chat_emoji_box_out"
......@@ -37,7 +44,7 @@
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/rv_o2_chat_messages"
app:layout_constraintTop_toBottomOf="@+id/sr_o2_chat_message_layout"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册