This commit is contained in:
18401019693
2022-07-28 11:22:16 +08:00
parent 1fc6a3adfe
commit 0cb1ed9b71
6 changed files with 79 additions and 40 deletions

View File

@@ -3,6 +3,7 @@ package com.yunbao.main.adapter;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Handler;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
@@ -37,6 +38,8 @@ public class SystemMessageAdapter extends RecyclerView.Adapter {
private List<ImUserBean> listUserBean = new ArrayList<>();
protected Activity mContext;
protected LayoutInflater mInflater;
private Handler netHandler = new Handler();
private int mPosition = -1;
public SystemMessageAdapter(Activity mContext) {
this.mContext = mContext;
@@ -83,16 +86,8 @@ public class SystemMessageAdapter extends RecyclerView.Adapter {
}
//系统消息的跳转
messageViewHolder.setViewHolderOnClickListener((view, model1) -> {
//获取一下系统通知
MessageIMManager.get(mContext).getSystemMessages(new MessageIMManager.SystemMessagesHttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
if (code == 0) {
List<ImUserBean> listUserBean = JSON.parseArray(Arrays.toString(info), ImUserBean.class);
addSystemMessagesView(listUserBean);
}
}
});
mPosition = position;
netHandler.post(updataRunable);
if (model1.getContent().equals("在線客服")) {
FirebaseAnalytics.getInstance(mContext).logEvent("FS_customer_service", null);
AppEventsLogger.newLogger(mContext).logEvent("FB_customer_service");
@@ -151,8 +146,26 @@ public class SystemMessageAdapter extends RecyclerView.Adapter {
//倒序展示
Collections.reverse(mlistUserBean);
listUserBean.clear();
if (mPosition > 0) {
mlistUserBean.get(mPosition).setNum("");
}
listUserBean.addAll(mlistUserBean);
notifyDataSetChanged();
mPosition = -1;
int systemNumber = 0;
for (ImUserBean bean : listUserBean) {
//未读消息数
String number = bean.getNum();
//未读消息不为空并且大于0
try {
if (!TextUtils.isEmpty(number) && Integer.parseInt(number) > 0) {
systemNumber = Integer.parseInt(number) + systemNumber;
}
} catch (NumberFormatException e) {
systemNumber = systemNumber + 0;
}
}
MessageIMManager.get(mContext).setSystemNumber(systemNumber);
}
/**
@@ -177,4 +190,20 @@ public class SystemMessageAdapter extends RecyclerView.Adapter {
}
notifyDataSetChanged();
}
private Runnable updataRunable = new Runnable() {
@Override
public void run() {
//获取一下系统通知
MessageIMManager.get(mContext).getSystemMessages(new MessageIMManager.SystemMessagesHttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
if (code == 0) {
List<ImUserBean> listUserBean = JSON.parseArray(Arrays.toString(info), ImUserBean.class);
addSystemMessagesView(listUserBean);
}
}
});
}
};
}