mirror of
https://github.com/WuKongIM/WuKongIMAndroidSDK
synced 2025-06-05 00:28:22 +00:00
fix:add order message
This commit is contained in:
parent
12a4df84b5
commit
ab6bdbd514
@ -2,14 +2,12 @@ package com.xinbida.wukongdemo
|
||||
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import android.widget.TextView
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.appcompat.widget.AppCompatImageView
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.lxj.xpopup.XPopup
|
||||
import com.xinbida.wukongdemo.Const.Companion.token
|
||||
import com.xinbida.wukongim.WKIM
|
||||
import com.xinbida.wukongim.entity.WKChannelType
|
||||
import com.xinbida.wukongim.message.type.WKConnectStatus
|
||||
@ -21,18 +19,16 @@ class ConversationActivity : AppCompatActivity() {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setContentView(R.layout.act_conv_layout)
|
||||
|
||||
|
||||
|
||||
initView()
|
||||
initListener()
|
||||
initData()
|
||||
|
||||
WKIM.getInstance().isDebug = true
|
||||
// 初始化
|
||||
WKIM.getInstance().init(this, Const.uid, token)
|
||||
WKIM.getInstance().init(this, Const.uid, Const.token)
|
||||
// 连接
|
||||
WKIM.getInstance().connectionManager.connection()
|
||||
|
||||
initData()
|
||||
}
|
||||
|
||||
private fun initView() {
|
||||
@ -48,7 +44,6 @@ class ConversationActivity : AppCompatActivity() {
|
||||
WKIM.getInstance().connectionManager.addOnConnectionStatusListener(
|
||||
"conv"
|
||||
) { code, _ ->
|
||||
Log.e("连接撞头", "$code")
|
||||
when (code) {
|
||||
WKConnectStatus.connecting -> {
|
||||
titleTv.setText(R.string.connecting)
|
||||
@ -65,9 +60,11 @@ class ConversationActivity : AppCompatActivity() {
|
||||
WKConnectStatus.syncMsg -> {
|
||||
titleTv.setText(R.string.connect_syncing)
|
||||
}
|
||||
|
||||
WKConnectStatus.noNetwork -> {
|
||||
titleTv.setText(R.string.no_net)
|
||||
}
|
||||
|
||||
WKConnectStatus.syncCompleted -> {
|
||||
titleTv.setText(R.string.connect_success)
|
||||
}
|
||||
@ -89,11 +86,12 @@ class ConversationActivity : AppCompatActivity() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var number = 0
|
||||
WKIM.getInstance().conversationManager.addOnRefreshMsgListener(
|
||||
"conv"
|
||||
) { uiConversationMsg, _ ->
|
||||
) { uiConversationMsg, isEnd ->
|
||||
var isAdd = true
|
||||
number++
|
||||
for (index in adapter.data.indices) {
|
||||
if (adapter.data[index].channelID == uiConversationMsg?.channelID) {
|
||||
isAdd = false
|
||||
@ -107,14 +105,35 @@ class ConversationActivity : AppCompatActivity() {
|
||||
adapter.data[index].lastMsgTimestamp =
|
||||
uiConversationMsg.lastMsgTimestamp
|
||||
if (recyclerView.scrollState == RecyclerView.SCROLL_STATE_IDLE || (!recyclerView.isComputingLayout)) {
|
||||
adapter.notifyItemChanged(index)
|
||||
recyclerView.post {
|
||||
if (index == 0) {
|
||||
adapter.notifyItemChanged(index)
|
||||
} else {
|
||||
adapter.removeAt(index)
|
||||
adapter.addData(0, uiConversationMsg)
|
||||
recyclerView.post {
|
||||
recyclerView.scrollToPosition(0)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
break
|
||||
}
|
||||
}
|
||||
if (isAdd) {
|
||||
adapter.addData(0, uiConversationMsg!!)
|
||||
recyclerView.scrollToPosition(0)
|
||||
}
|
||||
if (isEnd) {
|
||||
if (number > 1) {
|
||||
val list = adapter.data
|
||||
list.sortByDescending { it.lastMsgTimestamp }
|
||||
adapter.setList(list)
|
||||
recyclerView.post {
|
||||
recyclerView.scrollToPosition(0)
|
||||
}
|
||||
}
|
||||
number = 0;
|
||||
}
|
||||
}
|
||||
findViewById<AppCompatImageView>(R.id.addIV).setOnClickListener {
|
||||
|
@ -53,10 +53,6 @@ public class LoginActivity extends AppCompatActivity {
|
||||
Const.Companion.setToken(token);
|
||||
Const.Companion.setUid(uid);
|
||||
Intent intent = new Intent(LoginActivity.this, ConversationActivity.class);
|
||||
|
||||
// Intent intent = new Intent(LoginActivity.this, MainActivity.class);
|
||||
// intent.putExtra("uid", uid);
|
||||
// intent.putExtra("token", token);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
});
|
||||
|
@ -61,7 +61,10 @@ public class MainActivity extends AppCompatActivity {
|
||||
if (isLoading) {
|
||||
return;
|
||||
}
|
||||
long orderSeq = adapter.getData().get(0).msg.orderSeq;
|
||||
long orderSeq = 0;
|
||||
if (!adapter.getData().isEmpty()) {
|
||||
orderSeq = adapter.getData().get(0).msg.orderSeq;
|
||||
}
|
||||
getData(orderSeq, 0, false, false);
|
||||
}
|
||||
|
||||
@ -69,7 +72,10 @@ public class MainActivity extends AppCompatActivity {
|
||||
if (isLoading) {
|
||||
return;
|
||||
}
|
||||
long orderSeq = adapter.getData().get(adapter.getData().size() - 1).msg.orderSeq;
|
||||
long orderSeq = 0;
|
||||
if (!adapter.getData().isEmpty()) {
|
||||
orderSeq = adapter.getData().get(adapter.getData().size() - 1).msg.orderSeq;
|
||||
}
|
||||
getData(orderSeq, 1, false, false);
|
||||
}
|
||||
|
||||
@ -142,9 +148,9 @@ public class MainActivity extends AppCompatActivity {
|
||||
// 新消息监听
|
||||
WKIM.getInstance().getMsgManager().addOnNewMsgListener("new_msg", msgList -> {
|
||||
for (WKMsg msg : msgList) {
|
||||
if (msg.type==56) {
|
||||
if (msg.type == 56) {
|
||||
adapter.addData(new UIMessageEntity(msg, 3));
|
||||
}else {
|
||||
} else {
|
||||
adapter.addData(new UIMessageEntity(msg, 0));
|
||||
}
|
||||
}
|
||||
@ -152,9 +158,9 @@ public class MainActivity extends AppCompatActivity {
|
||||
});
|
||||
// 监听发送消息入库返回
|
||||
WKIM.getInstance().getMsgManager().addOnSendMsgCallback("insert_msg", msg -> {
|
||||
if (msg.type==56){
|
||||
if (msg.type == 56) {
|
||||
adapter.addData(new UIMessageEntity(msg, 2));
|
||||
}else {
|
||||
} else {
|
||||
adapter.addData(new UIMessageEntity(msg, 1));
|
||||
}
|
||||
recyclerView.scrollToPosition(adapter.getData().size() - 1);
|
||||
|
@ -25,8 +25,8 @@ class WKApplication : Application() {
|
||||
|
||||
private val avatars = arrayOf(
|
||||
"https://lmg.jj20.com/up/allimg/tx29/06052048151752929.png",
|
||||
"https://pic.imeitou.com/uploads/allimg/2021061715/aqg1wx3nsds.jpg",
|
||||
"https://lmg.jj20.com/up/allimg/tx30/10121138219844229.jpg",
|
||||
"https://img1.baidu.com/it/u=1653751609,236581088&fm=253&fmt=auto&app=120&f=JPEG?w=500&h=500",
|
||||
"https://img0.baidu.com/it/u=1008951549,1654888911&fm=253&fmt=auto&app=120&f=JPEG?w=800&h=800",
|
||||
"https://lmg.jj20.com/up/allimg/tx30/10121138219844229.jpg",
|
||||
"https://lmg.jj20.com/up/allimg/tx28/430423183653303.jpg",
|
||||
"https://lmg.jj20.com/up/allimg/tx23/520420024834916.jpg",
|
||||
|
Loading…
x
Reference in New Issue
Block a user