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