This commit is contained in:
18401019693
2022-07-23 16:31:33 +08:00
parent 18aabb85a7
commit cc35227b56
26 changed files with 603 additions and 113 deletions

View File

@@ -37,12 +37,10 @@ import com.tencent.imsdk.v2.V2TIMManager;
import com.tencent.imsdk.v2.V2TIMSDKConfig;
import com.tencent.imsdk.v2.V2TIMSDKListener;
import com.tencent.imsdk.v2.V2TIMUserFullInfo;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.Constants;
import com.yunbao.common.activity.AbsActivity;
import com.yunbao.common.adapter.ViewPagerAdapter;
import com.yunbao.common.bean.BaseModel;
import com.yunbao.common.bean.ChatRemarksBean;
import com.yunbao.common.bean.ConfigBean;
import com.yunbao.common.bean.LiveSvgGiftBean;
@@ -56,6 +54,7 @@ import com.yunbao.common.http.CommonHttpConsts;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.interfaces.CommonCallback;
import com.yunbao.common.manager.IMLoginManager;
import com.yunbao.common.manager.imrongcloud.MessageIMManager;
import com.yunbao.common.manager.imrongcloud.RongcloudIMManager;
import com.yunbao.common.utils.DialogUitl;
import com.yunbao.common.utils.DpUtil;
@@ -72,7 +71,6 @@ import com.yunbao.common.views.AbsMainViewHolder;
import com.yunbao.live.LiveConfig;
import com.yunbao.live.activity.LiveAnchorActivity;
import com.yunbao.live.activity.LiveRyAnchorActivity;
import com.yunbao.live.activity.PDLIiveChatActivity;
import com.yunbao.live.bean.LiveBean;
import com.yunbao.live.bean.LiveKsyConfigBean;
import com.yunbao.live.http.LiveHttpConsts;
@@ -115,10 +113,8 @@ import java.util.Map;
import cn.rongcloud.rtc.api.RCRTCConfig;
import cn.rongcloud.rtc.api.RCRTCEngine;
import io.rong.imlib.RongIMClient;
import io.rong.imlib.model.Conversation;
import io.rong.message.TextMessage;
import static com.yunbao.common.CommonAppContext.Ingroup;
import static com.yunbao.common.CommonAppContext.isReady;
public class MainActivity extends AbsActivity implements MainAppBarLayoutListener {
@@ -365,6 +361,7 @@ public class MainActivity extends AbsActivity implements MainAppBarLayoutListene
@Override
public boolean onReceived(io.rong.imlib.model.Message message, int i, boolean b, boolean b1) {
Log.e("wewe", message.getConversationType() + "112121");
MessageIMManager.get(mContext).getSystemForRongcloud(message);
//融云直播间聊天
Message msg = Message.obtain();
msg.what = Constants.SOCKET_WHAT_BROADCAST;
@@ -1074,8 +1071,13 @@ public class MainActivity extends AbsActivity implements MainAppBarLayoutListene
public void onMessageIMEvent(MessageIMEvent event) {
messageNumber = event.getNumber();
if (event.getNumber() > 0) {
if (event.getNumber() > 99) {
v_table_redpoint.setText("99+");
} else {
v_table_redpoint.setText(event.getNumber() + "");
}
v_table_redpoint.setVisibility(View.VISIBLE);
v_table_redpoint.setText(event.getNumber() + "");
} else {
v_table_redpoint.setVisibility(View.GONE);
v_table_redpoint.setText("");

View File

@@ -15,6 +15,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.alibaba.fastjson.JSON;
import com.yunbao.common.activity.AbsActivity;
import com.yunbao.common.bean.ImUserInfoModel;
import com.yunbao.common.custom.TabButtonGroup;
import com.yunbao.common.event.MessageIMEvent;
import com.yunbao.common.event.UpdateTablePointMe;
@@ -51,6 +52,7 @@ public class PDLiveConversationListActivity extends AbsActivity {
private long mLastClickBackTime;//上次点击back键的时间
private TextView redPoint;
private View redpointMe;
private SystemMessageAdapter messageAdapter;
@Override
protected int getLayoutId() {
@@ -143,7 +145,7 @@ public class PDLiveConversationListActivity extends AbsActivity {
//初始化系统消息界面
View rootView = LayoutInflater.from(mContext).inflate(R.layout.view_system_message, null, true);
RecyclerView systemMessageList = rootView.findViewById(R.id.system_message_list);
SystemMessageAdapter messageAdapter = new SystemMessageAdapter(mContext);
messageAdapter = new SystemMessageAdapter(mContext);
messageAdapter.addDataAll(listUserBean);
systemMessageList.setHasFixedSize(false);
systemMessageList.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.VERTICAL, true));
@@ -201,8 +203,13 @@ public class PDLiveConversationListActivity extends AbsActivity {
public void onMessageIMEvent(MessageIMEvent event) {
if (redPoint == null) return;
if (event.getNumber() > 0) {
if (event.getNumber() > 99) {
redPoint.setText(String.valueOf("99+"));
} else {
redPoint.setText(String.valueOf(event.getNumber()));
}
redPoint.setVisibility(View.VISIBLE);
redPoint.setText(String.valueOf(event.getNumber()));
} else {
redPoint.setVisibility(View.GONE);
redPoint.setText("");
@@ -219,4 +226,10 @@ public class PDLiveConversationListActivity extends AbsActivity {
redpointMe.setVisibility(View.GONE);
}
}
//更新系統消息
@Subscribe(threadMode = ThreadMode.MAIN)
public void onImUserInfoModel(ImUserInfoModel model) {
messageAdapter.upDataMessage(model);
}
}

View File

@@ -17,6 +17,7 @@ import com.alibaba.fastjson.JSON;
import com.facebook.appevents.AppEventsLogger;
import com.google.firebase.analytics.FirebaseAnalytics;
import com.yunbao.common.activity.WebViewActivity;
import com.yunbao.common.bean.ImUserInfoModel;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.manager.imrongcloud.MessageIMManager;
import com.yunbao.live.activity.SystemMessageActivity;
@@ -55,7 +56,7 @@ public class SystemMessageAdapter extends RecyclerView.Adapter {
SystemMessageViewHolder messageViewHolder = (SystemMessageViewHolder) holder;
ImgLoader.displayWithError(mContext, model.getImage(), messageViewHolder.avatarImage, com.yunbao.live.R.mipmap.chat_head_mo);
if (position == 2) {
messageViewHolder.userMsg.setText(TextUtils.isEmpty(model.getLink()) ? mContext.getResources().getString(R.string.chat_like) : model.getLink());
messageViewHolder.userMsg.setText(TextUtils.isEmpty(model.getContent()) ? mContext.getResources().getString(R.string.chat_like) : model.getContent());
} else {
if (position == 1) {
messageViewHolder.userMsg.setText(TextUtils.isEmpty(model.getContent()) ? mContext.getResources().getString(R.string.chat_action_no) : model.getContent());
@@ -68,8 +69,15 @@ public class SystemMessageAdapter extends RecyclerView.Adapter {
String number = model.getNum();
if (!TextUtils.isEmpty(number) && !TextUtils.equals(number, "0")) {
int index = Integer.parseInt(number);
if (index > 99) {
messageViewHolder.redPoint.setText("99+");
} else {
messageViewHolder.redPoint.setText(number);
}
messageViewHolder.redPoint.setVisibility(View.VISIBLE);
messageViewHolder.redPoint.setText(number);
} else {
messageViewHolder.redPoint.setVisibility(View.GONE);
}
@@ -79,7 +87,7 @@ public class SystemMessageAdapter extends RecyclerView.Adapter {
MessageIMManager.get(mContext).getSystemMessages(new MessageIMManager.SystemMessagesHttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
if (code==0){
if (code == 0) {
List<ImUserBean> listUserBean = JSON.parseArray(Arrays.toString(info), ImUserBean.class);
addSystemMessagesView(listUserBean);
}
@@ -145,6 +153,28 @@ public class SystemMessageAdapter extends RecyclerView.Adapter {
listUserBean.clear();
listUserBean.addAll(mlistUserBean);
notifyDataSetChanged();
}
/**
* 更新系統數據
*/
public void upDataMessage(ImUserInfoModel model) {
for (ImUserBean imUserBean : listUserBean) {
if (TextUtils.equals(imUserBean.getType(), model.getType())) {
imUserBean.setContent(model.getContent())
.setIsDelet(model.getIsDelet())
.setRemarks(model.getRemarks())
.setIs_admin(model.getIsAdmin())
.set_method_(model.getMethod())
.setAddtime(model.getAddtime())
.setImage(model.getImage())
.setLink(model.getLink())
.setNum(imUserBean.addNumber(1))
.setTitle(model.getTitle())
.setType(model.getType())
.setUserId(model.getUserId());
}
}
notifyDataSetChanged();
}
}

View File

@@ -124,7 +124,7 @@ public class ConversationIMListManager {
CommonHttpUtil.getUserBaseinfo(userId, new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
if (code == 0 && info.length > 0) {
if (code == 0 && info.length > 0&&!TextUtils.equals("__system__",userId)) {
JSONObject obj = JSON.parseObject(info[0]);
SearchUserBean userBean = JSON.toJavaObject(obj, SearchUserBean.class);
String userNiceName = "";

View File

@@ -1,8 +1,6 @@
package com.yunbao.main.utils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
@@ -10,12 +8,10 @@ import java.util.List;
import io.rong.imkit.conversationlist.model.BaseUiConversation;
import io.rong.imkit.conversationlist.provider.BaseConversationProvider;
import io.rong.imkit.utils.RouteUtils;
import io.rong.imkit.widget.adapter.IViewProviderListener;
import io.rong.imkit.widget.adapter.ViewHolder;
import io.rong.imlib.model.Conversation;
import io.rong.imlib.model.Message;
import io.rong.imlib.model.UserInfo;
/**
* pdlive自定义会话模板
@@ -31,7 +27,7 @@ public class PDLiveCustomConversationProvider extends BaseConversationProvider {
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
//根据业务需要,自定义处理
Log.e("PDLiveCustomConversat","------------------------------------------"+viewType);
Log.e("PDLiveCustomConversat", "------------------------------------------" + viewType);
return super.onCreateViewHolder(parent, viewType);
}
@@ -41,14 +37,17 @@ public class PDLiveCustomConversationProvider extends BaseConversationProvider {
//根据业务需要,自定义处理
super.bindViewHolder(holder, uiConversation, position, list, listener);
if ( list.size()>0){
if (list.size() > 0) {
Message.ReceivedStatus receivedStatus = list.get(position).mCore.getReceivedStatus();
ImageView readReceipt = holder.itemView.findViewById(com.yunbao.live.R.id.rc_read_receipt_new);
if (receivedStatus.isRead()) {
readReceipt.setBackgroundResource(com.yunbao.live.R.mipmap.icon_message_unread);
}else {
readReceipt.setBackgroundResource(com.yunbao.live.R.mipmap.icon_message_read);
readReceipt.setBackgroundResource(com.yunbao.live.R.mipmap.icon_messagelist_read);
} else {
readReceipt.setBackgroundResource(com.yunbao.live.R.mipmap.icon_messagelist_unread);
}
}
}
}

View File

@@ -129,10 +129,10 @@
<TextView
android:id="@+id/v_table_redpoint"
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_width="20dp"
android:layout_height="20dp"
android:textColor="@color/white"
android:textSize="8dp"
android:textSize="10dp"
android:gravity="center"
android:background="@drawable/background_ff5075"
android:visibility="gone" />

View File

@@ -107,12 +107,12 @@
<TextView
android:id="@+id/v_table_redpoint"
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_width="20dp"
android:layout_height="20dp"
android:background="@drawable/background_ff5075"
android:gravity="center"
android:textColor="@color/white"
android:textSize="8dp"
android:textSize="10dp"
android:visibility="gone" />
</LinearLayout>

View File

@@ -54,8 +54,8 @@
<TextView
android:id="@+id/red_point"
android:layout_width="20dp"
android:layout_height="15dp"
android:layout_width="23dp"
android:layout_height="20dp"
android:layout_below="@id/time"
android:layout_alignParentRight="true"
android:layout_marginTop="5dp"
@@ -67,7 +67,7 @@
android:paddingLeft="3dp"
android:paddingRight="3dp"
android:textColor="#fff"
android:textSize="12sp"
android:textSize="8sp"
android:visibility="invisible" />