改版消息主页面

This commit is contained in:
z583819556
2024-03-06 13:46:55 +08:00
parent a02f7b2e22
commit 2c554dadef
33 changed files with 1140 additions and 447 deletions

View File

@@ -72,7 +72,9 @@ import io.rong.imkit.conversationlist.ConversationListFragment;
/**
* pdlive消息中心
* 废弃的
*/
@Deprecated
public class PDLiveConversationListActivity extends AbsActivity implements View.OnClickListener {
//菜单
private TabButtonGroup mTabButtonGroup;

View File

@@ -0,0 +1,123 @@
package com.yunbao.main.adapter;
import android.text.Html;
import android.text.Spanned;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.main.R;
import io.rong.imkit.conversationlist.ConversationListAdapter;
import io.rong.imkit.widget.adapter.ViewHolder;
public class MainConversationListAdapter extends ConversationListAdapter {
public static final int TYPE_SEARCH_TITLE = 500;
public static final int TYPE_SEARCH_USER = 510;
public static final int TYPE_SEARCH_CHAT = 520;
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
ViewHolder holder = null;
if (viewType == TYPE_SEARCH_TITLE) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_main_msg_search_title, parent, false);
holder = ViewHolder.createViewHolder(parent.getContext(), view);
} else if (viewType == TYPE_SEARCH_USER) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_main_msg_search_user, parent, false);
holder = ViewHolder.createViewHolder(parent.getContext(), view);
} else if (viewType == TYPE_SEARCH_CHAT) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_main_msg_search_chat, parent, false);
holder = ViewHolder.createViewHolder(parent.getContext(), view);
} else {
holder = super.onCreateViewHolder(parent, viewType);
}
return holder;
}
@Override
public int getItemViewType(int position) {
int type = super.getItemViewType(position);
if (mDataList.size() > position) {
String objectName = mDataList.get(position).mCore.getObjectName();
if (!StringUtil.isEmpty(objectName) && objectName.startsWith("SEARCH_USER")) {
type = TYPE_SEARCH_USER;
} else if (!StringUtil.isEmpty(objectName) && objectName.equals("SEARCH_CHAT")) {
type = TYPE_SEARCH_CHAT;
} else if (!StringUtil.isEmpty(objectName) && objectName.startsWith("SEARCH_TITLE")) {
type = TYPE_SEARCH_TITLE;
}
}
return type;
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
if (getItemViewType(position) == TYPE_SEARCH_USER) {
bindUser(holder, position);
} else if (getItemViewType(position) == TYPE_SEARCH_CHAT) {
bindChat(holder, position);
} else if (getItemViewType(position) == TYPE_SEARCH_TITLE) {
bindTitle(holder, position);
} else {
super.onBindViewHolder(holder, position);
}
}
private void bindTitle(ViewHolder holder, int position) {
holder.setText(R.id.title, mDataList.get(position).mCore.getObjectName().replace("SEARCH_TITLE", ""));
}
private void bindUser(ViewHolder holder, int position) {
ImgLoader.display(holder.getContext(), mDataList.get(position).mCore.getPortraitUrl(), holder.getView(R.id.rc_conversation_portrait));
String title = mDataList.get(position).mCore.getConversationTitle();
String key = mDataList.get(position).mCore.getObjectName().replace("SEARCH_USER", "");
title = title.replace(key, "<font color='#FF4874'>" + key + "</font>");
Spanned spanned = Html.fromHtml(title);
((TextView) holder.getView(R.id.rc_conversation_title)).setText(spanned);
int type = mDataList.get(position).mCore.getMentionedCount();
holder.getView(R.id.itemDecorationTop).setVisibility(View.GONE);
holder.getView(R.id.itemDecorationBottom).setVisibility(View.GONE);
if (type == 1) {
holder.itemView.setBackgroundResource(R.drawable.bg_msg_list_item_top);
holder.getView(R.id.itemDecorationBottom).setVisibility(View.VISIBLE);
} else if (type == 2) {
holder.itemView.setBackgroundResource(R.drawable.bg_msg_list_item_bottom);
} else if (type == 3) {
holder.itemView.setBackgroundResource(R.drawable.bg_msg_list_item);
} else {
holder.getView(R.id.itemDecorationBottom).setVisibility(View.VISIBLE);
holder.itemView.setBackgroundResource(R.drawable.bg_msg_list_item_centre);
}
}
private void bindChat(ViewHolder holder, int position) {
ImgLoader.display(holder.getContext(), mDataList.get(position).mCore.getPortraitUrl(), holder.getView(R.id.rc_conversation_portrait));
holder.setText(R.id.rc_conversation_title, mDataList.get(position).mCore.getConversationTitle());
Spanned spanned = Html.fromHtml(WordUtil.getNewString(R.string.activity_msg_list_include) + "<font color='#FF4874'>" + mDataList.get(position).mConversationContent + "</font>");
((TextView) holder.getView(R.id.rc_conversation_content)).setText(spanned);
int type = mDataList.get(position).mCore.getMentionedCount();
holder.getView(R.id.itemDecorationTop).setVisibility(View.GONE);
holder.getView(R.id.itemDecorationBottom).setVisibility(View.GONE);
if (type == 1) {
holder.itemView.setBackgroundResource(R.drawable.bg_msg_list_item_top);
holder.getView(R.id.itemDecorationBottom).setVisibility(View.VISIBLE);
} else if (type == 2) {
holder.itemView.setBackgroundResource(R.drawable.bg_msg_list_item_bottom);
} else if (type == 3) {
holder.itemView.setBackgroundResource(R.drawable.bg_msg_list_item);
} else {
holder.getView(R.id.itemDecorationBottom).setVisibility(View.VISIBLE);
holder.itemView.setBackgroundResource(R.drawable.bg_msg_list_item_centre);
}
}
}

View File

@@ -0,0 +1,86 @@
package com.yunbao.main.dialog;
import android.content.Context;
import android.graphics.Color;
import android.view.Gravity;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
import com.lxj.xpopup.core.AttachPopupView;
import com.yunbao.main.R;
import com.yunbao.common.interfaces.OnItemClickListener;
import java.util.List;
/**
* 聊天界面长按气泡菜单
*/
public class MsgChatClickDialog extends AttachPopupView implements View.OnClickListener {
LinearLayout rootView;
List<String> list;
OnItemClickListener<String> onItemClickListener;
public MsgChatClickDialog(@NonNull Context context) {
super(context);
}
public MsgChatClickDialog setList(List<String> list) {
this.list = list;
return this;
}
public MsgChatClickDialog setOnItemClickListener(OnItemClickListener<String> onItemClickListener) {
this.onItemClickListener = onItemClickListener;
return this;
}
@Override
protected int getImplLayoutId() {
return R.layout.dialog_msg_chat_click;
}
@Override
protected boolean isShowUpToTarget() {
return true;
}
@Override
protected void onCreate() {
super.onCreate();
isShowUp = true;
rootView = findViewById(R.id.rootView);
rootView.setGravity(Gravity.CENTER);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.MATCH_PARENT);
params.gravity = Gravity.CENTER;
for (int i = 0; i < list.size(); i++) {
String item = list.get(i);
TextView textView = new TextView(getContext());
textView.setText(item);
textView.setGravity(Gravity.CENTER);
textView.setTag(i);
textView.setTextColor(Color.WHITE);
textView.setLayoutParams(params);
textView.setOnClickListener(this);
rootView.addView(textView,params);
TextView tmp = new TextView(getContext());
tmp.setLayoutParams(params);
tmp.setText(" | ");
tmp.setGravity(Gravity.CENTER);
tmp.setTextColor(Color.WHITE);
rootView.addView(tmp,params);
}
rootView.removeViewAt(rootView.getChildCount()-1);
}
@Override
public void onClick(View v) {
if (onItemClickListener != null) {
onItemClickListener.onItemClick(((TextView) v).getText().toString(), (Integer) v.getTag());
}
dismiss();
}
}

View File

@@ -0,0 +1,110 @@
package com.yunbao.main.fragment;
import android.graphics.Color;
import android.os.Bundle;
import android.text.SpannableString;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.yunbao.common.custom.ItemDecoration;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.main.R;
import com.yunbao.main.adapter.MainConversationListAdapter;
import java.util.ArrayList;
import java.util.List;
import io.rong.imkit.conversationlist.ConversationListAdapter;
import io.rong.imkit.conversationlist.ConversationListFragment;
import io.rong.imkit.conversationlist.model.BaseUiConversation;
import io.rong.imkit.conversationlist.model.SingleConversation;
import io.rong.imlib.model.Conversation;
public class MainMessageChatFragment extends ConversationListFragment {
@Nullable
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.rc_conversationlist_fragment, container, false);
}
public void setEmptyView(int viewLayoutMsgId) {
super.setEmptyView(viewLayoutMsgId);
}
public void search(String search) {
mAdapter.getData().clear();
getContactsList(search);
}
private void getContactsList(String search) {
List<BaseUiConversation> list = new ArrayList<>();
List<BaseUiConversation> data = new ArrayList<>();
BaseUiConversation conversation = new SingleConversation(getContext(), new Conversation());
conversation.mCore.setObjectName("SEARCH_TITLE" + WordUtil.getNewString(R.string.activity_msg_list_title_contacts));
conversation.mCore.setConversationType(Conversation.ConversationType.PRIVATE);
list.add(conversation);
for (int i = 0; i < 3; i++) {
conversation = new SingleConversation(getContext(), new Conversation());
conversation.mCore.setObjectName("SEARCH_USER" + search);
conversation.mCore.setConversationTitle(search + "|" + i);
conversation.mCore.setConversationType(Conversation.ConversationType.PRIVATE);
conversation.mCore.setPortraitUrl("https://downs.yaoulive.com/girltwo.png");
data.add(conversation);
}
if (data.size() == 1) {
data.get(0).mCore.setMentionedCount(3);
} else if (data.size() != 0) {
data.get(0).mCore.setMentionedCount(1);
data.get(data.size() - 1).mCore.setMentionedCount(2);
} else {
list.remove(list.size() - 1);
}
list.addAll(data);
getChatRecordList(list, search);
}
private void getChatRecordList(List<BaseUiConversation> list, String search) {
BaseUiConversation conversation = new SingleConversation(getContext(), new Conversation());
conversation.mCore.setObjectName("SEARCH_TITLE" + WordUtil.getNewString(R.string.activity_msg_list_title_chat_records));
conversation.mCore.setConversationType(Conversation.ConversationType.PRIVATE);
list.add(conversation);
List<BaseUiConversation> data = new ArrayList<>();
for (int i = 0; i < 3; i++) {
conversation = new SingleConversation(getContext(), new Conversation());
conversation.mCore.setObjectName("SEARCH_CHAT");
conversation.mCore.setConversationTitle(search + "|" + i);
conversation.mCore.setConversationType(Conversation.ConversationType.PRIVATE);
conversation.mConversationContent = new SpannableString(search);
conversation.mCore.setPortraitUrl("https://downs.yaoulive.com/defaultpink.png");
data.add(conversation);
}
if (data.size() == 1) {
data.get(0).mCore.setMentionedCount(3);
} else if (data.size() != 0) {
data.get(0).mCore.setMentionedCount(1);
data.get(data.size() - 1).mCore.setMentionedCount(2);
} else {
list.remove(list.size() - 1);
}
list.addAll(data);
mAdapter.setDataCollection(list);
mAdapter.notifyDataSetChanged();
}
public void onChatList() {
mAdapter.getData().clear();
subscribeUi();
}
@Override
protected ConversationListAdapter onResolveAdapter() {
this.mAdapter = new MainConversationListAdapter();
return this.mAdapter;
}
}

View File

@@ -1,8 +1,13 @@
package com.yunbao.main.manager.imrongcloud;
import static android.content.Context.CLIPBOARD_SERVICE;
import android.app.Activity;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
@@ -13,24 +18,30 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.blankj.utilcode.util.GsonUtils;
import com.google.gson.Gson;
import com.lxj.xpopup.XPopup;
import com.lxj.xpopup.interfaces.OnSelectListener;
import com.yunbao.common.bean.IMLoginModel;
import com.yunbao.common.bean.VipModel;
import com.yunbao.common.http.CommonHttpUtil;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.http.live.LiveNetManager;
import com.yunbao.common.interfaces.OnItemClickListener;
import com.yunbao.common.manager.InstructorRemarkManager;
import com.yunbao.common.utils.RouteUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.live.activity.PDLIiveChatActivity;
import com.yunbao.live.activity.PDLiveConversationActivity;
import com.yunbao.live.bean.SearchUserBean;
import com.yunbao.live.dialog.PDLIiveChatConversationFragment;
import com.yunbao.main.activity.PDLiveConversationListActivity;
import com.yunbao.main.dialog.ConversationPopuwWindow;
import com.yunbao.main.dialog.MsgChatClickDialog;
import com.yunbao.main.utils.PDLiveCustomConversationProvider;
import com.yunbao.main.utils.PDLiveMessageProcessor;
import com.yunbao.main.utils.PDSightMessageItemProvider;
import java.util.Arrays;
import java.util.List;
import io.rong.imkit.IMCenter;
@@ -41,6 +52,7 @@ import io.rong.imkit.conversation.extension.RongExtensionManager;
import io.rong.imkit.conversation.messgelist.provider.SightMessageItemProvider;
import io.rong.imkit.conversationlist.model.BaseUiConversation;
import io.rong.imkit.conversationlist.provider.PrivateConversationProvider;
import io.rong.imkit.model.UiMessage;
import io.rong.imkit.userinfo.RongUserInfoManager;
import io.rong.imkit.utils.RouteUtils;
import io.rong.imkit.widget.adapter.ProviderManager;
@@ -48,7 +60,7 @@ import io.rong.imlib.RongIMClient;
import io.rong.imlib.model.Conversation;
import io.rong.imlib.model.UserInfo;
import io.rong.sight.SightExtensionModule;
import com.yunbao.main.R;
/**
* 会话列表管理
*/
@@ -269,12 +281,33 @@ public class ConversationIMListManager {
public boolean onConversationLongClick(Context context, View view, BaseUiConversation baseUiConversation) {
//非指导员都可以点击
UserInfo userInfo = RongUserInfoManager.getInstance().getUserInfo(baseUiConversation.mCore.getTargetId());
String[] list;
list = new String[]{WordUtil.getNewString(R.string.copy), WordUtil.getNewString(R.string.top)};
if (userInfo != null && !TextUtils.isEmpty(userInfo.getExtra())) {
IMLoginModel model = new Gson().fromJson(userInfo.getExtra(), IMLoginModel.class);
if (!TextUtils.equals(model.getIsAdmin(), "1")) {
new ConversationPopuwWindow((Activity) context)
/* new ConversationPopuwWindow((Activity) context)
.setIsAdmin(baseUiConversation.mCore.getTargetId())
.show(view);
.show(view);*/
new XPopup.Builder(context)
.atView(view)
.hasShadowBg(false)
.positionByWindowCenter(true)
.isCenterHorizontal(true)
.asCustom(new MsgChatClickDialog(context)
.setList(Arrays.asList(list))
.setOnItemClickListener(new OnItemClickListener<String>() {
@Override
public void onItemClick(String bean, int position) {
if (bean.equals(WordUtil.getNewString(R.string.top))) {
// copyText(baseUiConversation,context);
setConversationToTop(targetId);
} else if(bean.equals(WordUtil.getNewString(R.string.delete))){
delete(baseUiConversation.mCore.getTargetId());
}
}
}))
.show();
}
}
@@ -368,5 +401,23 @@ public class ConversationIMListManager {
public String getTargetId() {
return targetId;
}
private void copyText(UiMessage uiMessage,Context context) {
ClipboardManager cm = (ClipboardManager) context.getSystemService(CLIPBOARD_SERVICE);
ClipData clipData = ClipData.newPlainText("text", uiMessage.getContentSpannable());
cm.setPrimaryClip(clipData);
}
private void delete(String userId) {
IMCenter.getInstance().removeConversation(Conversation.ConversationType.PRIVATE, userId, new RongIMClient.ResultCallback<Boolean>() {
@Override
public void onSuccess(Boolean aBoolean) {
ToastUtil.show("删除成功");
}
@Override
public void onError(RongIMClient.ErrorCode errorCode) {
ToastUtil.show(errorCode.msg);
}
});
}
}

View File

@@ -1,5 +1,6 @@
package com.yunbao.main.utils;
import android.graphics.Color;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
@@ -16,7 +17,10 @@ import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.RouteUtil;
import com.yunbao.main.R;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import io.rong.imkit.config.RongConfigCenter;
import io.rong.imkit.conversationlist.model.BaseUiConversation;
@@ -61,68 +65,29 @@ public class PDLiveCustomConversationProvider extends BaseConversationProvider {
if ((userInfo != null && !TextUtils.isEmpty(userInfo.getExtra()))) {
IMLoginModel model = new Gson().fromJson(userInfo.getExtra(), IMLoginModel.class);
//指导员对话逻辑
if ((model != null && TextUtils.equals(model.getIsAdmin(), "1")) ) {
RelativeLayout conversationItem = holder.getView(R.id.rc_conversation_item);
RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) conversationItem.getLayoutParams();
params.height = DpUtil.dp2px(110);
conversationItem.setLayoutParams(params);
holder.setOnClickListener(R.id.img_administrator, new View.OnClickListener() {
@Override
public void onClick(View v) {
RouteUtil.forwardUserHome(holder.getContext(), targetId, 0);
}
});
holder.setBackgroundRes(R.id.administrator_layout, R.mipmap.img_news_instructor_bg);
holder.setBackgroundRes(R.id.rc_conversation_item, R.mipmap.white_bg);
holder.setVisible(R.id.rc_conversation_portrait_layout, false);
holder.setVisible(R.id.administrator_layout, true);
holder.setImageUri(R.id.img_administrator, userInfo.getPortraitUri());
holder.setText(R.id.conversation_title, userInfo.getName());
if (TextUtils.isEmpty(uiConversation.mConversationContent)){
if (uiConversation.mCore.getLatestMessage() instanceof TextMessage) {
TextMessage message = (TextMessage) uiConversation.mCore.getLatestMessage();
holder.setText(R.id.conversation_content, message.getContent());
}
}else {
holder.setText(R.id.conversation_content,uiConversation.mConversationContent);
}
if (uiConversation.mCore.getUnreadMessageCount() == 0) {
holder.setVisible(R.id.conversation_unread, false);
} else {
holder.setVisible(R.id.conversation_unread, true);
holder.setText(R.id.conversation_unread_count, String.valueOf(uiConversation.mCore.getUnreadMessageCount()));
}
holder.setText(R.id.conversation_date, RongDateUtils.getConversationListFormatDate(uiConversation.mCore.getSentTime(), holder.getContext()));
} else {
View conversationItem = holder.getConvertView();
RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) conversationItem.getLayoutParams();
params.height = DpUtil.dp2px(72);
conversationItem.setLayoutParams(params);
//非指导员按照原有视图展示
holder.setVisible(R.id.rc_conversation_portrait_layout, true);
holder.setVisible(R.id.administrator_layout, false);
}
}
ImageView readReceipt = holder.itemView.findViewById(com.yunbao.live.R.id.rc_conversation_read_receipt);
ImageView conversationUnread = holder.itemView.findViewById(com.yunbao.live.R.id.rc_conversation_unread_bg);
ImageView imgNew = holder.itemView.findViewById(com.yunbao.live.R.id.img_new);
if (conversationUnread != null) {
Glide.with(holder.getContext()).asDrawable().load(R.mipmap.rc_unread_count_bg_normal).into(conversationUnread);
}
readReceipt.setVisibility(View.VISIBLE);
if (RongConfigCenter.featureConfig().isReadReceiptConversationType(Conversation.ConversationType.PRIVATE) &&
uiConversation.mCore.getSenderUserId().equals(RongIMClient.getInstance().getCurrentUserId()) &&
uiConversation.mCore.getSentStatus().getValue() == Message.SentStatus.READ.getValue() &&
!(uiConversation.mCore.getLatestMessage() instanceof RecallNotificationMessage)) {
readReceipt.setBackgroundResource(com.yunbao.live.R.mipmap.icon_messagelist_read);
//TODO 已读
} else if (uiConversation.mCore.getSenderUserId().equals(RongIMClient.getInstance().getCurrentUserId()) &&
!(uiConversation.mCore.getLatestMessage() instanceof RecallNotificationMessage)) {
readReceipt.setBackgroundResource(com.yunbao.live.R.mipmap.icon_messagelist_unread);
//TODO 未读
} else {
holder.setVisible(R.id.rc_conversation_read_receipt, false);
}
if (uiConversation.mCore.isTop()) {
holder.getConvertView().setBackgroundColor(holder.getContext().getResources().getColor(io.rong.imkit.R.color.rc_item_top_color));
} else {
holder.getConvertView().setBackgroundColor(Color.parseColor("#00000000"));
}
//设置时间
String date =new SimpleDateFormat("HH:mm", Locale.getDefault()).format(new Date(uiConversation.mCore.getSentTime()));
holder.setText(R.id.rc_conversation_date, date);
}
}

View File

@@ -3,11 +3,14 @@ package com.yunbao.main.views;
import android.app.Activity;
import android.content.Intent;
import android.os.Handler;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.util.Log;
import android.util.TypedValue;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
@@ -38,6 +41,8 @@ import com.yunbao.common.utils.DeviceUtils;
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
import com.yunbao.common.utils.RouteUtil;
import com.yunbao.common.utils.SVGAViewUtils;
import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.views.AbsMainViewHolder;
import com.yunbao.common.views.weight.ViewClicksAntiShake;
import com.yunbao.live.activity.SystemMessageActivity;
@@ -47,6 +52,7 @@ import com.yunbao.live.http.ImHttpUtil;
import com.yunbao.main.R;
import com.yunbao.main.activity.MainActivity;
import com.yunbao.main.adapter.SystemMessageAdapter;
import com.yunbao.main.fragment.MainMessageChatFragment;
import com.yunbao.main.manager.imrongcloud.ConversationIMListManager;
import org.greenrobot.eventbus.EventBus;
@@ -57,14 +63,13 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import io.rong.imkit.conversationlist.ConversationListFragment;
/**
* 消息中心
*/
public class MainMessageViewHolder extends AbsMainViewHolder {
private ConversationListFragment conversationListFragment;
private MainMessageChatFragment conversationListFragment;
private FrameLayout container;
private SystemMessageAdapter messageAdapter;
private TextView textNewsNotice, textNewsInteraction, textNewsOnline, textSystemMessages;
@@ -74,6 +79,8 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
private ImageView imgNewsNotice, imgNewsInteraction, imgNewsOnline, imgSystemMessages;
private Handler netHandler;
private MainActivity mContext;
private View contacts;
private EditText search;
private String homeZdyPop;
@@ -100,6 +107,7 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
public void onResume() {
super.onResume();
initData();
search.setText("");
}
@Override
@@ -117,6 +125,36 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
imgNewsInteraction = (ImageView) findViewById(R.id.img_news_interaction);
imgSystemMessages = (ImageView) findViewById(R.id.img_system_messages);
imgNewsOnline = (ImageView) findViewById(R.id.img_news_online);
contacts = findViewById(R.id.news_icon_contacts);
search = findViewById(R.id.search);
contacts.setOnClickListener(view -> {
//通讯录
});
search.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
/* if(StringUtil.isEmpty(charSequence.toString())){
conversationListFragment.onChatList();
}else {
conversationListFragment.search(charSequence.toString());
}*/
}
@Override
public void afterTextChanged(Editable editable) {
if (conversationListFragment == null) return;
if (StringUtil.isEmpty(editable.toString())) {
conversationListFragment.onChatList();
} else {
conversationListFragment.search(editable.toString());
}
}
});
netHandler = new Handler();
}
@@ -184,6 +222,7 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
@Override
public void run() {
netHandler.post(imUserInfoRunnable);
IMLoginManager.get(mContext).initChat("1");
if (IMLoginManager.get(mContext).hintChat()) {
container.setVisibility(View.GONE);
ltNodataMsg.setVisibility(View.VISIBLE);
@@ -191,7 +230,7 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
container.setVisibility(View.VISIBLE);
ltNodataMsg.setVisibility(View.GONE);
//展示会话列表
conversationListFragment = new ConversationListFragment();
conversationListFragment = new MainMessageChatFragment();
FragmentManager manager = ((FragmentActivity) mContext).getSupportFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.replace(R.id.container, conversationListFragment);
@@ -240,7 +279,7 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
}
}
ImgLoader.display(mContext, userBean.getNewImage(), imgNewsNotice);
//ImgLoader.display(mContext, userBean.getNewImage(), imgNewsNotice);
ViewClicksAntiShake.clicksAntiShake(imgNewsNotice, () -> {
MobclickAgent.onEvent(mContext, "information_official_notice", "官方通知");
type = userBean.getType();
@@ -267,7 +306,7 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
textNewsInteraction.setText(String.valueOf(numberInt));
}
}
ImgLoader.display(mContext, userBean.getNewImage(), imgNewsInteraction);
// ImgLoader.display(mContext, userBean.getNewImage(), imgNewsInteraction);
ViewClicksAntiShake.clicksAntiShake(imgNewsInteraction, () -> {
MobclickAgent.onEvent(mContext, "information_system_interactive", "互動消息");
type = userBean.getType();
@@ -294,7 +333,7 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
textNewsOnline.setText(String.valueOf(numberInt));
}
}
ImgLoader.display(mContext, userBean.getNewImage(), imgNewsOnline);
//ImgLoader.display(mContext, userBean.getNewImage(), imgNewsOnline);
ViewClicksAntiShake.clicksAntiShake(imgNewsOnline, () -> {
MobclickAgent.onEvent(mContext, "information_system_service", "在線客服");
type = userBean.getType();
@@ -327,7 +366,7 @@ public class MainMessageViewHolder extends AbsMainViewHolder {
textSystemMessages.setText(String.valueOf(numberInt));
}
}
ImgLoader.display(mContext, userBean.getNewImage(), imgSystemMessages);
//ImgLoader.display(mContext, userBean.getNewImage(), imgSystemMessages);
ViewClicksAntiShake.clicksAntiShake(imgSystemMessages, () -> {
MobclickAgent.onEvent(mContext, "information_system_notice", "系统消息");
type = userBean.getType();

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:width="344dp" android:height="60dp">
<shape android:shape="rectangle">
<solid android:color="#ffffffff" />
<corners android:topLeftRadius="15dp" android:topRightRadius="15dp" android:bottomLeftRadius="15dp" android:bottomRightRadius="15dp" />
</shape>
</item>
</selector>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:width="344dp" android:height="60dp">
<shape android:shape="rectangle">
<solid android:color="#ffffffff" />
<corners android:bottomLeftRadius="15dp" android:bottomRightRadius="15dp" />
</shape>
</item>
</selector>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:width="344dp" android:height="60dp">
<shape android:shape="rectangle">
<solid android:color="#ffffffff" />
</shape>
</item>
</selector>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:width="344dp" android:height="60dp">
<shape android:shape="rectangle">
<solid android:color="#ffffffff" />
<corners android:topLeftRadius="15dp" android:topRightRadius="15dp" />
</shape>
</item>
</selector>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:width="235dp" android:height="44dp">
<shape android:shape="rectangle">
<solid android:color="#ffffffff" />
<corners android:topLeftRadius="15dp" android:topRightRadius="15dp" android:bottomLeftRadius="15dp" android:bottomRightRadius="15dp" />
</shape>
</item>
</selector>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/rootView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_gravity="center"
android:background="@mipmap/bg_chat_click"
android:orientation="horizontal">
</LinearLayout>

View File

@@ -0,0 +1,107 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/rc_conversation_item"
android:layout_width="match_parent"
android:background="@drawable/bg_msg_list_item"
android:layout_height="@dimen/rc_conversation_item_height">
<View
android:id="@+id/itemDecorationTop"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#FFE9F6"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<View
android:id="@+id/itemDecorationBottom"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#FFE9F6"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintLayout5"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:id="@+id/rc_conversation_portrait_rl"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_marginStart="@dimen/rc_margin_size_12"
android:layout_marginTop="@dimen/rc_margin_size_12"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<com.yunbao.common.views.weight.ClipPathCircleImage
android:id="@+id/rc_conversation_portrait"
android:layout_width="54dp"
android:layout_height="54dp"
android:scaleType="centerCrop"
android:src="@mipmap/beauty_jingbai" />
<RelativeLayout
android:id="@+id/rc_conversation_unread"
android:visibility="gone"
tools:visibility="visible"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true">
<ImageView
android:id="@+id/rc_conversation_unread_bg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:src="@drawable/rc_unread_count_bg_normal" />
<TextView
android:id="@+id/rc_conversation_unread_count"
style="@style/TextStyle.Alignment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="15"
android:textColor="@color/rc_white_color"
android:textSize="@dimen/rc_font_auxiliary_size" />
</RelativeLayout>
</RelativeLayout>
<TextView
android:id="@+id/rc_conversation_title"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/rc_margin_size_12"
android:layout_marginTop="@dimen/rc_margin_size_16"
android:layout_marginEnd="@dimen/rc_margin_size_12"
android:text="张三"
android:textColor="@color/rc_text_main_color"
android:textSize="13sp"
app:layout_constraintStart_toEndOf="@+id/rc_conversation_portrait_rl"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/rc_conversation_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_marginTop="4dp"
android:layout_marginEnd="60dp"
android:text="你好,朋友!"
android:textColor="#777777"
android:textSize="11sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toEndOf="@+id/rc_conversation_portrait_rl"
app:layout_constraintTop_toBottomOf="@+id/rc_conversation_title" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_marginTop="20dp"
android:layout_marginBottom="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#333333"
android:textSize="13sp"
tools:text="TextView" />
</LinearLayout>

View File

@@ -0,0 +1,96 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/rc_conversation_item"
android:background="@drawable/bg_msg_list_item"
android:layout_width="match_parent"
android:layout_height="@dimen/rc_conversation_item_height">
<View
android:id="@+id/itemDecorationTop"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#FFE9F6"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<View
android:id="@+id/itemDecorationBottom"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#FFE9F6"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintLayout5"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintBottom_toBottomOf="@+id/itemDecorationBottom"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/itemDecorationTop">
<RelativeLayout
android:id="@+id/rc_conversation_portrait_rl"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_marginStart="@dimen/rc_margin_size_12"
android:layout_marginTop="@dimen/rc_margin_size_12"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<com.yunbao.common.views.weight.ClipPathCircleImage
android:id="@+id/rc_conversation_portrait"
android:layout_width="54dp"
android:layout_height="54dp"
android:scaleType="centerCrop"
android:src="@mipmap/beauty_jingbai" />
<RelativeLayout
android:id="@+id/rc_conversation_unread"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:visibility="gone"
tools:visibility="visible">
<ImageView
android:id="@+id/rc_conversation_unread_bg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:src="@drawable/rc_unread_count_bg_normal" />
<TextView
android:id="@+id/rc_conversation_unread_count"
style="@style/TextStyle.Alignment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="15"
android:textColor="@color/rc_white_color"
android:textSize="@dimen/rc_font_auxiliary_size" />
</RelativeLayout>
</RelativeLayout>
<TextView
android:id="@+id/rc_conversation_title"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/rc_margin_size_12"
android:text="张三1234567890-"
android:textColor="@color/rc_text_main_color"
android:textSize="@dimen/rc_font_secondary_size"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/rc_conversation_portrait_rl"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include
android:id="@+id/rc_conversationlist_notice_container"
layout="@layout/rc_conversationlist_notice_view"
android:visibility="gone"
tools:visibility="visible" />
<io.rong.imkit.widget.refresh.SmartRefreshLayout
android:id="@+id/rc_refresh"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rc_conversation_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:overScrollMode="never"
tools:listitem="@layout/rc_conversationlist_item" />
</io.rong.imkit.widget.refresh.SmartRefreshLayout>
</LinearLayout>

View File

@@ -2,10 +2,15 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/bg_activity_message"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:paddingTop="20dp">
<FrameLayout
android:paddingTop="35dp">
<!-- android:background="@mipmap/bg_activity_message" -->
<LinearLayout
android:orientation="horizontal"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content">
@@ -13,22 +18,42 @@
android:id="@+id/top_noback"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="18dp"
android:text="@string/message"
android:layout_marginStart="18dp"
android:text="@string/activity_msg_title"
android:textColor="#ff161616"
android:textSize="24sp"
android:textStyle="bold" />
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/search"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:layout_weight="0.7"
android:background="@drawable/bg_msg_list_search"
android:drawableStart="@mipmap/ic_home_game_search"
android:drawablePadding="8dp"
android:gravity="center_vertical"
android:lines="1"
android:hint="@string/activity_msg_search_hint"
android:padding="10dp"
android:visibility="visible" />
<ImageView
android:id="@+id/news_icon_clearance"
android:layout_width="24dp"
android:id="@+id/news_icon_contacts"
android:layout_width="0dp"
android:layout_weight="0.1"
android:layout_height="24dp"
android:layout_marginTop="18dp"
android:layout_marginStart="8dp"
android:layout_gravity="end|bottom"
android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp"
android:src="@mipmap/news_icon_clearance"
android:visibility="gone" />
</FrameLayout>
android:src="@mipmap/ic_msg_contacts"
android:visibility="visible" />
</LinearLayout>
<LinearLayout
@@ -46,9 +71,29 @@
<ImageView
android:id="@+id/img_news_notice"
android:layout_width="match_parent"
android:layout_height="99dp"
android:layout_centerInParent="true"
android:src="@mipmap/img_news_notice" />
android:layout_height="70dp"
android:layout_marginBottom="20dp"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true"
android:layout_alignBottom="@+id/tv_news_notice"
android:src="@mipmap/ic_msg_notice" />
<TextView
android:id="@+id/tv_news_notice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="13sp"
android:textColor="#333333"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true"
android:maxLines="1"
app:autoSizeMaxTextSize="13sp"
app:autoSizeMinTextSize="5sp"
app:autoSizeStepGranularity="1sp"
app:autoSizeTextType="uniform"
android:gravity="center"
android:text="@string/activity_msg_news_notice" />
<TextView
android:id="@+id/text_news_notice"
@@ -62,6 +107,7 @@
android:text="7"
android:textColor="@color/white"
android:textSize="12sp"
tools:visibility="visible"
android:visibility="gone" />
</RelativeLayout>
@@ -75,10 +121,28 @@
<ImageView
android:id="@+id/img_system_messages"
android:layout_width="match_parent"
android:layout_height="99dp"
android:layout_centerInParent="true"
android:src="@mipmap/img_system_messages" />
android:layout_height="70dp"
android:layout_marginBottom="20dp"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true"
android:layout_alignBottom="@+id/tv_system_messages"
android:src="@mipmap/ic_msg_interaction" />
<TextView
android:id="@+id/tv_system_messages"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="13sp"
android:textColor="#333333"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true"
android:maxLines="1"
app:autoSizeMaxTextSize="13sp"
app:autoSizeMinTextSize="5sp"
app:autoSizeStepGranularity="1sp"
app:autoSizeTextType="uniform"
android:gravity="center"
android:text="@string/activity_msg_system_message" />
<TextView
android:id="@+id/text_system_messages"
android:layout_width="20dp"
@@ -102,10 +166,28 @@
<ImageView
android:id="@+id/img_news_interaction"
android:layout_width="match_parent"
android:layout_height="99dp"
android:layout_centerInParent="true"
android:src="@mipmap/img_news_interaction" />
android:layout_height="70dp"
android:layout_marginBottom="20dp"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true"
android:layout_alignBottom="@+id/tv_news_interaction"
android:src="@mipmap/ic_msg_message" />
<TextView
android:id="@+id/tv_news_interaction"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="13sp"
android:textColor="#333333"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true"
android:maxLines="1"
app:autoSizeMaxTextSize="13sp"
app:autoSizeMinTextSize="5sp"
app:autoSizeStepGranularity="1sp"
app:autoSizeTextType="uniform"
android:gravity="center"
android:text="@string/activity_msg_newts_interaction" />
<TextView
android:id="@+id/text_news_interaction"
android:layout_width="20dp"
@@ -129,9 +211,29 @@
<ImageView
android:id="@+id/img_news_online"
android:layout_width="match_parent"
android:layout_height="99dp"
android:layout_centerInParent="true"
android:src="@mipmap/img_news_online" />
android:layout_height="70dp"
android:layout_marginBottom="20dp"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true"
android:layout_alignBottom="@+id/tv_news_online"
android:src="@mipmap/ic_msg_service" />
<TextView
android:id="@+id/tv_news_online"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="13sp"
android:textColor="#333333"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true"
android:maxLines="1"
app:autoSizeMaxTextSize="13sp"
app:autoSizeMinTextSize="5sp"
app:autoSizeStepGranularity="1sp"
app:autoSizeTextType="uniform"
android:gravity="center"
android:text="@string/activity_msg_news_online" />
<TextView
android:id="@+id/text_news_online"
@@ -148,6 +250,14 @@
android:visibility="gone" />
</RelativeLayout>
</LinearLayout>
<View
android:layout_marginTop="20dp"
android:layout_marginBottom="20dp"
android:background="#FFE9F6"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_width="match_parent"
android:layout_height="1dp"/>
<!-- 此容器用于动态放置 fragment-->
<FrameLayout
android:id="@+id/container"

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 873 KiB

View File

@@ -18,5 +18,15 @@
<string name="battlepass_exchange_submit_lock">未解鎖</string>
<string name="battlepass_reward_item_lock">暫未達到等級</string>
<string name="battlepass_reward_item_get">領取成功</string>
<string name="top">置頂</string>
<string name="delete">刪除</string>
<string name="activity_msg_title">消息</string>
<string name="activity_msg_news_notice">官方通知</string>
<string name="activity_msg_system_message">系统通知</string>
<string name="activity_msg_newts_interaction">互動消息</string>
<string name="activity_msg_news_online">在線客服</string>
<string name="activity_msg_search_hint">搜索昵稱或聊天記錄</string>
<string name="activity_msg_list_include">包含:</string>
<string name="activity_msg_list_title_contacts">聯繫人</string>
<string name="activity_msg_list_title_chat_records">聊天記錄</string>
</resources>

View File

@@ -18,5 +18,15 @@
<string name="battlepass_exchange_submit_lock">Unlocked</string>
<string name="battlepass_reward_item_lock">Not yet reached level</string>
<string name="battlepass_reward_item_get">Successfully claimed</string>
<string name="top">置頂</string>
<string name="delete">刪除</string>
<string name="activity_msg_title">Information</string>
<string name="activity_msg_news_notice">Activities</string>
<string name="activity_msg_system_message">Chats</string>
<string name="activity_msg_newts_interaction">Messages</string>
<string name="activity_msg_news_online">Service</string>
<string name="activity_msg_search_hint">Search</string>
<string name="activity_msg_list_include">Include:</string>
<string name="activity_msg_list_title_contacts">Contacts</string>
<string name="activity_msg_list_title_chat_records">Chat Records</string>
</resources>