第一次提交
@@ -76,8 +76,8 @@ dependencies {
|
||||
api("com.squareup.retrofit2:adapter-rxjava2:2.4.0")
|
||||
api("io.reactivex:rxjava:1.3.0")
|
||||
//skeleton
|
||||
implementation("com.github.ethanhua:Skeleton:ff06517d4629e87328c41a1cce614c490ed7fb51")
|
||||
implementation("io.supercharge:shimmerlayout:2.1.0")
|
||||
// implementation("com.github.ethanhua:Skeleton:ff06517d4629e87328c41a1cce614c490ed7fb51")
|
||||
// implementation("io.supercharge:shimmerlayout:2.1.0")
|
||||
|
||||
|
||||
implementation("androidx.room:room-runtime:$room_version")
|
||||
|
||||
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 363 KiB |
|
Before Width: | Height: | Size: 441 KiB |
|
Before Width: | Height: | Size: 617 KiB |
|
Before Width: | Height: | Size: 482 KiB |
|
Before Width: | Height: | Size: 353 KiB |
|
Before Width: | Height: | Size: 356 KiB |
|
Before Width: | Height: | Size: 472 KiB |
|
Before Width: | Height: | Size: 440 KiB |
|
Before Width: | Height: | Size: 313 KiB |
|
Before Width: | Height: | Size: 440 KiB |
|
Before Width: | Height: | Size: 450 KiB |
|
Before Width: | Height: | Size: 461 KiB |
|
Before Width: | Height: | Size: 418 KiB |
|
Before Width: | Height: | Size: 315 KiB |
|
Before Width: | Height: | Size: 239 KiB |
|
Before Width: | Height: | Size: 460 KiB |
|
Before Width: | Height: | Size: 422 KiB |
|
Before Width: | Height: | Size: 738 KiB |
|
Before Width: | Height: | Size: 768 KiB |
|
Before Width: | Height: | Size: 192 KiB |
|
Before Width: | Height: | Size: 543 KiB |
|
Before Width: | Height: | Size: 459 KiB |
|
Before Width: | Height: | Size: 434 KiB |
|
Before Width: | Height: | Size: 342 KiB |
|
Before Width: | Height: | Size: 344 KiB |
|
Before Width: | Height: | Size: 436 KiB |
|
Before Width: | Height: | Size: 355 KiB |
|
Before Width: | Height: | Size: 212 KiB |
|
Before Width: | Height: | Size: 378 KiB |
|
Before Width: | Height: | Size: 231 KiB |
|
Before Width: | Height: | Size: 399 KiB |
|
Before Width: | Height: | Size: 458 KiB |
|
Before Width: | Height: | Size: 222 KiB |
|
Before Width: | Height: | Size: 445 KiB |
|
Before Width: | Height: | Size: 334 KiB |
|
Before Width: | Height: | Size: 628 KiB |
|
Before Width: | Height: | Size: 65 KiB |
|
Before Width: | Height: | Size: 63 KiB |
|
Before Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 58 KiB |
|
Before Width: | Height: | Size: 67 KiB |
|
Before Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 62 KiB |
|
Before Width: | Height: | Size: 63 KiB |
|
Before Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 61 KiB |
|
Before Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 43 KiB |
@@ -42,7 +42,7 @@ public class ChatKitUIConstant {
|
||||
/**
|
||||
* 订单详情
|
||||
*/
|
||||
public static String ORDERDETAILS_URL = ApiService.URL.equals("https://api.letschat2023.com/") ? "https://shop.letschat2023.com/#/pages/payother/order?" : "http://8.218.226.64:2396/#/pages/payother/order?";
|
||||
public static String ORDERDETAILS_URL = ApiService.URL.equals("https://api.letschat2023.com/") ? "https://shop.letschat2023.com/#/pages/payother/order?" : "https://shop-test.hnsdl.com/#/pages/payother/order?";
|
||||
|
||||
|
||||
// 合并转发消息数量限制
|
||||
|
||||
@@ -476,9 +476,13 @@ public class ChatUtils {
|
||||
List<ChatMessageBean> limitList = new ArrayList<>();
|
||||
if (msgBeanList != null && !msgBeanList.isEmpty()) {
|
||||
for (ChatMessageBean bean : msgBeanList) {
|
||||
if (bean.getMessageData().getMessage().getMsgType() == MsgTypeEnum.audio
|
||||
|| bean.getMessageData().getMessage().getMsgType() == MsgTypeEnum.nrtc_netcall
|
||||
|| bean.getMessageData().getMessage().getStatus() == MsgStatusEnum.fail) {
|
||||
// if (bean.getMessageData().getMessage().getMsgType() == MsgTypeEnum.audio
|
||||
// || bean.getMessageData().getMessage().getMsgType() == MsgTypeEnum.nrtc_netcall
|
||||
// || bean.getMessageData().getMessage().getStatus() == MsgStatusEnum.fail) {
|
||||
|
||||
if (bean.getMessageData().getMessage().getMsgType() == MsgTypeEnum.nrtc_netcall
|
||||
|| bean.getMessageData().getMessage().getStatus() == MsgStatusEnum.fail) {
|
||||
|
||||
limitList.add(bean);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -91,7 +91,7 @@ public class TeamNotificationHelper {
|
||||
break;
|
||||
case MuteTeamMember:
|
||||
case SUPER_TEAM_MUTE_TLIST:
|
||||
text = buildMuteTeamNotification(tid, (MuteMemberAttachment) attachment);
|
||||
text = buildMuteTeamNotification(tid, fromUser,(MuteMemberAttachment) attachment);
|
||||
break;
|
||||
default:
|
||||
text = getTeamMemberDisplayName(tid, fromUser) + ": unknown message";
|
||||
@@ -349,12 +349,21 @@ public class TeamNotificationHelper {
|
||||
buildMemberListString(tid, a.getTargets(), null));
|
||||
}
|
||||
|
||||
private static String buildMuteTeamNotification(String tid, MuteMemberAttachment a) {
|
||||
private static String buildMuteTeamNotification(String tid,UserInfo fromUser, MuteMemberAttachment a) {
|
||||
if(a.getTargets().contains(IMKitClient.account())||fromUser.getAccount().equals(IMKitClient.account())) {
|
||||
return buildMemberListString(tid, a.getTargets(), null)
|
||||
+ IMKitClient.getApplicationContext().getString(R.string.chat_team_operate_by_manager)
|
||||
+ (a.isMute()
|
||||
? IMKitClient.getApplicationContext().getString(R.string.chat_team_mute)
|
||||
: IMKitClient.getApplicationContext().getString(R.string.chat_team_un_mute));
|
||||
}else{
|
||||
return "";
|
||||
}
|
||||
|
||||
return buildMemberListString(tid, a.getTargets(), null)
|
||||
+ IMKitClient.getApplicationContext().getString(R.string.chat_team_operate_by_manager)
|
||||
+ (a.isMute()
|
||||
? IMKitClient.getApplicationContext().getString(R.string.chat_team_mute)
|
||||
: IMKitClient.getApplicationContext().getString(R.string.chat_team_un_mute));
|
||||
// return buildMemberListString(tid, a.getTargets(), null)
|
||||
// + IMKitClient.getApplicationContext().getString(R.string.chat_team_operate_by_manager)
|
||||
// + (a.isMute()
|
||||
// ? IMKitClient.getApplicationContext().getString(R.string.chat_team_mute)
|
||||
// : IMKitClient.getApplicationContext().getString(R.string.chat_team_un_mute));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,7 +87,7 @@ public class WatchTextMessageDialog extends BaseDialog {
|
||||
LogUtils.i("XXXXXXXX","XXXXXXXXXXX222:GIF");
|
||||
|
||||
String filePath = EmojiManager.getDrawablePath(viewBinding.getRoot().getContext(),messageInfo.getMessage().getContent());
|
||||
if(filePath.contains("tlt_gif_")){
|
||||
if(filePath!=null&&filePath.contains("tlt_gif_")){
|
||||
filePath= filePath.replace("tlt_gif_","gtlt_gif_").replace(".png",".gif");
|
||||
}
|
||||
|
||||
|
||||
@@ -87,7 +87,7 @@ public class HelpPayViewHolder extends FunChatBaseMessageViewHolder {
|
||||
Intent intent = new Intent();
|
||||
intent.putExtra("url", ChatKitUIConstant.ORDERDETAILS_URL+"payUid="+IMKitClient.account()+"&orderid="+orderId+"&payHeadImg="+IMKitClient.getUserInfo().getAvatar());
|
||||
intent.putExtra("isGame", true);
|
||||
intent.setClassName(context, "com.dskj.rbchat.game.JsBridgeActivity");
|
||||
intent.setClassName(context, "com.hbl.lewan.game.JsBridgeActivity");
|
||||
context.startActivity(intent);
|
||||
}
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ public class InviteGroupViewHolder extends FunChatBaseMessageViewHolder {
|
||||
private void startDetails(String teamId, Context context) {
|
||||
Intent intent = new Intent();
|
||||
intent.putExtra("teamId", teamId);
|
||||
intent.setClassName(context, "com.dskj.rbchat.imkit.team.TeamInvitedJoinActivity");
|
||||
intent.setClassName(context, "com.hbl.lewan.imkit.team.TeamInvitedJoinActivity");
|
||||
context.startActivity(intent);
|
||||
}
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ import android.view.View;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
|
||||
import com.netease.nim.highavailable.LogUtils;
|
||||
import com.netease.nimlib.sdk.NIMClient;
|
||||
import com.netease.nimlib.sdk.uinfo.UserService;
|
||||
import com.netease.nimlib.sdk.uinfo.model.NimUserInfo;
|
||||
@@ -26,9 +27,7 @@ import com.netease.yunxin.kit.chatkit.ui.common.ChatDataUtils;
|
||||
import com.netease.yunxin.kit.chatkit.ui.common.GsonUtils;
|
||||
import com.netease.yunxin.kit.chatkit.ui.common.RxBus;
|
||||
import com.netease.yunxin.kit.chatkit.ui.databinding.ChatBaseMessageViewHolderBinding;
|
||||
import com.netease.yunxin.kit.chatkit.ui.databinding.NormalChatMessageTextViewHolderBinding;
|
||||
import com.netease.yunxin.kit.chatkit.ui.databinding.NormalChatMessageTipViewHolder1Binding;
|
||||
import com.netease.yunxin.kit.chatkit.ui.databinding.NormalChatMessageTipViewHolderBinding;
|
||||
import com.netease.yunxin.kit.chatkit.ui.databinding.RedpacketViewheadBinding;
|
||||
import com.netease.yunxin.kit.chatkit.ui.dialog.RedPacketDialog;
|
||||
import com.netease.yunxin.kit.chatkit.ui.model.ChatMessageBean;
|
||||
@@ -54,7 +53,7 @@ public class RedPacketGetViewHolder extends ChatBaseMessageViewHolder {
|
||||
public void addViewToMessageContainer() {
|
||||
textBinding =
|
||||
NormalChatMessageTipViewHolder1Binding.inflate(
|
||||
LayoutInflater.from(parent.getContext()), getMessageContainer(), true);
|
||||
LayoutInflater.from(parent.getContext()), getMessageTopGroup(), true);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -84,16 +83,16 @@ public class RedPacketGetViewHolder extends ChatBaseMessageViewHolder {
|
||||
currentMessage = message;
|
||||
String name = message.getMessageData().getMessage().getAttachStr();
|
||||
RedPacketShareBean circleShareBean = GsonUtils.getObjFromJSON(name, RedPacketShareBean.class);
|
||||
Log.i("名片", "名片获取到的数据-10:" + GsonUtils.beanToJSONString(message));
|
||||
// Log.i("名片", "名片获取到的数据-10:" + GsonUtils.beanToJSONString(message));
|
||||
|
||||
Log.i("名片", "名片获取到的数据00:" + name);
|
||||
Log.i("名片", "名片获取到的数据20:" + GsonUtils.beanToJSONString(circleShareBean));
|
||||
// Log.i("名片", "名片获取到的数据00:" + name);
|
||||
// Log.i("名片", "名片获取到的数据20:" + GsonUtils.beanToJSONString(circleShareBean));
|
||||
ChatDataUtils.set(textBinding.messageTipText.getContext(), "redpack_" + circleShareBean.data.getId(), Integer.parseInt(circleShareBean.data.getStatus()));
|
||||
RxBus.getInstance().post(new RxHongBaoBean(circleShareBean.data.getId()));
|
||||
textBinding.messageTipText.setGravity(Gravity.CENTER);
|
||||
textBinding.messageTipText.setTextColor(
|
||||
IMKitClient.getApplicationContext().getResources().getColor(R.color.color_999999));
|
||||
Log.i("名片", "名片获取到的数据3:" + circleShareBean.data.getGroupId());
|
||||
// Log.i("名片", "名片获取到的数据3:" + circleShareBean.data.getGroupId());
|
||||
|
||||
if (TextUtils.isEmpty(circleShareBean.data.getGroupId())) {
|
||||
NimUserInfo user = NIMClient.getService(UserService.class).getUserInfo(circleShareBean.data.getReceiverUid() + "");
|
||||
@@ -128,11 +127,17 @@ public class RedPacketGetViewHolder extends ChatBaseMessageViewHolder {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if((circleShareBean.data.getSenderUid()+"").equals(IMKitClient.account())||(circleShareBean.data.getCheckUserUid()+"").equals(IMKitClient.account())){
|
||||
if((circleShareBean.data.getSenderUid()+"").equals(IMKitClient.account())
|
||||
||(circleShareBean.data.getCheckUserUid()+"").equals(IMKitClient.account())){
|
||||
textBinding.messageTipText.setVisibility(View.VISIBLE);
|
||||
NimUserInfo user = NIMClient.getService(UserService.class).getUserInfo(circleShareBean.data.getCheckUserUid() + "");
|
||||
// LogUtils.i("BIKAOVIDEO","BIKAOVIDEO11111");
|
||||
if(user!=null) {
|
||||
// LogUtils.i("BIKAOVIDEO","BIKAOVIDEO22222222");
|
||||
|
||||
if ((circleShareBean.data.getSenderUid() + "").equals(IMKitClient.account())) {
|
||||
// LogUtils.i("BIKAOVIDEO","BIKAOVIDEO555555555");
|
||||
|
||||
String names = user.getName();
|
||||
if(IMKitClient.account().equals(circleShareBean.data.getCheckUserUid()+"")){
|
||||
names = textBinding.messageTipText.getResources().getString(R.string.ni_txt);
|
||||
@@ -159,6 +164,8 @@ public class RedPacketGetViewHolder extends ChatBaseMessageViewHolder {
|
||||
textBinding.messageTipText.setText(Html.fromHtml(String.format(nameG, names)));
|
||||
}
|
||||
} else {
|
||||
// LogUtils.i("BIKAOVIDEO","BIKAOVIDEO666666666666");
|
||||
|
||||
NimUserInfo user1 = NIMClient.getService(UserService.class).getUserInfo(circleShareBean.data.getSenderUid() + "");
|
||||
|
||||
if (!TextUtils.isEmpty(circleShareBean.data.isReceiveEnd())&&circleShareBean.data.getCoinType().equals("0")) {
|
||||
@@ -181,13 +188,57 @@ public class RedPacketGetViewHolder extends ChatBaseMessageViewHolder {
|
||||
textBinding.messageTipText.setText(Html.fromHtml(String.format(nameG, user1.getName())));
|
||||
}
|
||||
}
|
||||
}else{
|
||||
// LogUtils.i("BIKAOVIDEO","BIKAOVIDEO3333333333");
|
||||
|
||||
}
|
||||
|
||||
}else{
|
||||
// LogUtils.i("BIKAOVIDEO","BIKAOVIDEO44444444");
|
||||
|
||||
baseViewBinding.tvTimeMy.setVisibility(View.GONE);
|
||||
baseViewBinding.tvTimeOther.setVisibility(View.GONE);
|
||||
textBinding.messageTipText.setVisibility(View.GONE);
|
||||
baseViewBinding.baseRoot.setVisibility(View.GONE);
|
||||
textBinding.messageTipText.setVisibility(View.VISIBLE);
|
||||
baseViewBinding.baseRoot.setVisibility(View.VISIBLE);
|
||||
|
||||
NimUserInfo user = NIMClient.getService(UserService.class).getUserInfo(circleShareBean.data.getCheckUserUid() + "");
|
||||
if(user!=null) {
|
||||
// LogUtils.i("BIKAOVIDEO","BIKAOVIDEO4444444422222222");
|
||||
|
||||
String names = user.getName();
|
||||
|
||||
if (circleShareBean.data.getCoinType().equals("0")) {
|
||||
|
||||
String nameG = String.format(textBinding.messageTipText.getResources().getString(R.string.s_font_color_fc605c_font_txt2),names,circleShareBean.data.getSenderNickname());
|
||||
//
|
||||
// if (!TextUtils.isEmpty(circleShareBean.data.isReceiveEnd()) && circleShareBean.data.isReceiveEnd().equals("1")) {
|
||||
// nameG += textBinding.messageTipText.getResources().getString(R.string.hbylw_txt);
|
||||
// }
|
||||
textBinding.messageTipText.setText(Html.fromHtml(String.format(nameG)));
|
||||
} else if (circleShareBean.data.getCoinType().equals("1")) {
|
||||
// LogUtils.i("BIKAOVIDEO","BIKAOVIDEO44444444444444444");
|
||||
|
||||
// String nameG = textBinding.messageTipText.getResources().getString(R.string.s_font_color_629cff_font_txt);
|
||||
String nameG = String.format(textBinding.messageTipText.getResources().getString(R.string.s_font_color_629cff_font_txt2),names,circleShareBean.data.getSenderNickname());
|
||||
|
||||
// if (!TextUtils.isEmpty(circleShareBean.data.isReceiveEnd()) && circleShareBean.data.isReceiveEnd().equals("1")) {
|
||||
// nameG += textBinding.messageTipText.getResources().getString(R.string.hbylw_txt);
|
||||
// }
|
||||
textBinding.messageTipText.setText(Html.fromHtml(String.format(nameG)));
|
||||
} else {
|
||||
// String nameG = textBinding.messageTipText.getResources().getString(R.string.s_font_color_gift_font_txt);
|
||||
String nameG = String.format(textBinding.messageTipText.getResources().getString(R.string.s_font_color_gift_font_txt2),names,circleShareBean.data.getSenderNickname());
|
||||
|
||||
// if (!TextUtils.isEmpty(circleShareBean.data.isReceiveEnd()) && circleShareBean.data.isReceiveEnd().equals("1")) {
|
||||
// nameG += textBinding.messageTipText.getResources().getString(R.string.hbylw_txt);
|
||||
// }
|
||||
textBinding.messageTipText.setText(Html.fromHtml(String.format(nameG)));
|
||||
}
|
||||
}else{
|
||||
// LogUtils.i("BIKAOVIDEO","BIKAOVIDEO444444443333333333333");
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -148,7 +148,7 @@ public class RedPacketViewHolder extends ChatBaseMessageViewHolder {
|
||||
@Override
|
||||
public void toSumbit() {
|
||||
Intent intent = new Intent();
|
||||
intent.setClassName(context, "com.dskj.rbchat.main.mine.ChangeAccoutActionActivity");
|
||||
intent.setClassName(context, "com.hbl.lewan.main.mine.ChangeAccoutActionActivity");
|
||||
intent.putExtra("type", 1);
|
||||
context.startActivity(intent);
|
||||
}
|
||||
@@ -250,7 +250,7 @@ public class RedPacketViewHolder extends ChatBaseMessageViewHolder {
|
||||
}
|
||||
if (groupBean.getStatus() > 0) {
|
||||
Intent intent = new Intent();
|
||||
intent.setClassName(binding.bigLy.getContext(), "com.dskj.rbchat.redpack.ReceiveRedPacketActivity");
|
||||
intent.setClassName(binding.bigLy.getContext(), "com.hbl.lewan.redpack.ReceiveRedPacketActivity");
|
||||
intent.putExtra("bean", groupBean);
|
||||
intent.putExtra("isGroup", true);
|
||||
intent.putExtra("name", groupBean.getSenderNickname() + "");
|
||||
@@ -264,7 +264,7 @@ public class RedPacketViewHolder extends ChatBaseMessageViewHolder {
|
||||
if ((groupBean.getGrabbers().get(i).getGrabberUid() + "").equals(IMKitClient.account())) {
|
||||
isAt = true;
|
||||
Intent intent = new Intent();
|
||||
intent.setClassName(binding.bigLy.getContext(), "com.dskj.rbchat.redpack.ReceiveRedPacketActivity");
|
||||
intent.setClassName(binding.bigLy.getContext(), "com.hbl.lewan.redpack.ReceiveRedPacketActivity");
|
||||
intent.putExtra("bean", groupBean);
|
||||
intent.putExtra("isGroup", true);
|
||||
intent.putExtra("name", groupBean.getSenderNickname() + "");
|
||||
@@ -294,7 +294,7 @@ public class RedPacketViewHolder extends ChatBaseMessageViewHolder {
|
||||
}
|
||||
if (data.getStatus() > 0 || ((data.getSenderUid() + "").equals(IMKitClient.account()))) {
|
||||
Intent intent = new Intent();
|
||||
intent.setClassName(binding.bigLy.getContext(), "com.dskj.rbchat.redpack.ReceiveRedPacketActivity");
|
||||
intent.setClassName(binding.bigLy.getContext(), "com.hbl.lewan.redpack.ReceiveRedPacketActivity");
|
||||
intent.putExtra("bean", data);
|
||||
intent.putExtra("isGroup", false);
|
||||
intent.putExtra("name", message.getMessageData().getMessage().getFromNick());
|
||||
|
||||
@@ -139,7 +139,7 @@ public class TransferViewHolder extends ChatBaseMessageViewHolder {
|
||||
}
|
||||
}
|
||||
Intent intent = new Intent();
|
||||
intent.setClassName(binding.bigLy.getContext(), "com.dskj.rbchat.redpack.TransferInfoActivity");
|
||||
intent.setClassName(binding.bigLy.getContext(), "com.hbl.lewan.redpack.TransferInfoActivity");
|
||||
//Long id, Integer status, Integer amount, Integer senderUid, Integer receiverUid, String sendTime, String receiveTime, String remark, Integer coinType
|
||||
TransferBean transferBean = new TransferBean(Long.parseLong(circleShareBean.data.getId()), Integer.parseInt(circleShareBean.data.getStatus()), Integer.parseInt(circleShareBean.data.getAmount()),
|
||||
Integer.parseInt(circleShareBean.data.getSenderUid()), Integer.parseInt(circleShareBean.data.getReceiverUid()), circleShareBean.data.getSendTime(), circleShareBean.data.getReceiveTime(), circleShareBean.data.getRemark(),
|
||||
@@ -252,7 +252,7 @@ public class TransferViewHolder extends ChatBaseMessageViewHolder {
|
||||
@Override
|
||||
public void toSumbit() {
|
||||
Intent intent = new Intent();
|
||||
intent.setClassName(context, "com.dskj.rbchat.main.mine.ChangeAccoutActionActivity");
|
||||
intent.setClassName(context, "com.hbl.lewan.main.mine.ChangeAccoutActionActivity");
|
||||
intent.putExtra("type", 1);
|
||||
context.startActivity(intent);
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@ public class UserAlbumsViewHolder extends FunChatBaseMessageViewHolder {
|
||||
|
||||
private void startDetails(int id, String password, String userId, Context context) {
|
||||
Intent intent = new Intent();
|
||||
intent.setClassName(context, "com.dskj.rbchat.main.mine.photo.UserPhotoDetailsActivity");
|
||||
intent.setClassName(context, "com.hbl.lewan.main.mine.photo.UserPhotoDetailsActivity");
|
||||
intent.putExtra("albumId", id);
|
||||
// intent.putExtra("password", password);
|
||||
intent.putExtra("userId", userId);
|
||||
|
||||
@@ -248,7 +248,7 @@ public class RedPacketDialog extends Dialog {
|
||||
dismiss();
|
||||
|
||||
Intent intent = new Intent();
|
||||
intent.setClassName(getContext(), "com.dskj.rbchat.redpack.ReceiveRedPacketActivity");
|
||||
intent.setClassName(getContext(), "com.hbl.lewan.redpack.ReceiveRedPacketActivity");
|
||||
intent.putExtra("bean", tuiMessageBean);
|
||||
intent.putExtra("isGroup", false);
|
||||
intent.putExtra("name", message.getMessageData().getMessage().getFromNick());
|
||||
@@ -262,7 +262,7 @@ public class RedPacketDialog extends Dialog {
|
||||
|
||||
// ARouter.getInstance().build("/chat/receive_red_packet").withSerializable("bean", bean).withBoolean("isGroup", tuiMessageBean.isGroup()).withString("groupId", groupId).navigation();
|
||||
Intent intent = new Intent();
|
||||
intent.setClassName(getContext(), "com.dskj.rbchat.redpack.ReceiveRedPacketActivity");
|
||||
intent.setClassName(getContext(), "com.hbl.lewan.redpack.ReceiveRedPacketActivity");
|
||||
intent.putExtra("bean", redpacketGroupBean);
|
||||
intent.putExtra("isGroup", true);
|
||||
intent.putExtra("name", message.getMessageData().getMessage().getFromNick());
|
||||
|
||||
@@ -66,7 +66,7 @@ public class ChatPopActionFactory {
|
||||
|
||||
boolean isManager = false;
|
||||
|
||||
public List<ChatPopMenuAction> getNormalActions(ChatMessageBean message) {
|
||||
public List<ChatPopMenuAction> getNormalActions(ChatMessageBean message,int isManageNumber,int otherIsManageNumber,boolean isMute) {
|
||||
List<ChatPopMenuAction> actions = new ArrayList<>();
|
||||
if (message.getMessageData() == null) {
|
||||
return actions;
|
||||
@@ -102,12 +102,25 @@ public class ChatPopActionFactory {
|
||||
actions.add(getCopyAction(message));
|
||||
}
|
||||
actions.add(getReplyAction(message));
|
||||
if (message.getViewType() == MsgTypeEnum.audio.getValue()||message.getViewType() == MsgTypeEnum.custom.getValue()) {
|
||||
// if (message.getViewType() == MsgTypeEnum.audio.getValue()||message.getViewType() == MsgTypeEnum.custom.getValue()) {
|
||||
if (message.getViewType() == MsgTypeEnum.custom.getValue()) {
|
||||
|
||||
}else{
|
||||
actions.add(getTransmitAction(message)); //转发
|
||||
actions.add(getMultiSelectAction(message));
|
||||
|
||||
}
|
||||
|
||||
if ((imMessage.getSessionType() == SessionTypeEnum.Team || imMessage.getSessionType() == SessionTypeEnum.SUPER_TEAM)) {
|
||||
if(isManager&&(isManageNumber==1||(isManageNumber>otherIsManageNumber&&otherIsManageNumber!=1))&&imMessage.getDirect() == MsgDirectionEnum.In) {
|
||||
if (isMute) {
|
||||
actions.add(getJieChuJinYanAction(message));
|
||||
} else {
|
||||
actions.add(getJinYanAction(message));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// if (message.getViewType() != MsgTypeEnum.location.getValue()) {
|
||||
// actions.add(getPinAction(message));
|
||||
// }
|
||||
@@ -225,6 +238,31 @@ public class ChatPopActionFactory {
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
private ChatPopMenuAction getJinYanAction(ChatMessageBean message) {
|
||||
return new ChatPopMenuAction(
|
||||
ActionConstants.POP_ACTION_JINYAN_SELECT,
|
||||
R.string.chat_team_mute,
|
||||
R.drawable.jinyan_img,
|
||||
(view, messageInfo) -> {
|
||||
if (actionListener != null) {
|
||||
actionListener.get().onJinYan(messageInfo);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private ChatPopMenuAction getJieChuJinYanAction(ChatMessageBean message) {
|
||||
return new ChatPopMenuAction(
|
||||
ActionConstants.POP_ACTION_JINYAN_SELECT,
|
||||
R.string.chat_team_un_mute,
|
||||
R.drawable.jinyan_img1,
|
||||
(view, messageInfo) -> {
|
||||
if (actionListener != null) {
|
||||
actionListener.get().onJieChuJinYan(messageInfo);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private ChatPopMenuAction getCollectionAction(ChatMessageBean message) {
|
||||
return new ChatPopMenuAction(
|
||||
ActionConstants.POP_ACTION_COLLECTION,
|
||||
|
||||
@@ -138,6 +138,7 @@ public abstract class FunChatFragment extends ChatBaseFragment {
|
||||
|
||||
@Override
|
||||
protected void initData(Bundle bundle) {
|
||||
// ToastX.showShortToast("111111111111");
|
||||
EventCenter.registerEventNotify(cleanHistoryEvent);
|
||||
EventCenter.registerEventNotify(chatDeleteEvent);
|
||||
initCalendarView();
|
||||
@@ -221,7 +222,7 @@ public abstract class FunChatFragment extends ChatBaseFragment {
|
||||
viewBinding.chattopview.ivChatannouncement.setVisibility(View.VISIBLE);
|
||||
|
||||
} else if (sessionType == SessionTypeEnum.P2P) {
|
||||
viewBinding.chattopview.ivChatcall.setVisibility(View.VISIBLE);
|
||||
viewBinding.chattopview.ivChatcall.setVisibility(View.GONE);
|
||||
viewBinding.chattopview.ivChatannouncement.setVisibility(View.GONE);
|
||||
}
|
||||
viewBinding.chattopview.ivChatsearch.setOnClickListener(view -> {
|
||||
|
||||
@@ -111,7 +111,7 @@ public class FunChatP2PFragment extends FunChatFragment {
|
||||
viewBinding.chattopview.ivChatcall.setVisibility(View.GONE);
|
||||
getMessageBottomLayout().setShowBlackView();
|
||||
} else {
|
||||
viewBinding.chattopview.ivChatcall.setVisibility(View.VISIBLE);
|
||||
viewBinding.chattopview.ivChatcall.setVisibility(View.GONE);
|
||||
getMessageBottomLayout().setHideBlackView();
|
||||
}
|
||||
|
||||
@@ -199,7 +199,7 @@ public class FunChatP2PFragment extends FunChatFragment {
|
||||
}
|
||||
chatView.getTitleBar().setVisibility(View.GONE);
|
||||
viewBinding.chattopview.tvChattitle.setText(name);
|
||||
viewBinding.chattopview.ivChatcall.setVisibility(View.VISIBLE);
|
||||
viewBinding.chattopview.ivChatcall.setVisibility(View.GONE);
|
||||
viewBinding.chattopview.ivChatannouncement.setVisibility(View.GONE);
|
||||
viewBinding.chattopview.ivChatsetting.setVisibility(View.VISIBLE);
|
||||
getMessageBottomLayout().setShowInit();
|
||||
|
||||
@@ -16,6 +16,7 @@ import android.os.Bundle;
|
||||
import android.text.Editable;
|
||||
import android.text.TextUtils;
|
||||
import android.text.TextWatcher;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewTreeObserver;
|
||||
@@ -38,22 +39,28 @@ import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum;
|
||||
import com.netease.nimlib.sdk.msg.model.IMMessage;
|
||||
import com.netease.nimlib.sdk.team.TeamService;
|
||||
import com.netease.nimlib.sdk.team.constant.TeamFieldEnum;
|
||||
import com.netease.nimlib.sdk.team.constant.TeamMemberType;
|
||||
import com.netease.nimlib.sdk.team.model.Team;
|
||||
import com.netease.nimlib.sdk.team.model.TeamMember;
|
||||
import com.netease.yunxin.kit.alog.ALog;
|
||||
import com.netease.yunxin.kit.chatkit.model.IMMessageInfo;
|
||||
import com.netease.yunxin.kit.chatkit.model.IMTeamMessageReceiptInfo;
|
||||
import com.netease.yunxin.kit.chatkit.model.TeamWithCurrentMember;
|
||||
import com.netease.yunxin.kit.chatkit.model.UserInfoWithTeam;
|
||||
import com.netease.yunxin.kit.chatkit.repo.TeamRepo;
|
||||
import com.netease.yunxin.kit.chatkit.ui.ChatKitUIConstant;
|
||||
import com.netease.yunxin.kit.chatkit.ui.R;
|
||||
import com.netease.yunxin.kit.chatkit.ui.common.ChatDataUtils;
|
||||
import com.netease.yunxin.kit.chatkit.ui.common.ChatUtils;
|
||||
import com.netease.yunxin.kit.chatkit.ui.common.GsonUtils;
|
||||
import com.netease.yunxin.kit.chatkit.ui.common.RxBus;
|
||||
import com.netease.yunxin.kit.chatkit.ui.data.entity.ChatDraftData;
|
||||
import com.netease.yunxin.kit.chatkit.ui.databinding.FunChatSearchViewHolderBinding;
|
||||
import com.netease.yunxin.kit.chatkit.ui.fun.view.MessageBottomLayout;
|
||||
import com.netease.yunxin.kit.chatkit.ui.fun.viewholder.FunSearchMessageViewHolder;
|
||||
import com.netease.yunxin.kit.chatkit.ui.model.ChatMessageBean;
|
||||
import com.netease.yunxin.kit.chatkit.ui.model.CleanHistoryEvent;
|
||||
import com.netease.yunxin.kit.chatkit.ui.model.RxBusToVoom;
|
||||
import com.netease.yunxin.kit.chatkit.ui.model.TeamExtensionBean;
|
||||
import com.netease.yunxin.kit.chatkit.ui.model.UpdateTeamEvent;
|
||||
import com.netease.yunxin.kit.chatkit.ui.model.ait.AitBlock;
|
||||
@@ -72,8 +79,11 @@ import com.netease.yunxin.kit.common.utils.SizeUtils;
|
||||
import com.netease.yunxin.kit.corekit.event.EventCenter;
|
||||
import com.netease.yunxin.kit.corekit.event.EventNotify;
|
||||
import com.netease.yunxin.kit.corekit.im.IMKitClient;
|
||||
import com.netease.yunxin.kit.corekit.im.provider.FetchCallback;
|
||||
import com.netease.yunxin.kit.corekit.im.utils.IMKitConstant;
|
||||
import com.netease.yunxin.kit.corekit.im.utils.RouterConstant;
|
||||
import com.netease.yunxin.kit.corekit.model.ErrorMsg;
|
||||
import com.netease.yunxin.kit.corekit.model.ResultInfo;
|
||||
import com.netease.yunxin.kit.corekit.route.XKitRouter;
|
||||
|
||||
import org.json.JSONException;
|
||||
@@ -83,6 +93,7 @@ import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
|
||||
public class FunChatTeamFragment extends FunChatFragment {
|
||||
@@ -94,6 +105,7 @@ public class FunChatTeamFragment extends FunChatFragment {
|
||||
|
||||
@Override
|
||||
protected void initData(Bundle bundle) {
|
||||
// ToastX.showShortToast("111111111111111");
|
||||
|
||||
ALog.d(LIB_TAG, TAG, "initData");
|
||||
sessionType = SessionTypeEnum.Team;
|
||||
@@ -105,7 +117,13 @@ public class FunChatTeamFragment extends FunChatFragment {
|
||||
}
|
||||
if (TextUtils.isEmpty(sessionID)) {
|
||||
sessionID = teamInfo.getId();
|
||||
|
||||
}
|
||||
|
||||
if (!TextUtils.isEmpty(sessionID)) {
|
||||
getUserType(sessionID);
|
||||
}
|
||||
|
||||
anchorMessage = (IMMessage) bundle.getSerializable(RouterConstant.KEY_MESSAGE);
|
||||
// chatView
|
||||
// .getTitleBar()
|
||||
@@ -171,8 +189,111 @@ public class FunChatTeamFragment extends FunChatFragment {
|
||||
}
|
||||
|
||||
super.initData(bundle);
|
||||
RxBus.getInstance().toObservable(Integer.class)
|
||||
.subscribeOn(rx.schedulers.Schedulers.io())
|
||||
.unsubscribeOn(rx.schedulers.Schedulers.io())
|
||||
.subscribe(changeImageViewBean -> {//回顶部
|
||||
if(changeImageViewBean == -99999){
|
||||
if(!TextUtils.isEmpty(sessionID)){
|
||||
getUserType(sessionID);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
if(!TextUtils.isEmpty(sessionID)){
|
||||
getUserType(sessionID);
|
||||
}
|
||||
}
|
||||
|
||||
private void getUserType(String id) {
|
||||
// Log.i("LAILIAOLIAO","LAILIAOLIAO 乱七八糟:"+id);
|
||||
TeamRepo.queryTeamWithMember(
|
||||
id,
|
||||
Objects.requireNonNull(IMKitClient.account()),
|
||||
new FetchCallback<TeamWithCurrentMember>() {
|
||||
@Override
|
||||
public void onSuccess(@Nullable TeamWithCurrentMember param) {
|
||||
ALog.d(LIB_TAG, TAG, "requestTeamData,onSuccess:" + (param == null));
|
||||
if(param!=null&¶m.getTeamMember()!=null){
|
||||
if(param.getTeamMember().getType() == TeamMemberType.Manager){
|
||||
isManage = 2;
|
||||
}else if(param.getTeamMember().getType() == TeamMemberType.Owner){
|
||||
isManage = 1;
|
||||
}else {
|
||||
isManage = 0;
|
||||
}
|
||||
|
||||
if(param.getTeamMember().isMute()){
|
||||
getMessageBottomLayout().setShowTeamJinYan();
|
||||
}else{
|
||||
getMessageBottomLayout().setHideBlackView();
|
||||
}
|
||||
|
||||
}else{
|
||||
isManage = 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailed(int code) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onException(@Nullable Throwable exception) {
|
||||
|
||||
}
|
||||
});
|
||||
// NIMClient.getService(TeamService.class).queryTeamMember(id, IMKitClient.account()).setCallback(new RequestCallback<TeamMember>() {
|
||||
// @Override
|
||||
// public void onSuccess(TeamMember members) {
|
||||
// Log.i("LAILIAOLIAO","LAILIAOLIAO 乱七八糟:"+GsonUtils.beanToJSONString(members));
|
||||
// if(members!=null){
|
||||
// if(members.getType() == TeamMemberType.Manager){
|
||||
// isManage = 2;
|
||||
// }else if(members.getType() == TeamMemberType.Owner){
|
||||
// isManage = 1;
|
||||
// }else {
|
||||
// isManage = 0;
|
||||
// }
|
||||
//
|
||||
// if(members.isMute()){
|
||||
// getMessageBottomLayout().setShowTeamJinYan();
|
||||
// }
|
||||
//
|
||||
// }else{
|
||||
// isManage = 0;
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onFailed(int code) {
|
||||
// // 撤销群管理员失败
|
||||
//// Log.i("LAILIAOLIAO","LAILIAOLIAO 乱七八糟:"+code);
|
||||
//
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onException(Throwable exception) {
|
||||
// // 错误
|
||||
//// Log.i("LAILIAOLIAO","LAILIAOLIAO 乱七八糟:"+exception.getMessage());
|
||||
//
|
||||
// }
|
||||
// });
|
||||
|
||||
}
|
||||
//
|
||||
// private void getJinYan(String teamId){
|
||||
//
|
||||
// }
|
||||
public TeamExtensionBean extensionBean;
|
||||
|
||||
private void refreshView() {
|
||||
|
||||
@@ -577,6 +577,13 @@ public class MessageBottomLayout extends FrameLayout
|
||||
});
|
||||
}
|
||||
|
||||
public void setShowTeamJinYan() {
|
||||
hideCurrentInput();
|
||||
mBinding.tvChatblack.setText(R.string.ninyibeijinyan_txt);
|
||||
mBinding.layoutChatblack.setVisibility(VISIBLE);
|
||||
mBinding.layoutChatblack.setOnClickListener(view -> {
|
||||
});
|
||||
}
|
||||
public void setShowIsNotFriend() {
|
||||
hideCurrentInput();
|
||||
mBinding.tvChatblack.setText(getResources().getString(R.string.not_friend_chat_tv));
|
||||
|
||||
@@ -67,11 +67,11 @@ public class FunBottomActionFactory {
|
||||
actions.add(new ActionItem(ActionConstants.ACTION_TYPE_MINGPIAN, R.drawable.ic_action_mingpian, R.string.mingpian_txt));
|
||||
}
|
||||
}
|
||||
actions.add(
|
||||
new ActionItem(
|
||||
ActionConstants.ACTION_TYPE_LOCATION,
|
||||
R.drawable.ic_location1,
|
||||
R.string.chat_message_location));
|
||||
// actions.add(
|
||||
// new ActionItem(
|
||||
// ActionConstants.ACTION_TYPE_LOCATION,
|
||||
// R.drawable.ic_location1,
|
||||
// R.string.chat_message_location));
|
||||
actions.add(new ActionItem(ActionConstants.ACTION_TYPE_ALBUMS, R.drawable.ic_action_share_albums, R.string.sharealbums_txt));
|
||||
if (getConfig(IMKitClient.getApplicationContext(), "redpkg_score", false)) { //积分赠送
|
||||
//礼品积分红包
|
||||
|
||||
@@ -17,6 +17,8 @@ import android.view.LayoutInflater;
|
||||
import android.view.ViewGroup;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.netease.nim.highavailable.LogUtils;
|
||||
import com.netease.yunxin.kit.chatkit.ui.IChatFactory;
|
||||
import com.netease.yunxin.kit.chatkit.ui.databinding.ChatBaseMessageViewHolderBinding;
|
||||
import com.netease.yunxin.kit.chatkit.ui.fun.view.message.viewholder.ChatAudioMessageViewHolder;
|
||||
@@ -54,6 +56,10 @@ public abstract class ChatMessageViewHolderFactory implements IChatFactory {
|
||||
ChatBaseMessageViewHolderBinding viewHolderBinding =
|
||||
ChatBaseMessageViewHolderBinding.inflate(
|
||||
LayoutInflater.from(parent.getContext()), parent, false);
|
||||
|
||||
// LogUtils.i("BIKAOVIDEO","BIKAOVIDEO结果是啥类型:"+viewType);
|
||||
|
||||
|
||||
if (viewType == NORMAL_MESSAGE_VIEW_TYPE_AUDIO) {
|
||||
viewHolder = new ChatAudioMessageViewHolder(viewHolderBinding, viewType);
|
||||
} else if (viewType == NORMAL_MESSAGE_VIEW_TYPE_IMAGE) {
|
||||
|
||||
@@ -12,10 +12,13 @@ import android.view.View;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
|
||||
import com.netease.nim.highavailable.LogUtils;
|
||||
import com.netease.nimlib.sdk.msg.attachment.NotificationAttachment;
|
||||
import com.netease.nimlib.sdk.msg.attachment.NotificationAttachmentWithExtension;
|
||||
import com.netease.yunxin.kit.chatkit.ui.R;
|
||||
import com.netease.yunxin.kit.chatkit.ui.common.TeamNotificationHelper;
|
||||
import com.netease.yunxin.kit.chatkit.ui.databinding.ChatBaseMessageViewHolderBinding;
|
||||
import com.netease.yunxin.kit.chatkit.ui.databinding.FunChatMessageTextViewHolder1Binding;
|
||||
import com.netease.yunxin.kit.chatkit.ui.databinding.FunChatMessageTextViewHolderBinding;
|
||||
import com.netease.yunxin.kit.chatkit.ui.model.ChatMessageBean;
|
||||
import com.netease.yunxin.kit.chatkit.ui.view.input.ActionConstants;
|
||||
@@ -30,7 +33,7 @@ public class ChatNotificationMessageViewHolder extends FunChatBaseMessageViewHol
|
||||
|
||||
private static final String LOG_TAG = "ChatNotificationMessageViewHolder";
|
||||
|
||||
FunChatMessageTextViewHolderBinding textBinding;
|
||||
FunChatMessageTextViewHolder1Binding textBinding;
|
||||
|
||||
public ChatNotificationMessageViewHolder(
|
||||
@NonNull ChatBaseMessageViewHolderBinding parent, int viewType) {
|
||||
@@ -40,7 +43,7 @@ public class ChatNotificationMessageViewHolder extends FunChatBaseMessageViewHol
|
||||
@Override
|
||||
public void addViewToMessageContainer() {
|
||||
textBinding =
|
||||
FunChatMessageTextViewHolderBinding.inflate(
|
||||
FunChatMessageTextViewHolder1Binding.inflate(
|
||||
LayoutInflater.from(parent.getContext()), getMessageTopGroup(), true);
|
||||
}
|
||||
|
||||
@@ -82,23 +85,36 @@ public class ChatNotificationMessageViewHolder extends FunChatBaseMessageViewHol
|
||||
|
||||
private void loadData(ChatMessageBean message, ChatMessageBean lastMessage, boolean refreshTime) {
|
||||
if (message.getMessageData().getMessage().getAttachment()
|
||||
instanceof NotificationAttachmentWithExtension) {
|
||||
instanceof NotificationAttachment) {
|
||||
textBinding.messageText.setGravity(Gravity.CENTER);
|
||||
textBinding.messageText.setTextColor(
|
||||
IMKitClient.getApplicationContext().getResources().getColor(R.color.color_999999));
|
||||
textBinding.messageText.setTextSize(12);
|
||||
String content = TeamNotificationHelper.getTeamNotificationText(message.getMessageData());
|
||||
textBinding.messageText.setText(content);
|
||||
// LogUtils.i("BIKAOVIDEO","BIKAOVIDEO结果是啥:"+content);
|
||||
if (TextUtils.isEmpty(content)) {
|
||||
baseViewBinding.baseRoot.setVisibility(View.GONE);
|
||||
textBinding.messageText.setVisibility(View.GONE);
|
||||
setVisibility(false);
|
||||
} else {
|
||||
baseViewBinding.baseRoot.setVisibility(View.VISIBLE);
|
||||
textBinding.messageText.setVisibility(View.VISIBLE);
|
||||
setVisibility(true);
|
||||
if (lastMessage == null && refreshTime) {
|
||||
setTime(message, null);
|
||||
// setTime(message, null);
|
||||
baseViewBinding.otherUserAvatar.setVisibility(View.GONE);
|
||||
baseViewBinding.myAvatar.setVisibility(View.GONE);
|
||||
baseViewBinding.messageStatus.setVisibility(View.GONE);
|
||||
baseViewBinding.tvTimeMy.setVisibility(View.GONE);
|
||||
baseViewBinding.tvTimeOther.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
baseViewBinding.baseRoot.setVisibility(View.GONE);
|
||||
textBinding.messageText.setVisibility(View.GONE);
|
||||
setVisibility(false);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,8 +62,9 @@ public class ChatTextMessageViewHolder extends FunChatBaseMessageViewHolder {
|
||||
textBinding.messageText.setVisibility(View.GONE);
|
||||
textBinding.messageTextGif.setVisibility(View.VISIBLE);
|
||||
LogUtils.i("XXXXXXXX","XXXXXXXXXXX222:GIF");
|
||||
|
||||
String filePath = EmojiManager.getDrawablePath(textBinding.getRoot().getContext(),message.getMessageData().getMessage().getContent());
|
||||
if(filePath.contains("tlt_gif_")){
|
||||
if(filePath!=null&&filePath.contains("tlt_gif_")){
|
||||
filePath= filePath.replace("tlt_gif_","gtlt_gif_").replace(".png",".gif");
|
||||
}
|
||||
Glide.with(textBinding.getRoot().getContext()).load("file:///android_asset/"+filePath)
|
||||
|
||||
@@ -11,6 +11,8 @@ import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
|
||||
import com.netease.nim.highavailable.LogUtils;
|
||||
import com.netease.yunxin.kit.chatkit.ui.R;
|
||||
import com.netease.yunxin.kit.chatkit.ui.databinding.ChatBaseMessageViewHolderBinding;
|
||||
import com.netease.yunxin.kit.chatkit.ui.databinding.FunChatMessageTipViewHolderBinding;
|
||||
@@ -72,11 +74,17 @@ public class ChatTipsMessageViewHolder extends FunChatBaseMessageViewHolder {
|
||||
IMKitClient.getApplicationContext().getResources().getColor(R.color.color_999999));
|
||||
textBinding.messageTipText.setTextSize(12);
|
||||
textBinding.messageTipText.setText(content);
|
||||
// LogUtils.i("BIKAOVIDEO","BIKAOVIDEO结果是啥1111:"+content);
|
||||
|
||||
if (lastMessage == null) {
|
||||
setTime(message, null);
|
||||
}
|
||||
baseViewBinding.baseRoot.setVisibility(View.VISIBLE);
|
||||
setVisibility(true);
|
||||
} else {
|
||||
baseViewBinding.baseRoot.setVisibility(View.GONE);
|
||||
setVisibility(false);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,10 +10,12 @@ import android.text.style.ImageSpan;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.LinearLayout;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.netease.nim.highavailable.LogUtils;
|
||||
import com.netease.nimlib.sdk.msg.constant.MsgTypeEnum;
|
||||
@@ -78,6 +80,23 @@ public class FunChatBaseMessageViewHolder extends ChatBaseMessageViewHolder {
|
||||
baseViewBinding.llSignal.setLayoutParams(signalLayoutParams);
|
||||
}
|
||||
|
||||
|
||||
public void setVisibility(boolean visible) {
|
||||
RecyclerView.LayoutParams param = (RecyclerView.LayoutParams) itemView.getLayoutParams();
|
||||
if (visible) {
|
||||
param.height = LinearLayout.LayoutParams.WRAP_CONTENT;
|
||||
param.width = LinearLayout.LayoutParams.MATCH_PARENT;
|
||||
itemView.setLayoutParams(param);
|
||||
itemView.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
param.height = 0;
|
||||
param.width = 0;
|
||||
itemView.setLayoutParams(param);
|
||||
itemView.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void setUserInfo(ChatMessageBean message) {
|
||||
// 修改用户头像
|
||||
|
||||
@@ -49,13 +49,13 @@ public interface ApiService {
|
||||
/**
|
||||
* 正式环境
|
||||
*/
|
||||
// String URL = "https://api.letschat2023.com/";
|
||||
String URL = "https://api.hnsdl.com/";
|
||||
|
||||
/**
|
||||
* 测试环境
|
||||
*/
|
||||
String URL = "https://api-test.letschat2023.com/";
|
||||
// String URL = "https://8.217.244.135:8001/";
|
||||
// String URL = "https://api-test.letschat2023.com/";
|
||||
// String URL = "https://api-test.hnsdl.com/";
|
||||
|
||||
|
||||
String SUBSTATIONID = "1703655363476242434";
|
||||
|
||||
@@ -16,6 +16,7 @@ import com.netease.yunxin.kit.chatkit.ui.databinding.NormalChatFragmentBinding;
|
||||
import com.netease.yunxin.kit.chatkit.ui.dialog.ChatBaseForwardSelectDialog;
|
||||
import com.netease.yunxin.kit.chatkit.ui.normal.ChatMessageForwardSelectDialog;
|
||||
import com.netease.yunxin.kit.chatkit.ui.page.fragment.ChatBaseFragment;
|
||||
import com.netease.yunxin.kit.common.ui.utils.ToastX;
|
||||
import com.netease.yunxin.kit.corekit.im.utils.RouterConstant;
|
||||
|
||||
public abstract class NormalChatFragment extends ChatBaseFragment {
|
||||
@@ -56,7 +57,9 @@ public abstract class NormalChatFragment extends ChatBaseFragment {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initData(Bundle bundle) {}
|
||||
protected void initData(Bundle bundle) {
|
||||
// ToastX.showShortToast("2222222222222222");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUserInfoRoutePath() {
|
||||
|
||||
@@ -43,11 +43,11 @@ public class BottomActionFactory {
|
||||
ActionConstants.ACTION_TYPE_CAMERA,
|
||||
R.drawable.ic_shoot1,
|
||||
R.string.chat_message_more_shoot));
|
||||
actions.add(
|
||||
new ActionItem(
|
||||
ActionConstants.ACTION_TYPE_LOCATION,
|
||||
R.drawable.ic_location1,
|
||||
R.string.chat_message_location));
|
||||
// actions.add(
|
||||
// new ActionItem(
|
||||
// ActionConstants.ACTION_TYPE_LOCATION,
|
||||
// R.drawable.ic_location1,
|
||||
// R.string.chat_message_location));
|
||||
// actions.add(
|
||||
// new ActionItem(
|
||||
// ActionConstants.ACTION_TYPE_FILE, R.drawable.ic_send_file, R.string.chat_message_file));
|
||||
|
||||
@@ -10,6 +10,8 @@ import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
|
||||
import com.netease.nim.highavailable.LogUtils;
|
||||
import com.netease.nimlib.sdk.msg.attachment.NotificationAttachmentWithExtension;
|
||||
import com.netease.yunxin.kit.chatkit.ui.R;
|
||||
import com.netease.yunxin.kit.chatkit.ui.common.TeamNotificationHelper;
|
||||
@@ -36,7 +38,7 @@ public class ChatNotificationMessageViewHolder extends NormalChatBaseMessageView
|
||||
public void addViewToMessageContainer() {
|
||||
textBinding =
|
||||
NormalChatMessageTextViewHolderBinding.inflate(
|
||||
LayoutInflater.from(parent.getContext()), getMessageContainer(), true);
|
||||
LayoutInflater.from(parent.getContext()), getMessageTopGroup(), true);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -58,15 +60,15 @@ public class ChatNotificationMessageViewHolder extends NormalChatBaseMessageView
|
||||
|
||||
@Override
|
||||
protected void onLayoutConfig(ChatMessageBean messageBean) {
|
||||
ConstraintLayout.LayoutParams messageContainerLayoutParams =
|
||||
(ConstraintLayout.LayoutParams) baseViewBinding.messageContainer.getLayoutParams();
|
||||
ConstraintLayout.LayoutParams messageTopLayoutParams =
|
||||
(ConstraintLayout.LayoutParams) baseViewBinding.messageTopGroup.getLayoutParams();
|
||||
ConstraintLayout.LayoutParams messageBottomLayoutParams =
|
||||
(ConstraintLayout.LayoutParams) baseViewBinding.messageBottomGroup.getLayoutParams();
|
||||
messageContainerLayoutParams.horizontalBias = 0.5f;
|
||||
messageTopLayoutParams.horizontalBias = 0.5f;
|
||||
messageBottomLayoutParams.horizontalBias = 0.5f;
|
||||
// ConstraintLayout.LayoutParams messageContainerLayoutParams =
|
||||
// (ConstraintLayout.LayoutParams) baseViewBinding.messageContainer.getLayoutParams();
|
||||
// ConstraintLayout.LayoutParams messageTopLayoutParams =
|
||||
// (ConstraintLayout.LayoutParams) baseViewBinding.messageTopGroup.getLayoutParams();
|
||||
// ConstraintLayout.LayoutParams messageBottomLayoutParams =
|
||||
// (ConstraintLayout.LayoutParams) baseViewBinding.messageBottomGroup.getLayoutParams();
|
||||
// messageContainerLayoutParams.horizontalBias = 0.5f;
|
||||
// messageTopLayoutParams.horizontalBias = 0.5f;
|
||||
// messageBottomLayoutParams.horizontalBias = 0.5f;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -84,16 +86,23 @@ public class ChatNotificationMessageViewHolder extends NormalChatBaseMessageView
|
||||
textBinding.messageText.setTextSize(12);
|
||||
String content = TeamNotificationHelper.getTeamNotificationText(message.getMessageData());
|
||||
textBinding.messageText.setText(content);
|
||||
LogUtils.i("BIKAOVIDEO","BIKAOVIDEO结果是啥11111111:"+content);
|
||||
if (TextUtils.isEmpty(content)) {
|
||||
baseViewBinding.baseRoot.setVisibility(View.GONE);
|
||||
textBinding.messageText.setVisibility(View.GONE);
|
||||
setVisibility(false);
|
||||
} else {
|
||||
baseViewBinding.baseRoot.setVisibility(View.VISIBLE);
|
||||
textBinding.messageText.setVisibility(View.VISIBLE);
|
||||
setVisibility(true);
|
||||
if (lastMessage == null && refreshTime) {
|
||||
setTime(message, null);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
baseViewBinding.baseRoot.setVisibility(View.GONE);
|
||||
textBinding.messageText.setVisibility(View.GONE);
|
||||
setVisibility(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ public class ChatTipsMessageViewHolder extends NormalChatBaseMessageViewHolder {
|
||||
public void addViewToMessageContainer() {
|
||||
textBinding =
|
||||
NormalChatMessageTipViewHolderBinding.inflate(
|
||||
LayoutInflater.from(parent.getContext()), getMessageContainer(), true);
|
||||
LayoutInflater.from(parent.getContext()), getMessageTopGroup(), true);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -75,8 +75,13 @@ public class ChatTipsMessageViewHolder extends NormalChatBaseMessageViewHolder {
|
||||
if (lastMessage == null) {
|
||||
setTime(message, null);
|
||||
}
|
||||
baseViewBinding.baseRoot.setVisibility(View.VISIBLE);
|
||||
|
||||
setVisibility(true);
|
||||
} else {
|
||||
baseViewBinding.baseRoot.setVisibility(View.GONE);
|
||||
setVisibility(false);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,9 +8,13 @@ import android.text.TextUtils;
|
||||
import android.text.style.ImageSpan;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.widget.LinearLayout;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.netease.nimlib.sdk.msg.model.MsgThreadOption;
|
||||
import com.netease.yunxin.kit.alog.ALog;
|
||||
import com.netease.yunxin.kit.chatkit.model.IMMessageInfo;
|
||||
@@ -104,6 +108,21 @@ public class NormalChatBaseMessageViewHolder extends ChatBaseMessageViewHolder {
|
||||
}
|
||||
}
|
||||
|
||||
public void setVisibility(boolean visible) {
|
||||
RecyclerView.LayoutParams param = (RecyclerView.LayoutParams) itemView.getLayoutParams();
|
||||
if (visible) {
|
||||
param.height = LinearLayout.LayoutParams.WRAP_CONTENT;
|
||||
param.width = LinearLayout.LayoutParams.MATCH_PARENT;
|
||||
itemView.setLayoutParams(param);
|
||||
itemView.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
param.height = 0;
|
||||
param.width = 0;
|
||||
itemView.setLayoutParams(param);
|
||||
itemView.setVisibility(View.GONE);
|
||||
|
||||
}
|
||||
}
|
||||
@Override
|
||||
protected void onLayoutConfig(ChatMessageBean messageBean) {
|
||||
super.onLayoutConfig(messageBean);
|
||||
|
||||
@@ -301,11 +301,11 @@ public abstract class ChatPinBaseActivity extends BaseActivity {
|
||||
new ActionItem(ACTION_COPY_PIN, 0, R.string.chat_message_action_copy)
|
||||
.setTitleColorResId(R.color.color_333333));
|
||||
}
|
||||
if (messageInfo.getViewType() != MsgTypeEnum.audio.getValue()) {
|
||||
// if (messageInfo.getViewType() != MsgTypeEnum.audio.getValue()) {
|
||||
actions.add(
|
||||
new ActionItem(ACTION_TRANSMIT_PIN, 0, R.string.chat_message_action_transmit)
|
||||
.setTitleColorResId(R.color.color_333333));
|
||||
}
|
||||
// }
|
||||
|
||||
return actions;
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
package com.netease.yunxin.kit.chatkit.ui.page.fragment;
|
||||
|
||||
import static com.netease.yunxin.kit.chatkit.ui.ChatKitUIConstant.LIB_TAG;
|
||||
import static com.netease.yunxin.kit.chatkit.ui.ChatMessageType.NOTICE_MESSAGE_VIEW_TYPE;
|
||||
import static com.netease.yunxin.kit.chatkit.ui.view.input.ActionConstants.PAYLOAD_REFRESH_AUDIO_ANIM;
|
||||
import static com.netease.yunxin.kit.corekit.im.utils.RouterConstant.REQUEST_CONTACT_SELECTOR_KEY;
|
||||
|
||||
@@ -71,8 +72,10 @@ import com.netease.nimlib.sdk.msg.MessageBuilder;
|
||||
import com.netease.nimlib.sdk.msg.MsgService;
|
||||
import com.netease.nimlib.sdk.msg.attachment.MsgAttachment;
|
||||
import com.netease.nimlib.sdk.msg.attachment.NetCallAttachment;
|
||||
import com.netease.nimlib.sdk.msg.attachment.NotificationAttachment;
|
||||
import com.netease.nimlib.sdk.msg.constant.MsgStatusEnum;
|
||||
import com.netease.nimlib.sdk.msg.constant.MsgTypeEnum;
|
||||
import com.netease.nimlib.sdk.msg.constant.NotificationType;
|
||||
import com.netease.nimlib.sdk.msg.constant.SessionTypeEnum;
|
||||
import com.netease.nimlib.sdk.msg.model.AttachmentProgress;
|
||||
import com.netease.nimlib.sdk.msg.model.GetMessageDirectionEnum;
|
||||
@@ -82,6 +85,8 @@ import com.netease.nimlib.sdk.msg.model.QueryDirectionEnum;
|
||||
import com.netease.nimlib.sdk.msg.model.RecentContact;
|
||||
import com.netease.nimlib.sdk.team.TeamService;
|
||||
import com.netease.nimlib.sdk.team.constant.TeamMemberType;
|
||||
import com.netease.nimlib.sdk.team.constant.TeamMessageNotifyTypeEnum;
|
||||
import com.netease.nimlib.sdk.team.model.MuteMemberAttachment;
|
||||
import com.netease.nimlib.sdk.team.model.Team;
|
||||
import com.netease.nimlib.sdk.team.model.TeamMember;
|
||||
import com.netease.nimlib.sdk.uinfo.UserService;
|
||||
@@ -290,6 +295,7 @@ public abstract class ChatBaseFragment extends BaseFragment {
|
||||
|
||||
public boolean isGuanFang;
|
||||
|
||||
public int isManage = 0;
|
||||
@Nullable
|
||||
@Override
|
||||
public View onCreateView(
|
||||
@@ -848,7 +854,7 @@ public abstract class ChatBaseFragment extends BaseFragment {
|
||||
}
|
||||
|
||||
Intent intent = new Intent();
|
||||
intent.setClassName(getContext(), "com.dskj.rbchat.redpack.SendRedPacketActivity");
|
||||
intent.setClassName(getContext(), "com.hbl.lewan.redpack.SendRedPacketActivity");
|
||||
intent.putExtra("receiverUid", sessionID);
|
||||
intent.putExtra("isGroup", sessionType != SessionTypeEnum.P2P);
|
||||
startActivityForResult(intent, 456);
|
||||
@@ -871,7 +877,7 @@ public abstract class ChatBaseFragment extends BaseFragment {
|
||||
showDialogPay();
|
||||
} else {
|
||||
Intent intent = new Intent();
|
||||
intent.setClassName(getContext(), "com.dskj.rbchat.redpack.SendGiftRedPacketActivity");
|
||||
intent.setClassName(getContext(), "com.hbl.lewan.redpack.SendGiftRedPacketActivity");
|
||||
intent.putExtra("receiverUid", sessionID);
|
||||
intent.putExtra("isGroup", sessionType != SessionTypeEnum.P2P);
|
||||
startActivityForResult(intent, 456);
|
||||
@@ -905,7 +911,7 @@ public abstract class ChatBaseFragment extends BaseFragment {
|
||||
}
|
||||
|
||||
Intent intent = new Intent();
|
||||
intent.setClassName(getContext(), "com.dskj.rbchat.redpack.TransferAccountsActivity");
|
||||
intent.setClassName(getContext(), "com.hbl.lewan.redpack.TransferAccountsActivity");
|
||||
intent.putExtra("receiverUid", sessionID);
|
||||
startActivityForResult(intent, 457);
|
||||
}
|
||||
@@ -932,7 +938,7 @@ public abstract class ChatBaseFragment extends BaseFragment {
|
||||
}
|
||||
|
||||
Intent intent = new Intent();
|
||||
intent.setClassName(getContext(), "com.dskj.rbchat.redpack.TransferAccountsActivity");
|
||||
intent.setClassName(getContext(), "com.hbl.lewan.redpack.TransferAccountsActivity");
|
||||
intent.putExtra("type", true);
|
||||
intent.putExtra("receiverUid", sessionID);
|
||||
startActivityForResult(intent, 457);
|
||||
@@ -1493,7 +1499,7 @@ public abstract class ChatBaseFragment extends BaseFragment {
|
||||
@Override
|
||||
public void toSumbit() {
|
||||
Intent intent = new Intent();
|
||||
intent.setClassName(getContext(), "com.dskj.rbchat.main.mine.ChangeAccoutActionActivity");
|
||||
intent.setClassName(getContext(), "com.hbl.lewan.main.mine.ChangeAccoutActionActivity");
|
||||
intent.putExtra("type", 1);
|
||||
startActivity(intent);
|
||||
}
|
||||
@@ -1534,7 +1540,7 @@ public abstract class ChatBaseFragment extends BaseFragment {
|
||||
@Override
|
||||
public void toSumbit() {
|
||||
Intent intent = new Intent();
|
||||
intent.setClassName(getContext(), "com.dskj.rbchat.wallet.SetPayPasswordActivity");
|
||||
intent.setClassName(getContext(), "com.hbl.lewan.wallet.SetPayPasswordActivity");
|
||||
startActivity(intent);
|
||||
|
||||
}
|
||||
@@ -1614,7 +1620,47 @@ public abstract class ChatBaseFragment extends BaseFragment {
|
||||
}
|
||||
int[] location = new int[2];
|
||||
chatView.getMessageListView().getLocationOnScreen(location);
|
||||
popMenu.show(view, messageBean, location[1]);
|
||||
if ((sessionType == SessionTypeEnum.SUPER_TEAM || sessionType == SessionTypeEnum.Team)) {
|
||||
|
||||
NIMClient.getService(TeamService.class).queryTeamMember(sessionID,messageBean.getMessageData().getFromUser().getAccount()).setCallback(new RequestCallback<TeamMember>() {
|
||||
@Override
|
||||
public void onSuccess(TeamMember members) {
|
||||
// Log.i("LAILIAOLIAO","LAILIAOLIAO 乱七八糟:"+GsonUtils.beanToJSONString(members));
|
||||
if(members!=null){
|
||||
if(members.getType() == TeamMemberType.Manager){
|
||||
popMenu.show(view, messageBean, location[1],isManage,2,members.isMute());
|
||||
|
||||
}else if(members.getType() == TeamMemberType.Owner){
|
||||
popMenu.show(view, messageBean, location[1],isManage,1,members.isMute());
|
||||
}else {
|
||||
popMenu.show(view, messageBean, location[1],isManage,0,members.isMute());
|
||||
}
|
||||
}else{
|
||||
popMenu.show(view, messageBean, location[1],isManage,0,members.isMute());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailed(int code) {
|
||||
// 撤销群管理员失败
|
||||
// Log.i("LAILIAOLIAO","LAILIAOLIAO 乱七八糟:"+code);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onException(Throwable exception) {
|
||||
// 错误
|
||||
// Log.i("LAILIAOLIAO","LAILIAOLIAO 乱七八糟:"+exception.getMessage());
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}else{
|
||||
popMenu.show(view, messageBean, location[1],0,0,false);
|
||||
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -1646,44 +1692,62 @@ public abstract class ChatBaseFragment extends BaseFragment {
|
||||
|| !delegateListener.onUserIconClick(view, position, messageBean)) {
|
||||
// Log.i("点击了去用户详情页", "点击了去用户详情页:" + messageBean.getMessageData().getMessage().getFromAccount());
|
||||
if (!isServices) {
|
||||
//如果是群,且群不允许群内添加好友 当前登录用户不是群主,以及userid 也不是群主 直接跳过
|
||||
if ((sessionType == SessionTypeEnum.SUPER_TEAM || sessionType == SessionTypeEnum.Team)
|
||||
&& isAllowAd == 0
|
||||
&& teamInfo != null && !teamInfo.getCreator().equals(IMKitClient.account())
|
||||
&& !teamInfo.getCreator().equals(messageBean.getMessageData().getMessage().getFromAccount())) {
|
||||
|
||||
NIMClient.getService(TeamService.class).queryTeamMember(teamInfo.getId(), messageBean.getMessageData().getMessage().getFromAccount()).setCallback(new RequestCallback<TeamMember>() {
|
||||
@Override
|
||||
public void onSuccess(TeamMember members) {
|
||||
if(members!=null){
|
||||
if(members.getType() == TeamMemberType.Manager){
|
||||
XKitRouter.withKey(getUserInfoRoutePath())
|
||||
.withContext(view.getContext())
|
||||
.withParam(
|
||||
"uid",
|
||||
messageBean.getMessageData().getMessage().getFromAccount())
|
||||
.withParam("userId", messageBean.getMessageData().getMessage().getFromAccount())
|
||||
.withParam("isGroup", (sessionType == SessionTypeEnum.Team || sessionType == SessionTypeEnum.SUPER_TEAM))
|
||||
.withParam("teamId", (sessionType == SessionTypeEnum.Team || sessionType == SessionTypeEnum.SUPER_TEAM) ? messageBean.getMessageData().getMessage().getSessionId() : "")
|
||||
.navigate();
|
||||
|
||||
//如果是群,且群不允许群内添加好友 当前登录用户不是群主,以及userid 也不是群主 直接跳过
|
||||
if ((sessionType == SessionTypeEnum.SUPER_TEAM || sessionType == SessionTypeEnum.Team)) {
|
||||
|
||||
if(teamInfo!=null&&isManage>0){
|
||||
XKitRouter.withKey(getUserInfoRoutePath())
|
||||
.withContext(view.getContext())
|
||||
.withParam(
|
||||
"uid",
|
||||
messageBean.getMessageData().getMessage().getFromAccount())
|
||||
.withParam("userId", messageBean.getMessageData().getMessage().getFromAccount())
|
||||
.withParam("isGroup", (sessionType == SessionTypeEnum.Team || sessionType == SessionTypeEnum.SUPER_TEAM))
|
||||
.withParam("teamId", (sessionType == SessionTypeEnum.Team || sessionType == SessionTypeEnum.SUPER_TEAM) ? messageBean.getMessageData().getMessage().getSessionId() : "")
|
||||
.navigate();
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if (isAllowAd == 0 && teamInfo != null && !teamInfo.getCreator().equals(IMKitClient.account())
|
||||
&& !teamInfo.getCreator().equals(messageBean.getMessageData().getMessage().getFromAccount())) {
|
||||
|
||||
NIMClient.getService(TeamService.class).queryTeamMember(teamInfo.getId(),
|
||||
messageBean.getMessageData().getMessage().getFromAccount()).setCallback(new RequestCallback<TeamMember>() {
|
||||
@Override
|
||||
public void onSuccess(TeamMember members) {
|
||||
if (members != null) {
|
||||
if (members.getType() == TeamMemberType.Manager) {
|
||||
XKitRouter.withKey(getUserInfoRoutePath())
|
||||
.withContext(view.getContext())
|
||||
.withParam(
|
||||
"uid",
|
||||
messageBean.getMessageData().getMessage().getFromAccount())
|
||||
.withParam("userId", messageBean.getMessageData().getMessage().getFromAccount())
|
||||
.withParam("isGroup", (sessionType == SessionTypeEnum.Team || sessionType == SessionTypeEnum.SUPER_TEAM))
|
||||
.withParam("teamId", (sessionType == SessionTypeEnum.Team || sessionType == SessionTypeEnum.SUPER_TEAM) ? messageBean.getMessageData().getMessage().getSessionId() : "")
|
||||
.navigate();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@Override
|
||||
public void onFailed(int code) {
|
||||
// 撤销群管理员失败
|
||||
|
||||
@Override
|
||||
public void onFailed(int code) {
|
||||
// 撤销群管理员失败
|
||||
}
|
||||
|
||||
}
|
||||
@Override
|
||||
public void onException(Throwable exception) {
|
||||
// 错误
|
||||
}
|
||||
});
|
||||
|
||||
@Override
|
||||
public void onException(Throwable exception) {
|
||||
// 错误
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
XKitRouter.withKey(getUserInfoRoutePath())
|
||||
.withContext(view.getContext())
|
||||
@@ -2011,18 +2075,13 @@ public abstract class ChatBaseFragment extends BaseFragment {
|
||||
.withParam("isGroup", sessionType != SessionTypeEnum.P2P)
|
||||
.withParam("userId", businessShareBean.data.getAccout())
|
||||
.navigate();
|
||||
// XKitRouter.withKey(RouterConstant.PATH_USER_INFO_PAGE)
|
||||
// .withContext(getActivity())
|
||||
// .withParam(RouterConstant.KEY_ACCOUNT_ID_KEY, businessShareBean.data.getAccout())
|
||||
// .withParam("userId", businessShareBean.data.getAccout())
|
||||
// .navigate();
|
||||
}
|
||||
break;
|
||||
case ChatMessageType.CUSTOM_STICKER_TRANSFER_ACCOUNTS:
|
||||
TransferShareBean transferShareBean = GsonUtils.getObjFromJSON(name, TransferShareBean.class);
|
||||
if (transferShareBean != null) {
|
||||
Intent intent = new Intent();
|
||||
intent.setClassName(getActivity(), "com.dskj.rbchat.redpack.TransferInfoActivity");
|
||||
intent.setClassName(getActivity(), "com.hbl.lewan.redpack.TransferInfoActivity");
|
||||
//Long id, Integer status, Integer amount, Integer senderUid, Integer receiverUid, String sendTime, String receiveTime, String remark, Integer coinType
|
||||
TransferBean transferBean = new TransferBean(Long.parseLong(transferShareBean.data.getId()),
|
||||
Integer.parseInt(transferShareBean.data.getStatus()),
|
||||
@@ -2064,7 +2123,7 @@ public abstract class ChatBaseFragment extends BaseFragment {
|
||||
UserAlbumsShareBean albumsShareBean = GsonUtils.getObjFromJSON(name, UserAlbumsShareBean.class);
|
||||
if (albumsShareBean.data != null) {
|
||||
Intent intent = new Intent();
|
||||
intent.setClassName(getActivity(), "com.dskj.rbchat.main.mine.photo.UserPhotoDetailsActivity");
|
||||
intent.setClassName(getActivity(), "com.hbl.lewan.main.mine.photo.UserPhotoDetailsActivity");
|
||||
intent.putExtra("albumId", albumsShareBean.data.getAlbumId());
|
||||
intent.putExtra("userId", albumsShareBean.data.getUserId());
|
||||
startActivity(intent);
|
||||
@@ -2078,7 +2137,7 @@ public abstract class ChatBaseFragment extends BaseFragment {
|
||||
+ helpPayShareBean.data.getPayUid() + "&orderid=" + helpPayShareBean.data.getOrderId()
|
||||
+ "&payHeadImg=" + ContactRepo.getUserInfo(helpPayShareBean.data.getPayUid()).getAvatar());
|
||||
intent.putExtra("isGame", true);
|
||||
intent.setClassName(getActivity(), "com.dskj.rbchat.game.JsBridgeActivity");
|
||||
intent.setClassName(getActivity(), "com.hbl.lewan.game.JsBridgeActivity");
|
||||
startActivity(intent);
|
||||
}
|
||||
break;
|
||||
@@ -2087,7 +2146,7 @@ public abstract class ChatBaseFragment extends BaseFragment {
|
||||
if (inviteGroupBean.data != null) {
|
||||
Intent intent = new Intent();
|
||||
intent.putExtra("teamId", inviteGroupBean.data.getTeamId());
|
||||
intent.setClassName(getActivity(), "com.dskj.rbchat.imkit.team.TeamInvitedJoinActivity");
|
||||
intent.setClassName(getActivity(), "com.hbl.lewan.imkit.team.TeamInvitedJoinActivity");
|
||||
startActivity(intent);
|
||||
}
|
||||
break;
|
||||
@@ -2143,7 +2202,7 @@ public abstract class ChatBaseFragment extends BaseFragment {
|
||||
private void toTiaozhuan(RedpacketBean data, ChatMessageBean message) {
|
||||
if (data.getStatus() > 0 || ((data.getSenderUid() + "").equals(IMKitClient.account()))) {
|
||||
Intent intent = new Intent();
|
||||
intent.setClassName(getActivity(), "com.dskj.rbchat.redpack.ReceiveRedPacketActivity");
|
||||
intent.setClassName(getActivity(), "com.hbl.lewan.redpack.ReceiveRedPacketActivity");
|
||||
intent.putExtra("bean", data);
|
||||
intent.putExtra("isGroup", false);
|
||||
intent.putExtra("name", message.getMessageData().getMessage().getFromNick());
|
||||
@@ -2176,7 +2235,7 @@ public abstract class ChatBaseFragment extends BaseFragment {
|
||||
private void toTiaozhuanGroup(RedpacketGroupBean groupBean, ChatMessageBean message) {
|
||||
if (groupBean.getStatus() > 0) {
|
||||
Intent intent = new Intent();
|
||||
intent.setClassName(getActivity(), "com.dskj.rbchat.redpack.ReceiveRedPacketActivity");
|
||||
intent.setClassName(getActivity(), "com.hbl.lewan.redpack.ReceiveRedPacketActivity");
|
||||
intent.putExtra("bean", groupBean);
|
||||
intent.putExtra("isGroup", true);
|
||||
intent.putExtra("name", groupBean.getSenderNickname() + "");
|
||||
@@ -2190,7 +2249,7 @@ public abstract class ChatBaseFragment extends BaseFragment {
|
||||
if ((groupBean.getGrabbers().get(i).getGrabberUid() + "").equals(IMKitClient.account())) {
|
||||
isAt = true;
|
||||
Intent intent = new Intent();
|
||||
intent.setClassName(getActivity(), "com.dskj.rbchat.redpack.ReceiveRedPacketActivity");
|
||||
intent.setClassName(getActivity(), "com.hbl.lewan.redpack.ReceiveRedPacketActivity");
|
||||
intent.putExtra("bean", groupBean);
|
||||
intent.putExtra("isGroup", true);
|
||||
intent.putExtra("name", groupBean.getSenderNickname() + "");
|
||||
@@ -2359,8 +2418,28 @@ public abstract class ChatBaseFragment extends BaseFragment {
|
||||
&& chatConfig.popMenuClickListener != null
|
||||
&& chatConfig.popMenuClickListener.onCustom(view, messageInfo, action);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onJinYan(ChatMessageBean messageInfo) {
|
||||
toJinyan(messageInfo,true);
|
||||
return IChatPopMenuClickListener.super.onJinYan(messageInfo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onJieChuJinYan(ChatMessageBean messageInfo) {
|
||||
toJinyan(messageInfo,false);
|
||||
|
||||
return IChatPopMenuClickListener.super.onJieChuJinYan(messageInfo);
|
||||
}
|
||||
};
|
||||
|
||||
private void toJinyan(ChatMessageBean messageInfo, boolean isMute) {
|
||||
TeamService v2TeamService = NIMClient.getService(TeamService.class);
|
||||
|
||||
v2TeamService.muteTeamMember(sessionID, messageInfo.getMessageData().getFromUser().getAccount(),isMute);
|
||||
|
||||
}
|
||||
|
||||
private void showDeleteConfirmDialog(ChatMessageBean message) {
|
||||
CommonChoiceDialog dialog = new CommonChoiceDialog();
|
||||
dialog
|
||||
@@ -2580,7 +2659,33 @@ public abstract class ChatBaseFragment extends BaseFragment {
|
||||
protected void onReceiveMessage(FetchResult<List<ChatMessageBean>> listFetchResult) {
|
||||
ALog.d(
|
||||
LIB_TAG, LOG_TAG, "rec message observe newer load:" + (listFetchResult.getData() == null));
|
||||
chatView.appendMessageList(listFetchResult.getData());
|
||||
LinearLayoutManager layoutManager = (LinearLayoutManager) chatView.getMessageListView().getLayoutManager();
|
||||
int lastPosition = layoutManager.findLastCompletelyVisibleItemPosition();
|
||||
/**当我滑动到了上面 有新消息进来 不要顶上来 只有停留在顶部的时候才自动滑动到底部*/
|
||||
if (lastPosition==chatView.getMessageListView().getMessageAdapter().getMessageList().size()-1) {
|
||||
chatView.appendMessageList(listFetchResult.getData());
|
||||
}else{
|
||||
chatView.appendMessageList(listFetchResult.getData(),false);
|
||||
}
|
||||
|
||||
/**
|
||||
* 群聊禁言和解除禁言实时更新底部UI
|
||||
*/
|
||||
if(sessionType == SessionTypeEnum.Team||sessionType == SessionTypeEnum.SUPER_TEAM) {
|
||||
for (ChatMessageBean chatMessageBean : listFetchResult.getData()) {
|
||||
if (chatMessageBean.getMessageData().getMessage().getAttachment() instanceof NotificationAttachment) {
|
||||
NotificationAttachment attachment =
|
||||
(NotificationAttachment) chatMessageBean.getMessageData().getMessage().getAttachment();
|
||||
if(attachment.getType() == NotificationType.MuteTeamMember||attachment.getType() ==NotificationType.SUPER_TEAM_MUTE_TLIST){
|
||||
MuteMemberAttachment muteMemberAttachment = (MuteMemberAttachment) attachment;
|
||||
if(muteMemberAttachment.getTargets().contains(IMKitClient.account())){
|
||||
RxBus.getInstance().post(-99999);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void onSentMessage(FetchResult<ChatMessageBean> fetchResult) {
|
||||
|
||||
@@ -637,10 +637,10 @@ public abstract class ChatBaseViewModel extends BaseViewModel {
|
||||
if (message.isRevoked()) {
|
||||
continue;
|
||||
}
|
||||
if (message.getMessageData().getMessage().getMsgType() == MsgTypeEnum.audio) {
|
||||
hasError = true;
|
||||
continue;
|
||||
}
|
||||
// if (message.getMessageData().getMessage().getMsgType() == MsgTypeEnum.audio) {
|
||||
// hasError = true;
|
||||
// continue;
|
||||
// }
|
||||
for (String session : sessionInfo) {
|
||||
IMMessage forwardMessage =
|
||||
MessageBuilder.createForwardMessage(
|
||||
|
||||
@@ -17,8 +17,8 @@ import android.widget.FrameLayout;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
|
||||
import com.ethanhua.skeleton.Skeleton;
|
||||
import com.ethanhua.skeleton.SkeletonScreen;
|
||||
//import com.ethanhua.skeleton.Skeleton;
|
||||
//import com.ethanhua.skeleton.SkeletonScreen;
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialog;
|
||||
import com.netease.yunxin.kit.chatkit.model.UserInfoWithTeam;
|
||||
import com.netease.yunxin.kit.chatkit.ui.R;
|
||||
@@ -44,7 +44,7 @@ public class AitContactSelectorDialog extends BottomSheetDialog {
|
||||
//展示风格,0:办公风格 1:新版本
|
||||
private int uiStyle = 0;
|
||||
private boolean teamManager;
|
||||
private SkeletonScreen skeletonScreen;
|
||||
// private SkeletonScreen skeletonScreen;
|
||||
|
||||
public AitContactSelectorDialog(@NonNull Context context) {
|
||||
this(context, R.style.TransBottomSheetTheme);
|
||||
@@ -70,16 +70,16 @@ public class AitContactSelectorDialog extends BottomSheetDialog {
|
||||
}
|
||||
|
||||
private void initShowSkeleton() {
|
||||
skeletonScreen = Skeleton.bind(binding.contactList)
|
||||
.adapter(adapter)
|
||||
.load(R.layout.discover_aitchild_item)
|
||||
.shimmer(false) // whether show shimmer animation. default is true
|
||||
.count(10) // the recycler view item count. default is 10
|
||||
// .color(R.color.color_e3e4e4) // the shimmer color. default is #a2878787
|
||||
// .angle(20) // the shimmer angle. default is 20;
|
||||
// .duration(1500) // the shimmer animation duration. default is 1000;
|
||||
// .frozen(false)
|
||||
.show();
|
||||
// skeletonScreen = Skeleton.bind(binding.contactList)
|
||||
// .adapter(adapter)
|
||||
// .load(R.layout.discover_aitchild_item)
|
||||
// .shimmer(false) // whether show shimmer animation. default is true
|
||||
// .count(10) // the recycler view item count. default is 10
|
||||
//// .color(R.color.color_e3e4e4) // the shimmer color. default is #a2878787
|
||||
//// .angle(20) // the shimmer angle. default is 20;
|
||||
//// .duration(1500) // the shimmer animation duration. default is 1000;
|
||||
//// .frozen(false)
|
||||
// .show();
|
||||
}
|
||||
|
||||
private void initViews() {
|
||||
@@ -188,9 +188,9 @@ public class AitContactSelectorDialog extends BottomSheetDialog {
|
||||
|
||||
public void setData(List<UserInfoWithTeam> data, boolean refresh) {
|
||||
adapter.setMembers(data);
|
||||
if (skeletonScreen != null) {
|
||||
skeletonScreen.hide();
|
||||
}
|
||||
// if (skeletonScreen != null) {
|
||||
// skeletonScreen.hide();
|
||||
// }
|
||||
listmemebers.clear();
|
||||
listmemebers.addAll(data);
|
||||
if (refresh) {
|
||||
|
||||
@@ -88,7 +88,6 @@ public class EmojiFragment extends BaseFragment {
|
||||
private void initList() {
|
||||
if(type==3){
|
||||
linearLayoutManager = new GridLayoutManager(getActivity(), 4);
|
||||
|
||||
}else {
|
||||
linearLayoutManager = new GridLayoutManager(getActivity(), 7);
|
||||
}
|
||||
@@ -217,31 +216,33 @@ public class EmojiFragment extends BaseFragment {
|
||||
String fileName = xmlParser.getAttributeValue(0);
|
||||
String tag = xmlParser.getAttributeValue(2);
|
||||
EmojiPickerView.Entry entry = new EmojiPickerView.Entry(tag, EMOJI_DIR + catalog + "/" + fileName);
|
||||
if (index == 1) {
|
||||
if (fileName.startsWith("taotao_"))
|
||||
// if (index == 1) {
|
||||
// if (fileName.startsWith("taotao_"))
|
||||
// text2entry.put(entry.text, entry);
|
||||
// if (catalog.equals("taotao")) {
|
||||
// defaultEntries.add(entry);
|
||||
// }
|
||||
// } else if (index == 2) {
|
||||
// if (fileName.startsWith("lele_"))
|
||||
// text2entry.put(entry.text, entry);
|
||||
// if (catalog.equals("lele")) {
|
||||
// defaultEntries.add(entry);
|
||||
// }
|
||||
// } else
|
||||
if (index == 0) {
|
||||
if (fileName.startsWith("emoji_"))
|
||||
text2entry.put(entry.text, entry);
|
||||
if (catalog.equals("taotao")) {
|
||||
defaultEntries.add(entry);
|
||||
}
|
||||
} else if (index == 2) {
|
||||
if (fileName.startsWith("lele_"))
|
||||
text2entry.put(entry.text, entry);
|
||||
if (catalog.equals("lele")) {
|
||||
defaultEntries.add(entry);
|
||||
}
|
||||
} else if (index == 0) {
|
||||
if (fileName.startsWith("tingting_"))
|
||||
text2entry.put(entry.text, entry);
|
||||
if (catalog.equals("tingting")) {
|
||||
defaultEntries.add(entry);
|
||||
}
|
||||
} else if (index == 3) {
|
||||
if (fileName.startsWith("tlt_"))
|
||||
text2entry.put(entry.text, entry);
|
||||
if (catalog.equals("tlt")) {
|
||||
if (catalog.equals("default")) {
|
||||
defaultEntries.add(entry);
|
||||
}
|
||||
}
|
||||
// else if (index == 3) {
|
||||
// if (fileName.startsWith("tlt_"))
|
||||
// text2entry.put(entry.text, entry);
|
||||
// if (catalog.equals("tlt")) {
|
||||
// defaultEntries.add(entry);
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -132,27 +132,27 @@ public class EmojiPickerView extends LinearLayout implements IEmojiCategoryChang
|
||||
show();
|
||||
}
|
||||
EmojiFragment fragmentTingTing;
|
||||
EmojiFragment fragmentTaoTao;
|
||||
EmojiFragment fragmentLeLe;
|
||||
EmojiFragment fragmentGif;
|
||||
// EmojiFragment fragmentTaoTao;
|
||||
// EmojiFragment fragmentLeLe;
|
||||
// EmojiFragment fragmentGif;
|
||||
|
||||
private void initViewPager() {
|
||||
listFragment = new ArrayList<>();
|
||||
listFragment.add(fragmentTingTing = EmojiFragment.newInstance(0));
|
||||
listFragment.add(fragmentTaoTao = EmojiFragment.newInstance(1));
|
||||
listFragment.add(fragmentLeLe = EmojiFragment.newInstance(2));
|
||||
listFragment.add(fragmentGif = EmojiFragment.newInstance(3));
|
||||
// listFragment.add(fragmentTaoTao = EmojiFragment.newInstance(1));
|
||||
// listFragment.add(fragmentLeLe = EmojiFragment.newInstance(2));
|
||||
// listFragment.add(fragmentGif = EmojiFragment.newInstance(3));
|
||||
titles = new ArrayList<>();
|
||||
titles.add("tingting");
|
||||
titles.add("taotao");
|
||||
titles.add("lele");
|
||||
titles.add("gif");
|
||||
titles.add("default");
|
||||
// titles.add("taotao");
|
||||
// titles.add("lele");
|
||||
// titles.add("gif");
|
||||
CommunityAdapter adapter = new CommunityAdapter((FragmentActivity) getContext(), titles, listFragment);
|
||||
viewBinding.viewPager.setAdapter(adapter);
|
||||
fragmentTingTing.setIEmojiSelectedListener(listener);
|
||||
fragmentTaoTao.setIEmojiSelectedListener(listener);
|
||||
fragmentLeLe.setIEmojiSelectedListener(listener);
|
||||
fragmentGif.setIEmojiSelectedListener(listener);
|
||||
// fragmentTaoTao.setIEmojiSelectedListener(listener);
|
||||
// fragmentLeLe.setIEmojiSelectedListener(listener);
|
||||
// fragmentGif.setIEmojiSelectedListener(listener);
|
||||
|
||||
}
|
||||
|
||||
@@ -225,18 +225,18 @@ public class EmojiPickerView extends LinearLayout implements IEmojiCategoryChang
|
||||
//
|
||||
// btn.setCheckedImageId(R.drawable.ic_emoji);
|
||||
CheckedImageButton btn3= addEmojiIconTabBtn(index++, tabCheckListener);
|
||||
btn3.setNormalImageId(R.drawable.tingting_img);
|
||||
btn3.setCheckedImageId(R.drawable.tingting_img);
|
||||
btn3.setNormalImageId(R.drawable.ic_emoji);
|
||||
btn3.setCheckedImageId(R.drawable.ic_emoji);
|
||||
|
||||
// // taotao
|
||||
CheckedImageButton btn = addEmojiIconTabBtn(index++, tabCheckListener);
|
||||
btn.setNormalImageId(R.drawable.taotao_img);
|
||||
btn.setCheckedImageId(R.drawable.taotao_img);
|
||||
// CheckedImageButton btn = addEmojiIconTabBtn(index++, tabCheckListener);
|
||||
// btn.setNormalImageId(R.drawable.taotao_img);
|
||||
// btn.setCheckedImageId(R.drawable.taotao_img);
|
||||
//
|
||||
// // lele
|
||||
CheckedImageButton btn2 = addEmojiIconTabBtn(index++, tabCheckListener);
|
||||
btn2.setNormalImageId(R.drawable.lele_img);
|
||||
btn2.setCheckedImageId(R.drawable.lele_img);
|
||||
// CheckedImageButton btn2 = addEmojiIconTabBtn(index++, tabCheckListener);
|
||||
// btn2.setNormalImageId(R.drawable.lele_img);
|
||||
// btn2.setCheckedImageId(R.drawable.lele_img);
|
||||
//
|
||||
// // tingting
|
||||
|
||||
@@ -244,9 +244,9 @@ public class EmojiPickerView extends LinearLayout implements IEmojiCategoryChang
|
||||
|
||||
//
|
||||
// // tingting
|
||||
CheckedImageButton btn4= addEmojiIconTabBtn(index++, tabCheckListener);
|
||||
btn4.setNormalImageId(R.drawable.gif_img);
|
||||
btn4.setCheckedImageId(R.drawable.gif_img);
|
||||
// CheckedImageButton btn4= addEmojiIconTabBtn(index++, tabCheckListener);
|
||||
// btn4.setNormalImageId(R.drawable.gif_img);
|
||||
// btn4.setCheckedImageId(R.drawable.gif_img);
|
||||
|
||||
//tlt
|
||||
// if (withSticker) {
|
||||
@@ -368,31 +368,33 @@ public class EmojiPickerView extends LinearLayout implements IEmojiCategoryChang
|
||||
// defaultEntries.add(entry);
|
||||
// }
|
||||
// }else
|
||||
if(index == 1){
|
||||
if (fileName.startsWith("taotao_"))
|
||||
// if(index == 1){
|
||||
// if (fileName.startsWith("taotao_"))
|
||||
// text2entry.put(entry.text, entry);
|
||||
// if (catalog.equals("taotao")) {
|
||||
// defaultEntries.add(entry);
|
||||
// }
|
||||
// }else if(index == 2){
|
||||
// if (fileName.startsWith("lele_"))
|
||||
// text2entry.put(entry.text, entry);
|
||||
// if (catalog.equals("lele")) {
|
||||
// defaultEntries.add(entry);
|
||||
// }
|
||||
// }else
|
||||
if(index == 0){
|
||||
if (fileName.startsWith("emoji_"))
|
||||
text2entry.put(entry.text, entry);
|
||||
if (catalog.equals("taotao")) {
|
||||
defaultEntries.add(entry);
|
||||
}
|
||||
}else if(index == 2){
|
||||
if (fileName.startsWith("lele_"))
|
||||
text2entry.put(entry.text, entry);
|
||||
if (catalog.equals("lele")) {
|
||||
defaultEntries.add(entry);
|
||||
}
|
||||
}else if(index == 0){
|
||||
if (fileName.startsWith("tingting_"))
|
||||
text2entry.put(entry.text, entry);
|
||||
if (catalog.equals("tingting")) {
|
||||
defaultEntries.add(entry);
|
||||
}
|
||||
}else if(index == 3){
|
||||
if (fileName.startsWith("tlt_"))
|
||||
text2entry.put(entry.text, entry);
|
||||
if (catalog.equals("tlt")) {
|
||||
if (catalog.equals("default")) {
|
||||
defaultEntries.add(entry);
|
||||
}
|
||||
}
|
||||
// else if(index == 3){
|
||||
// if (fileName.startsWith("tlt_"))
|
||||
// text2entry.put(entry.text, entry);
|
||||
// if (catalog.equals("tlt")) {
|
||||
// defaultEntries.add(entry);
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -46,6 +46,10 @@ public class ActionConstants {
|
||||
public static final String POP_ACTION_PIN = "POP_ACTION_PIN";
|
||||
//消息长按菜单-多选
|
||||
public static final String POP_ACTION_MULTI_SELECT = "POP_ACTION_MULTI_SELECT";
|
||||
|
||||
public static final String POP_ACTION_JINYAN_SELECT = "POP_ACTION_JINYAN_SELECT";
|
||||
|
||||
|
||||
//消息长按菜单-收藏
|
||||
public static final String POP_ACTION_COLLECTION = "POP_ACTION_COLLECTION";
|
||||
//消息长按菜单-删除
|
||||
|
||||
@@ -146,7 +146,7 @@ public class SimpleVideoPlayer extends ConstraintLayout {
|
||||
return;
|
||||
}
|
||||
VideoAttachment videoAttachment = (VideoAttachment) message.getAttachment();
|
||||
videoFilePath = videoAttachment.getPath(); ///storage/emulated/0/Android/data/com.dskj.rbchat/cache/video/e31b3802d23e3cb191875303f48ee576
|
||||
videoFilePath = videoAttachment.getPath(); ///storage/emulated/0/Android/data/com.hbl.lewan/cache/video/e31b3802d23e3cb191875303f48ee576
|
||||
if (TextUtils.isEmpty(videoFilePath)) {
|
||||
videoFilePath = videoAttachment.getThumbPath();
|
||||
}
|
||||
|
||||
@@ -50,7 +50,9 @@ public class ChatPopMenu {
|
||||
private ChatPopMenuLayoutBinding layoutBinding;
|
||||
private final MenuAdapter adapter;
|
||||
private final List<ChatPopMenuAction> chatPopMenuActionList = new ArrayList<>();
|
||||
|
||||
int isManageNumber = 0;
|
||||
int otherIsManageNumber = 0;
|
||||
boolean isMute;
|
||||
public ChatPopMenu() {
|
||||
layoutBinding =
|
||||
ChatPopMenuLayoutBinding.inflate(LayoutInflater.from(IMKitClient.getApplicationContext()));
|
||||
@@ -70,7 +72,10 @@ public class ChatPopMenu {
|
||||
popupWindow.setOutsideTouchable(true);
|
||||
}
|
||||
|
||||
public void show(View anchorView, ChatMessageBean message, int minY) {
|
||||
public void show(View anchorView, ChatMessageBean message, int minY,int isManage,int otherIsManage,boolean isMute) {
|
||||
isManageNumber = isManage;
|
||||
otherIsManageNumber = otherIsManage;
|
||||
this.isMute = isMute;
|
||||
ALog.d(LIB_TAG, TAG, "show");
|
||||
adapter.setMessageInfo(message);
|
||||
initDefaultAction(message);
|
||||
@@ -127,7 +132,7 @@ public class ChatPopMenu {
|
||||
@SuppressLint("NotifyDataSetChanged")
|
||||
private void initDefaultAction(ChatMessageBean message) {
|
||||
chatPopMenuActionList.clear();
|
||||
chatPopMenuActionList.addAll(ChatPopActionFactory.getInstance().getNormalActions(message));
|
||||
chatPopMenuActionList.addAll(ChatPopActionFactory.getInstance().getNormalActions(message,isManageNumber,otherIsManageNumber,isMute));
|
||||
adapter.notifyDataSetChanged();
|
||||
}
|
||||
|
||||
|
||||
@@ -29,6 +29,12 @@ public interface IChatPopMenuClickListener {
|
||||
return false;
|
||||
}
|
||||
|
||||
default boolean onJinYan(ChatMessageBean messageInfo) {
|
||||
return false;
|
||||
}
|
||||
default boolean onJieChuJinYan(ChatMessageBean messageInfo) {
|
||||
return false;
|
||||
}
|
||||
default boolean onCollection(ChatMessageBean messageInfo) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ Copyright (c) 2022 NetEase, Inc. All rights reserved.
|
||||
~ Use of this source code is governed by a MIT license that can be
|
||||
~ found in the LICENSE file.
|
||||
-->
|
||||
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/messageText"
|
||||
android:layout_width="wrap_content"
|
||||
android:gravity="center"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="@dimen/text_size_16"
|
||||
android:visibility="gone"
|
||||
android:textColor="@color/color_383838"
|
||||
tools:text="@tools:sample/lorem" />
|
||||
</FrameLayout>
|
||||
@@ -70,7 +70,7 @@
|
||||
android:textSize="12dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/cav_icon"
|
||||
app:layout_goneMarginEnd="@dimen/dimen_20_dp"
|
||||
|
||||
tools:ignore="MissingConstraints,SpUsage"/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~ Copyright (c) 2022 NetEase, Inc. All rights reserved.
|
||||
~ Use of this source code is governed by a MIT license that can be
|
||||
~ found in the LICENSE file.
|
||||
-->
|
||||
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/messageText"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="@dimen/text_size_14"
|
||||
android:textColor="@color/color_333333"
|
||||
android:ellipsize="end"
|
||||
tools:text="@tools:sample/lorem" />
|
||||
|
||||
|
||||
|
||||
</FrameLayout>
|
||||
@@ -14,7 +14,7 @@
|
||||
android:id="@+id/messageTipText"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="@dimen/text_size_16"
|
||||
android:textSize="@dimen/text_size_12"
|
||||
android:textColor="@color/color_333333"
|
||||
tools:text="@tools:sample/lorem" />
|
||||
|
||||
|
||||
BIN
chatkit-ui/src/main/res/drawable-xxhdpi/jinyan_img.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
chatkit-ui/src/main/res/drawable-xxhdpi/jinyan_img1.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
@@ -79,7 +79,6 @@
|
||||
android:layout_height="@dimen/dimen_40_dp"
|
||||
app:layout_constraintStart_toEndOf="@id/chatMsgSelectLayout"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_goneMarginStart="0dp"
|
||||
android:layout_marginStart="@dimen/dimen_10_dp"/>
|
||||
|
||||
<com.netease.yunxin.kit.common.ui.widgets.ContactAvatarView
|
||||
@@ -146,12 +145,11 @@
|
||||
android:id="@+id/messageTopGroup"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintEnd_toStartOf="@+id/myAvatar"
|
||||
app:layout_constraintStart_toEndOf="@id/otherUserAvatar"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/nameBarrier"
|
||||
app:layout_constraintWidth_default="wrap"
|
||||
app:layout_goneMarginEnd="@dimen/dimen_42_dp"
|
||||
app:layout_goneMarginStart="@dimen/dimen_42_dp" />
|
||||
/>
|
||||
|
||||
<com.netease.yunxin.kit.common.ui.widgets.LongClickableFrameLayout
|
||||
android:id="@+id/messageContainer"
|
||||
@@ -164,9 +162,7 @@
|
||||
app:layout_constraintTop_toBottomOf="@id/nameBarrier"
|
||||
app:layout_constraintWidth_default="wrap"
|
||||
app:layout_constraintWidth_max="220dp"
|
||||
app:layout_goneMarginEnd="@dimen/dimen_10_dp"
|
||||
app:layout_goneMarginStart="@dimen/dimen_10_dp"
|
||||
app:layout_goneMarginTop="0dp" />
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_reply_findmessage"
|
||||
@@ -194,8 +190,7 @@
|
||||
app:layout_constraintStart_toEndOf="@id/otherUserAvatar"
|
||||
app:layout_constraintTop_toBottomOf="@id/messageContainer"
|
||||
app:layout_constraintWidth_default="wrap"
|
||||
app:layout_goneMarginEnd="@dimen/dimen_10_dp"
|
||||
app:layout_goneMarginStart="@dimen/dimen_10_dp" />
|
||||
/>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/llSignal"
|
||||
@@ -208,8 +203,7 @@
|
||||
app:layout_constraintEnd_toStartOf="@id/myAvatar"
|
||||
app:layout_constraintStart_toEndOf="@id/otherUserAvatar"
|
||||
app:layout_constraintTop_toBottomOf="@id/messageBottomGroup"
|
||||
app:layout_goneMarginEnd="@dimen/dimen_45_dp"
|
||||
app:layout_goneMarginStart="@dimen/dimen_45_dp">
|
||||
>
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
|
||||
@@ -263,12 +263,18 @@
|
||||
<string name="fachudehongbao_txt">Red envelope sent by %s</string>
|
||||
<string name="manle_end_txt">I\'m too slow, the red envelopes are gone</string>
|
||||
<string name="redexpired_txt">Red envelopes cannot be collected if they are over 24 hours old</string>
|
||||
<string name="s_font_color_fc605c_font_txt"><![CDATA[%s received your <font color = \'#FC605C\'>Cash red envelope</font>]]></string>
|
||||
<string name="s_font_color_fc605c_font_txt1"><![CDATA[You received %s <font color = \'#FC605C\'>Cash red envelope</font>]]></string>
|
||||
<string name="s_font_color_629cff_font_txt"><![CDATA[%s received your <font color = \'#629CFF\'>Gift Points Red Envelope</font>]]></string>
|
||||
<string name="s_font_color_629cff_font_txt1"><![CDATA[You received %s <font color = \'#629CFF\'>Gift Points Red Envelope</font>]]></string>
|
||||
<string name="s_font_color_gift_font_txt"><![CDATA[%s received your <font color = \'#FC605C\'>Gift Money Red Envelope</font>]]></string>
|
||||
<string name="s_font_color_gift_font_txt1"><![CDATA[You received %s <font color = \'#FC605C\'>Gift Money Red Envelope</font>]]></string>
|
||||
<string name="s_font_color_fc605c_font_txt"><![CDATA[%s received your Cash red envelope]]></string>
|
||||
<string name="s_font_color_fc605c_font_txt1"><![CDATA[You received %s Cash red envelope]]></string>
|
||||
<string name="s_font_color_fc605c_font_txt2"><![CDATA[%s received %s Cash red envelope]]></string>
|
||||
|
||||
<string name="s_font_color_629cff_font_txt"><![CDATA[%s received your Gift Points Red Envelope]]></string>
|
||||
<string name="s_font_color_629cff_font_txt1"><![CDATA[You received %s Gift Points Red Envelope]]></string>
|
||||
<string name="s_font_color_629cff_font_txt2"><![CDATA[%s received %s Gift Points Red Envelope]]></string>
|
||||
|
||||
<string name="s_font_color_gift_font_txt"><![CDATA[%s received your Gift Money Red Envelope]]></string>
|
||||
<string name="s_font_color_gift_font_txt1"><![CDATA[You received %s Gift Money Red Envelope]]></string>
|
||||
<string name="s_font_color_gift_font_txt2"><![CDATA[%s received %s Gift Money Red Envelope]]></string>
|
||||
|
||||
<string name="ni_txt">You</string>
|
||||
<string name="hbylw_txt">, the red envelope has been collected</string>
|
||||
<string name="bind_phone_des_txt">Please bind your mobile phone number first</string>
|
||||
@@ -325,5 +331,6 @@
|
||||
<string name="push_content_audio">Received an audio</string>
|
||||
<string name="chat_message_forward_to1">Forward to %s and other %d people</string>
|
||||
<string name="chat_message_forward_to2">Forward to %s and other %d group</string>
|
||||
<string name="ninyibeijinyan_txt">您已被禁言</string>
|
||||
|
||||
</resources>
|
||||
@@ -264,12 +264,18 @@
|
||||
<string name="fachudehongbao_txt">%s から赤い封筒が送られてきました</string>
|
||||
<string name="manle_end_txt">遅すぎる、赤い封筒がなくなってしまった</string>
|
||||
<string name="redexpired_txt">赤い封筒は24時間以上経過したものは回収できません</string>
|
||||
<string name="s_font_color_fc605c_font_txt"><![CDATA[%s が<font color = \'#FC605C\'>Cash赤い封筒</font>を受け取りました]]></string>
|
||||
<string name="s_font_color_fc605c_font_txt1"><![CDATA[あなたは %s の<font color = \'#FC605C\'>Cash赤い封筒</font>を受け取りました]]></string>
|
||||
<string name="s_font_color_629cff_font_txt"><![CDATA[%s が<font color = \'#629CFF\'>ギフトポイントの赤い封筒</font>を受け取りました]]></string>
|
||||
<string name="s_font_color_629cff_font_txt1"><![CDATA[あなたは %s の<font color = \'#629CFF\'>銀貨の赤い封筒</font>を受け取りました]]></string>
|
||||
<string name="s_font_color_gift_font_txt"><![CDATA[%s が<font color = \'#FC605C\'>お祝いのお金入り封筒</font>]]></string>
|
||||
<string name="s_font_color_gift_font_txt1"><![CDATA[あなたは %s の<font color = \'#FC605C\'>お祝いのお金入り封筒</font>]]></string>
|
||||
<string name="s_font_color_fc605c_font_txt"><![CDATA[%s がCash赤い封筒を受け取りました]]></string>
|
||||
<string name="s_font_color_fc605c_font_txt1"><![CDATA[あなたは %s のCash赤い封筒を受け取りました]]></string>
|
||||
<string name="s_font_color_fc605c_font_txt2"><![CDATA[%sなたは %s のCash赤い封筒を受け取りました]]></string>
|
||||
|
||||
<string name="s_font_color_629cff_font_txt"><![CDATA[%s がギフトポイントの赤い封筒を受け取りました]]></string>
|
||||
<string name="s_font_color_629cff_font_txt1"><![CDATA[あなたは %s の銀貨の赤い封筒を受け取りました]]></string>
|
||||
<string name="s_font_color_629cff_font_txt2"><![CDATA[%sなたは %s の銀貨の赤い封筒を受け取りました]]></string>
|
||||
|
||||
<string name="s_font_color_gift_font_txt"><![CDATA[%s がお祝いのお金入り封筒]]></string>
|
||||
<string name="s_font_color_gift_font_txt1"><![CDATA[あなたは %s のお祝いのお金入り封筒]]></string>
|
||||
<string name="s_font_color_gift_font_txt2"><![CDATA[%sなたは %s のお祝いのお金入り封筒]]></string>
|
||||
|
||||
<string name="ni_txt">あなた</string>
|
||||
<string name="hbylw_txt">、赤い封筒は回収されました</string>
|
||||
<string name="bind_phone_des_txt">最初に携帯電話番号をバインドしてください</string>
|
||||
@@ -326,5 +332,6 @@
|
||||
<string name="push_content_audio">音声が届きました</string>
|
||||
<string name="chat_message_forward_to1">轉發給:%s等%d人</string>
|
||||
<string name="chat_message_forward_to2">轉發給:%s等%d群</string>
|
||||
<string name="ninyibeijinyan_txt">您已被禁言</string>
|
||||
|
||||
</resources>
|
||||
@@ -263,12 +263,18 @@
|
||||
<string name="fachudehongbao_txt">%s 发出的红包</string>
|
||||
<string name="manle_end_txt">手慢了,红包抢完啦</string>
|
||||
<string name="redexpired_txt">红包超过24小时,无法领取</string>
|
||||
<string name="s_font_color_fc605c_font_txt"><![CDATA[%s领取了你的<font color = \'#FC605C\'>Cash红包</font>]]></string>
|
||||
<string name="s_font_color_fc605c_font_txt1"><![CDATA[你领取了%s的<font color = \'#FC605C\'>Cash红包</font>]]></string>
|
||||
<string name="s_font_color_629cff_font_txt"><![CDATA[%s领取了你的<font color = \'#629CFF\'>礼品积分红包</font>]]></string>
|
||||
<string name="s_font_color_629cff_font_txt1"><![CDATA[你领取了%s的<font color = \'#629CFF\'>礼品积分红包</font>]]></string>
|
||||
<string name="s_font_color_gift_font_txt"><![CDATA[%s领取了你的<font color = \'#FC605C\'>礼金红包</font>]]></string>
|
||||
<string name="s_font_color_gift_font_txt1"><![CDATA[你领取了%s的<font color = \'#FC605C\'>礼金红包</font>]]></string>
|
||||
<string name="s_font_color_fc605c_font_txt"><![CDATA[%s领取了你的Cash红包]]></string>
|
||||
<string name="s_font_color_fc605c_font_txt1"><![CDATA[你领取了%s的Cash红包]]></string>
|
||||
<string name="s_font_color_fc605c_font_txt2"><![CDATA[%s领取了%s的Cash红包]]></string>
|
||||
|
||||
<string name="s_font_color_629cff_font_txt"><![CDATA[%s领取了你的礼品积分红包]]></string>
|
||||
<string name="s_font_color_629cff_font_txt1"><![CDATA[你领取了%s的礼品积分红包]]></string>
|
||||
<string name="s_font_color_629cff_font_txt2"><![CDATA[%s领取了%s的礼品积分红包]]></string>
|
||||
|
||||
<string name="s_font_color_gift_font_txt"><![CDATA[%s领取了你的礼金红包]]></string>
|
||||
<string name="s_font_color_gift_font_txt1"><![CDATA[你领取了%s的礼金红包]]></string>
|
||||
<string name="s_font_color_gift_font_txt2"><![CDATA[%s领取了%s的礼金红包]]></string>
|
||||
|
||||
<string name="ni_txt">你</string>
|
||||
<string name="hbylw_txt">,红包已领完</string>
|
||||
<string name="bind_phone_des_txt">请先绑定手机号</string>
|
||||
@@ -326,5 +332,6 @@
|
||||
<string name="push_content_audio">发来了一段语音</string>
|
||||
<string name="chat_message_forward_to1">转发给:%s等%d人</string>
|
||||
<string name="chat_message_forward_to2">转发给:%s等%d群</string>
|
||||
<string name="ninyibeijinyan_txt">您已被禁言</string>
|
||||
|
||||
</resources>
|
||||
@@ -263,12 +263,18 @@
|
||||
<string name="fachudehongbao_txt">%s 發出的紅包</string>
|
||||
<string name="manle_end_txt">手慢了,紅包搶完啦</string>
|
||||
<string name="redexpired_txt">紅包超過24小時,無法領取</string>
|
||||
<string name="s_font_color_fc605c_font_txt"><![CDATA[%s領取了你的<font color = \'#FC605C\'>Cash紅包</font>]]></string>
|
||||
<string name="s_font_color_fc605c_font_txt1"><![CDATA[你領取%s的<font color = \'#FC605C\'>Cash紅包</font>]]></string>
|
||||
<string name="s_font_color_629cff_font_txt"><![CDATA[%s領取了你的<font color = \'#629CFF\'>禮品積分紅包</font>]]></string>
|
||||
<string name="s_font_color_629cff_font_txt1"><![CDATA[你領取了%s的<font color = \'#629CFF\'>禮品積分紅包</font>]]></string>
|
||||
<string name="s_font_color_gift_font_txt"><![CDATA[%s領取了你的<font color = \'#FC605C\'>禮金紅包</font>]]></string>
|
||||
<string name="s_font_color_gift_font_txt1"><![CDATA[你領取%s的<font color = \'#FC605C\'>禮金紅包</font>]]></string>
|
||||
<string name="s_font_color_fc605c_font_txt"><![CDATA[%s領取了你的Cash紅包]]></string>
|
||||
<string name="s_font_color_fc605c_font_txt1"><![CDATA[你領取%s的Cash紅包]]></string>
|
||||
<string name="s_font_color_fc605c_font_txt2"><![CDATA[%s領取%s的Cash紅包]]></string>
|
||||
|
||||
<string name="s_font_color_629cff_font_txt"><![CDATA[%s領取了你的禮品積分紅包]]></string>
|
||||
<string name="s_font_color_629cff_font_txt1"><![CDATA[你領取了%s的禮品積分紅包]]></string>
|
||||
<string name="s_font_color_629cff_font_txt2"><![CDATA[%s領取了%s的禮品積分紅包]]></string>
|
||||
|
||||
<string name="s_font_color_gift_font_txt"><![CDATA[%s領取了你的禮金紅包]]></string>
|
||||
<string name="s_font_color_gift_font_txt1"><![CDATA[你領取%s的禮金紅包]]></string>
|
||||
<string name="s_font_color_gift_font_txt2"><![CDATA[%s領取%s的禮金紅包]]></string>
|
||||
|
||||
<string name="ni_txt">你</string>
|
||||
<string name="hbylw_txt">,紅包已领完</string>
|
||||
<string name="bind_phone_des_txt">請先綁定手機號碼</string>
|
||||
@@ -325,4 +331,5 @@
|
||||
<string name="push_content_audio">發來了一段語音</string>
|
||||
<string name="chat_message_forward_to1">轉發給:%s等%d人</string>
|
||||
<string name="chat_message_forward_to2">轉發給:%s等%d群</string>
|
||||
<string name="ninyibeijinyan_txt">您已被禁言</string>
|
||||
</resources>
|
||||
@@ -78,177 +78,177 @@
|
||||
<Emoticon File="emoji_68.png" ID="emoticon_emoji_68" Tag="[便便]" />
|
||||
</Catalog>
|
||||
|
||||
<Catalog Title="tingting">
|
||||
<Emoticon File="tingting_00.png" ID="emoticon_tingting_00" Tag="[町町安靜]" />
|
||||
<Emoticon File="tingting_01.png" ID="emoticon_emoji_01" Tag="[町町無辜]" />
|
||||
<Emoticon File="tingting_02.png" ID="emoticon_tingting_02" Tag="[町町白眼]" />
|
||||
<Emoticon File="tingting_03.png" ID="emoticon_tingting_03" Tag="[町町生氣]" />
|
||||
<Emoticon File="tingting_04.png" ID="emoticon_tingting_04" Tag="[町町再見]" />
|
||||
<Emoticon File="tingting_05.png" ID="emoticon_tingting_05" Tag="[町町閉嘴]" />
|
||||
<Emoticon File="tingting_06.png" ID="emoticon_tingting_06" Tag="[町町犯困]" />
|
||||
<Emoticon File="tingting_07.png" ID="emoticon_tingting_07" Tag="[町町尷尬]" />
|
||||
<Emoticon File="tingting_08.png" ID="emoticon_tingting_08" Tag="[町町感動]" />
|
||||
<Emoticon File="tingting_09.png" ID="emoticon_tingting_09" Tag="[町町鼓掌]" />
|
||||
<Emoticon File="tingting_10.png" ID="emoticon_tingting_10" Tag="[町町害羞]" />
|
||||
<Emoticon File="tingting_11.png" ID="emoticon_tingting_11" Tag="[町町好色]" />
|
||||
<Emoticon File="tingting_12.png" ID="emoticon_tingting_12" Tag="[町町黑臉]" />
|
||||
<Emoticon File="tingting_13.png" ID="emoticon_tingting_13" Tag="[町町急怒]" />
|
||||
<Emoticon File="tingting_14.png" ID="emoticon_tingting_14" Tag="[町町驚慌]" />
|
||||
<Emoticon File="tingting_15.png" ID="emoticon_tingting_15" Tag="[町町驚訝]" />
|
||||
<Emoticon File="tingting_16.png" ID="emoticon_tingting_16" Tag="[町町沮喪]" />
|
||||
<Emoticon File="tingting_17.png" ID="emoticon_tingting_17" Tag="[町町開心]" />
|
||||
<Emoticon File="tingting_18.png" ID="emoticon_tingting_18" Tag="[町町瞌睡]" />
|
||||
<Emoticon File="tingting_19.png" ID="emoticon_tingting_19" Tag="[町町摳鼻]" />
|
||||
<Emoticon File="tingting_20.png" ID="emoticon_tingting_20" Tag="[町町哭泣]" />
|
||||
<Emoticon File="tingting_21.png" ID="emoticon_tingting_21" Tag="[町町苦臉]" />
|
||||
<Emoticon File="tingting_22.png" ID="emoticon_tingting_22" Tag="[町町酷]" />
|
||||
<Emoticon File="tingting_23.png" ID="emoticon_tingting_23" Tag="[町町 酷]" />
|
||||
<Emoticon File="tingting_24.png" ID="emoticon_tingting_24" Tag="[町町狂躁]" />
|
||||
<Emoticon File="tingting_25.png" ID="emoticon_tingting_25" Tag="[町町流汗]" />
|
||||
<Emoticon File="tingting_26.png" ID="emoticon_tingting_26" Tag="[町町罵人]" />
|
||||
<Emoticon File="tingting_27.png" ID="emoticon_tingting_27" Tag="[町町發怒]" />
|
||||
<Emoticon File="tingting_28.png" ID="emoticon_tingting_28" Tag="[町町氣哭]" />
|
||||
<Emoticon File="tingting_29.png" ID="emoticon_tingting_29" Tag="[町町敲頭]" />
|
||||
<Emoticon File="tingting_30.png" ID="emoticon_tingting_30" Tag="[町町親親]" />
|
||||
<Emoticon File="tingting_31.png" ID="emoticon_tingting_31" Tag="[町町吐舌頭]" />
|
||||
<Emoticon File="tingting_32.png" ID="emoticon_tingting_32" Tag="[町町微笑]" />
|
||||
<Emoticon File="tingting_33.png" ID="emoticon_tingting_33" Tag="[町町捂嘴笑]" />
|
||||
<Emoticon File="tingting_34.png" ID="emoticon_tingting_34" Tag="[町町兇]" />
|
||||
<Emoticon File="tingting_35.png" ID="emoticon_tingting_35" Tag="[町町羞笑]" />
|
||||
<Emoticon File="tingting_36.png" ID="emoticon_tingting_36" Tag="[町町眩暈]" />
|
||||
<Emoticon File="tingting_37.png" ID="emoticon_tingting_37" Tag="[町町疑問]" />
|
||||
<Emoticon File="tingting_38.png" ID="emoticon_tingting_38" Tag="[町町中毒]" />
|
||||
<Emoticon File="tingting_39.png" ID="emoticon_tingting_39" Tag="[町町齜牙]" />
|
||||
<!-- <Catalog Title="tingting">-->
|
||||
<!-- <Emoticon File="tingting_00.png" ID="emoticon_tingting_00" Tag="[町町安靜]" />-->
|
||||
<!-- <Emoticon File="tingting_01.png" ID="emoticon_emoji_01" Tag="[町町無辜]" />-->
|
||||
<!-- <Emoticon File="tingting_02.png" ID="emoticon_tingting_02" Tag="[町町白眼]" />-->
|
||||
<!-- <Emoticon File="tingting_03.png" ID="emoticon_tingting_03" Tag="[町町生氣]" />-->
|
||||
<!-- <Emoticon File="tingting_04.png" ID="emoticon_tingting_04" Tag="[町町再見]" />-->
|
||||
<!-- <Emoticon File="tingting_05.png" ID="emoticon_tingting_05" Tag="[町町閉嘴]" />-->
|
||||
<!-- <Emoticon File="tingting_06.png" ID="emoticon_tingting_06" Tag="[町町犯困]" />-->
|
||||
<!-- <Emoticon File="tingting_07.png" ID="emoticon_tingting_07" Tag="[町町尷尬]" />-->
|
||||
<!-- <Emoticon File="tingting_08.png" ID="emoticon_tingting_08" Tag="[町町感動]" />-->
|
||||
<!-- <Emoticon File="tingting_09.png" ID="emoticon_tingting_09" Tag="[町町鼓掌]" />-->
|
||||
<!-- <Emoticon File="tingting_10.png" ID="emoticon_tingting_10" Tag="[町町害羞]" />-->
|
||||
<!-- <Emoticon File="tingting_11.png" ID="emoticon_tingting_11" Tag="[町町好色]" />-->
|
||||
<!-- <Emoticon File="tingting_12.png" ID="emoticon_tingting_12" Tag="[町町黑臉]" />-->
|
||||
<!-- <Emoticon File="tingting_13.png" ID="emoticon_tingting_13" Tag="[町町急怒]" />-->
|
||||
<!-- <Emoticon File="tingting_14.png" ID="emoticon_tingting_14" Tag="[町町驚慌]" />-->
|
||||
<!-- <Emoticon File="tingting_15.png" ID="emoticon_tingting_15" Tag="[町町驚訝]" />-->
|
||||
<!-- <Emoticon File="tingting_16.png" ID="emoticon_tingting_16" Tag="[町町沮喪]" />-->
|
||||
<!-- <Emoticon File="tingting_17.png" ID="emoticon_tingting_17" Tag="[町町開心]" />-->
|
||||
<!-- <Emoticon File="tingting_18.png" ID="emoticon_tingting_18" Tag="[町町瞌睡]" />-->
|
||||
<!-- <Emoticon File="tingting_19.png" ID="emoticon_tingting_19" Tag="[町町摳鼻]" />-->
|
||||
<!-- <Emoticon File="tingting_20.png" ID="emoticon_tingting_20" Tag="[町町哭泣]" />-->
|
||||
<!-- <Emoticon File="tingting_21.png" ID="emoticon_tingting_21" Tag="[町町苦臉]" />-->
|
||||
<!-- <Emoticon File="tingting_22.png" ID="emoticon_tingting_22" Tag="[町町酷]" />-->
|
||||
<!-- <Emoticon File="tingting_23.png" ID="emoticon_tingting_23" Tag="[町町 酷]" />-->
|
||||
<!-- <Emoticon File="tingting_24.png" ID="emoticon_tingting_24" Tag="[町町狂躁]" />-->
|
||||
<!-- <Emoticon File="tingting_25.png" ID="emoticon_tingting_25" Tag="[町町流汗]" />-->
|
||||
<!-- <Emoticon File="tingting_26.png" ID="emoticon_tingting_26" Tag="[町町罵人]" />-->
|
||||
<!-- <Emoticon File="tingting_27.png" ID="emoticon_tingting_27" Tag="[町町發怒]" />-->
|
||||
<!-- <Emoticon File="tingting_28.png" ID="emoticon_tingting_28" Tag="[町町氣哭]" />-->
|
||||
<!-- <Emoticon File="tingting_29.png" ID="emoticon_tingting_29" Tag="[町町敲頭]" />-->
|
||||
<!-- <Emoticon File="tingting_30.png" ID="emoticon_tingting_30" Tag="[町町親親]" />-->
|
||||
<!-- <Emoticon File="tingting_31.png" ID="emoticon_tingting_31" Tag="[町町吐舌頭]" />-->
|
||||
<!-- <Emoticon File="tingting_32.png" ID="emoticon_tingting_32" Tag="[町町微笑]" />-->
|
||||
<!-- <Emoticon File="tingting_33.png" ID="emoticon_tingting_33" Tag="[町町捂嘴笑]" />-->
|
||||
<!-- <Emoticon File="tingting_34.png" ID="emoticon_tingting_34" Tag="[町町兇]" />-->
|
||||
<!-- <Emoticon File="tingting_35.png" ID="emoticon_tingting_35" Tag="[町町羞笑]" />-->
|
||||
<!-- <Emoticon File="tingting_36.png" ID="emoticon_tingting_36" Tag="[町町眩暈]" />-->
|
||||
<!-- <Emoticon File="tingting_37.png" ID="emoticon_tingting_37" Tag="[町町疑問]" />-->
|
||||
<!-- <Emoticon File="tingting_38.png" ID="emoticon_tingting_38" Tag="[町町中毒]" />-->
|
||||
<!-- <Emoticon File="tingting_39.png" ID="emoticon_tingting_39" Tag="[町町齜牙]" />-->
|
||||
|
||||
</Catalog>
|
||||
<!-- </Catalog>-->
|
||||
|
||||
<Catalog Title="taotao">
|
||||
<Emoticon File="taotao_00.png" ID="emoticon_taotao_00" Tag="[淘淘安靜]" />
|
||||
<Emoticon File="taotao_01.png" ID="emoticon_taotao_01" Tag="[淘淘白眼]" />
|
||||
<Emoticon File="taotao_02.png" ID="emoticon_taotao_02" Tag="[淘淘生氣]" />
|
||||
<Emoticon File="taotao_03.png" ID="emoticon_taotao_03" Tag="[淘淘閉嘴]" />
|
||||
<Emoticon File="taotao_04.png" ID="emoticon_taotao_04" Tag="[淘淘犯困]" />
|
||||
<Emoticon File="taotao_05.png" ID="emoticon_taotao_05" Tag="[淘淘尷尬]" />
|
||||
<Emoticon File="taotao_06.png" ID="emoticon_taotao_06" Tag="[淘淘感動]" />
|
||||
<Emoticon File="taotao_07.png" ID="emoticon_taotao_07" Tag="[淘淘鼓掌]" />
|
||||
<Emoticon File="taotao_08.png" ID="emoticon_taotao_08" Tag="[淘淘害羞]" />
|
||||
<Emoticon File="taotao_09.png" ID="emoticon_taotao_09" Tag="[淘淘好色]" />
|
||||
<Emoticon File="taotao_10.png" ID="emoticon_taotao_10" Tag="[淘淘黑臉]" />
|
||||
<Emoticon File="taotao_11.png" ID="emoticon_taotao_11" Tag="[淘淘急怒]" />
|
||||
<Emoticon File="taotao_12.png" ID="emoticon_taotao_12" Tag="[淘淘驚慌]" />
|
||||
<Emoticon File="taotao_13.png" ID="emoticon_taotao_13" Tag="[淘淘驚訝]" />
|
||||
<Emoticon File="taotao_14.png" ID="emoticon_taotao_14" Tag="[淘淘沮喪]" />
|
||||
<Emoticon File="taotao_15.png" ID="emoticon_taotao_15" Tag="[淘淘開心]" />
|
||||
<Emoticon File="taotao_16.png" ID="emoticon_taotao_16" Tag="[淘淘瞌睡]" />
|
||||
<Emoticon File="taotao_17.png" ID="emoticon_taotao_17" Tag="[淘淘摳鼻]" />
|
||||
<Emoticon File="taotao_18.png" ID="emoticon_taotao_18" Tag="[淘淘哭泣]" />
|
||||
<Emoticon File="taotao_19.png" ID="emoticon_taotao_19" Tag="[淘淘苦臉]" />
|
||||
<Emoticon File="taotao_20.png" ID="emoticon_taotao_20" Tag="[淘淘酷]" />
|
||||
<Emoticon File="taotao_21.png" ID="emoticon_taotao_21" Tag="[淘淘 酷]" />
|
||||
<Emoticon File="taotao_22.png" ID="emoticon_taotao_22" Tag="[淘淘狂躁]" />
|
||||
<Emoticon File="taotao_23.png" ID="emoticon_taotao_23" Tag="[淘淘流汗]" />
|
||||
<Emoticon File="taotao_24.png" ID="emoticon_taotao_24" Tag="[淘淘罵人]" />
|
||||
<Emoticon File="taotao_25.png" ID="emoticon_taotao_25" Tag="[淘淘發怒]" />
|
||||
<Emoticon File="taotao_26.png" ID="emoticon_taotao_26" Tag="[淘淘氣哭]" />
|
||||
<Emoticon File="taotao_27.png" ID="emoticon_taotao_27" Tag="[淘淘敲頭]" />
|
||||
<Emoticon File="taotao_28.png" ID="emoticon_taotao_28" Tag="[淘淘親親]" />
|
||||
<Emoticon File="taotao_29.png" ID="emoticon_taotao_29" Tag="[淘淘吐舌頭]" />
|
||||
<Emoticon File="taotao_30.png" ID="emoticon_taotao_30" Tag="[淘淘微笑]" />
|
||||
<Emoticon File="taotao_31.png" ID="emoticon_taotao_31" Tag="[淘淘無辜]" />
|
||||
<Emoticon File="taotao_32.png" ID="emoticon_taotao_32" Tag="[淘淘捂嘴笑]" />
|
||||
<Emoticon File="taotao_33.png" ID="emoticon_taotao_33" Tag="[淘淘兇]" />
|
||||
<Emoticon File="taotao_34.png" ID="emoticon_taotao_34" Tag="[淘淘羞笑]" />
|
||||
<Emoticon File="taotao_35.png" ID="emoticon_taotao_35" Tag="[淘淘眩暈]" />
|
||||
<Emoticon File="taotao_36.png" ID="emoticon_taotao_36" Tag="[淘淘疑問]" />
|
||||
<Emoticon File="taotao_37.png" ID="emoticon_taotao_37" Tag="[淘淘再見]" />
|
||||
<Emoticon File="taotao_38.png" ID="emoticon_taotao_38" Tag="[淘淘中毒]" />
|
||||
<Emoticon File="taotao_39.png" ID="emoticon_taotao_39" Tag="[淘淘齜牙]" />
|
||||
<!-- <Catalog Title="taotao">-->
|
||||
<!-- <Emoticon File="taotao_00.png" ID="emoticon_taotao_00" Tag="[淘淘安靜]" />-->
|
||||
<!-- <Emoticon File="taotao_01.png" ID="emoticon_taotao_01" Tag="[淘淘白眼]" />-->
|
||||
<!-- <Emoticon File="taotao_02.png" ID="emoticon_taotao_02" Tag="[淘淘生氣]" />-->
|
||||
<!-- <Emoticon File="taotao_03.png" ID="emoticon_taotao_03" Tag="[淘淘閉嘴]" />-->
|
||||
<!-- <Emoticon File="taotao_04.png" ID="emoticon_taotao_04" Tag="[淘淘犯困]" />-->
|
||||
<!-- <Emoticon File="taotao_05.png" ID="emoticon_taotao_05" Tag="[淘淘尷尬]" />-->
|
||||
<!-- <Emoticon File="taotao_06.png" ID="emoticon_taotao_06" Tag="[淘淘感動]" />-->
|
||||
<!-- <Emoticon File="taotao_07.png" ID="emoticon_taotao_07" Tag="[淘淘鼓掌]" />-->
|
||||
<!-- <Emoticon File="taotao_08.png" ID="emoticon_taotao_08" Tag="[淘淘害羞]" />-->
|
||||
<!-- <Emoticon File="taotao_09.png" ID="emoticon_taotao_09" Tag="[淘淘好色]" />-->
|
||||
<!-- <Emoticon File="taotao_10.png" ID="emoticon_taotao_10" Tag="[淘淘黑臉]" />-->
|
||||
<!-- <Emoticon File="taotao_11.png" ID="emoticon_taotao_11" Tag="[淘淘急怒]" />-->
|
||||
<!-- <Emoticon File="taotao_12.png" ID="emoticon_taotao_12" Tag="[淘淘驚慌]" />-->
|
||||
<!-- <Emoticon File="taotao_13.png" ID="emoticon_taotao_13" Tag="[淘淘驚訝]" />-->
|
||||
<!-- <Emoticon File="taotao_14.png" ID="emoticon_taotao_14" Tag="[淘淘沮喪]" />-->
|
||||
<!-- <Emoticon File="taotao_15.png" ID="emoticon_taotao_15" Tag="[淘淘開心]" />-->
|
||||
<!-- <Emoticon File="taotao_16.png" ID="emoticon_taotao_16" Tag="[淘淘瞌睡]" />-->
|
||||
<!-- <Emoticon File="taotao_17.png" ID="emoticon_taotao_17" Tag="[淘淘摳鼻]" />-->
|
||||
<!-- <Emoticon File="taotao_18.png" ID="emoticon_taotao_18" Tag="[淘淘哭泣]" />-->
|
||||
<!-- <Emoticon File="taotao_19.png" ID="emoticon_taotao_19" Tag="[淘淘苦臉]" />-->
|
||||
<!-- <Emoticon File="taotao_20.png" ID="emoticon_taotao_20" Tag="[淘淘酷]" />-->
|
||||
<!-- <Emoticon File="taotao_21.png" ID="emoticon_taotao_21" Tag="[淘淘 酷]" />-->
|
||||
<!-- <Emoticon File="taotao_22.png" ID="emoticon_taotao_22" Tag="[淘淘狂躁]" />-->
|
||||
<!-- <Emoticon File="taotao_23.png" ID="emoticon_taotao_23" Tag="[淘淘流汗]" />-->
|
||||
<!-- <Emoticon File="taotao_24.png" ID="emoticon_taotao_24" Tag="[淘淘罵人]" />-->
|
||||
<!-- <Emoticon File="taotao_25.png" ID="emoticon_taotao_25" Tag="[淘淘發怒]" />-->
|
||||
<!-- <Emoticon File="taotao_26.png" ID="emoticon_taotao_26" Tag="[淘淘氣哭]" />-->
|
||||
<!-- <Emoticon File="taotao_27.png" ID="emoticon_taotao_27" Tag="[淘淘敲頭]" />-->
|
||||
<!-- <Emoticon File="taotao_28.png" ID="emoticon_taotao_28" Tag="[淘淘親親]" />-->
|
||||
<!-- <Emoticon File="taotao_29.png" ID="emoticon_taotao_29" Tag="[淘淘吐舌頭]" />-->
|
||||
<!-- <Emoticon File="taotao_30.png" ID="emoticon_taotao_30" Tag="[淘淘微笑]" />-->
|
||||
<!-- <Emoticon File="taotao_31.png" ID="emoticon_taotao_31" Tag="[淘淘無辜]" />-->
|
||||
<!-- <Emoticon File="taotao_32.png" ID="emoticon_taotao_32" Tag="[淘淘捂嘴笑]" />-->
|
||||
<!-- <Emoticon File="taotao_33.png" ID="emoticon_taotao_33" Tag="[淘淘兇]" />-->
|
||||
<!-- <Emoticon File="taotao_34.png" ID="emoticon_taotao_34" Tag="[淘淘羞笑]" />-->
|
||||
<!-- <Emoticon File="taotao_35.png" ID="emoticon_taotao_35" Tag="[淘淘眩暈]" />-->
|
||||
<!-- <Emoticon File="taotao_36.png" ID="emoticon_taotao_36" Tag="[淘淘疑問]" />-->
|
||||
<!-- <Emoticon File="taotao_37.png" ID="emoticon_taotao_37" Tag="[淘淘再見]" />-->
|
||||
<!-- <Emoticon File="taotao_38.png" ID="emoticon_taotao_38" Tag="[淘淘中毒]" />-->
|
||||
<!-- <Emoticon File="taotao_39.png" ID="emoticon_taotao_39" Tag="[淘淘齜牙]" />-->
|
||||
|
||||
</Catalog>
|
||||
<Catalog Title="lele">
|
||||
<!-- </Catalog>-->
|
||||
<!-- <Catalog Title="lele">-->
|
||||
|
||||
<Emoticon File="lele_00.png" ID="emoticon_lele_00" Tag="[樂樂安靜]" />
|
||||
<Emoticon File="lele_01.png" ID="emoticon_lele_01" Tag="[樂樂白眼]" />
|
||||
<Emoticon File="lele_02.png" ID="emoticon_lele_02" Tag="[樂樂生氣]" />
|
||||
<Emoticon File="lele_03.png" ID="emoticon_lele_37" Tag="[樂樂再見]" />
|
||||
<Emoticon File="lele_04.png" ID="emoticon_lele_03" Tag="[樂樂閉嘴]" />
|
||||
<Emoticon File="lele_05.png" ID="emoticon_lele_04" Tag="[樂樂犯困]" />
|
||||
<Emoticon File="lele_06.png" ID="emoticon_lele_05" Tag="[樂樂尷尬]" />
|
||||
<Emoticon File="lele_07.png" ID="emoticon_lele_06" Tag="[樂樂感動]" />
|
||||
<Emoticon File="lele_08.png" ID="emoticon_lele_07" Tag="[樂樂鼓掌]" />
|
||||
<Emoticon File="lele_09.png" ID="emoticon_lele_08" Tag="[樂樂害羞]" />
|
||||
<Emoticon File="lele_10.png" ID="emoticon_lele_09" Tag="[樂樂好色]" />
|
||||
<Emoticon File="lele_11.png" ID="emoticon_lele_10" Tag="[樂樂黑臉]" />
|
||||
<Emoticon File="lele_12.png" ID="emoticon_lele_11" Tag="[樂樂急怒]" />
|
||||
<Emoticon File="lele_13.png" ID="emoticon_lele_12" Tag="[樂樂驚慌]" />
|
||||
<Emoticon File="lele_14.png" ID="emoticon_lele_13" Tag="[樂樂驚訝]" />
|
||||
<Emoticon File="lele_15.png" ID="emoticon_lele_14" Tag="[樂樂沮喪]" />
|
||||
<Emoticon File="lele_16.png" ID="emoticon_lele_15" Tag="[樂樂開心]" />
|
||||
<Emoticon File="lele_17.png" ID="emoticon_lele_16" Tag="[樂樂瞌睡]" />
|
||||
<Emoticon File="lele_18.png" ID="emoticon_lele_17" Tag="[樂樂摳鼻]" />
|
||||
<Emoticon File="lele_19.png" ID="emoticon_lele_18" Tag="[樂樂哭泣]" />
|
||||
<Emoticon File="lele_20.png" ID="emoticon_lele_19" Tag="[樂樂苦臉]" />
|
||||
<Emoticon File="lele_21.png" ID="emoticon_lele_20" Tag="[樂樂酷]" />
|
||||
<Emoticon File="lele_22.png" ID="emoticon_lele_21" Tag="[樂樂 酷]" />
|
||||
<Emoticon File="lele_23.png" ID="emoticon_lele_22" Tag="[樂樂狂躁]" />
|
||||
<Emoticon File="lele_24.png" ID="emoticon_lele_23" Tag="[樂樂流汗]" />
|
||||
<Emoticon File="lele_25.png" ID="emoticon_lele_24" Tag="[樂樂罵人]" />
|
||||
<Emoticon File="lele_26.png" ID="emoticon_lele_25" Tag="[樂樂發怒]" />
|
||||
<Emoticon File="lele_27.png" ID="emoticon_lele_26" Tag="[樂樂氣哭]" />
|
||||
<Emoticon File="lele_28.png" ID="emoticon_lele_27" Tag="[樂樂敲頭]" />
|
||||
<Emoticon File="lele_29.png" ID="emoticon_lele_28" Tag="[樂樂親親]" />
|
||||
<Emoticon File="lele_30.png" ID="emoticon_lele_29" Tag="[樂樂吐舌頭]" />
|
||||
<Emoticon File="lele_31.png" ID="emoticon_lele_30" Tag="[樂樂微笑]" />
|
||||
<Emoticon File="lele_32.png" ID="emoticon_lele_31" Tag="[樂樂無辜]" />
|
||||
<Emoticon File="lele_33.png" ID="emoticon_lele_32" Tag="[樂樂捂嘴笑]" />
|
||||
<Emoticon File="lele_34.png" ID="emoticon_lele_33" Tag="[樂樂兇]" />
|
||||
<Emoticon File="lele_35.png" ID="emoticon_lele_34" Tag="[樂樂羞笑]" />
|
||||
<Emoticon File="lele_36.png" ID="emoticon_lele_35" Tag="[樂樂眩暈]" />
|
||||
<Emoticon File="lele_37.png" ID="emoticon_lele_36" Tag="[樂樂疑問]" />
|
||||
<Emoticon File="lele_38.png" ID="emoticon_lele_38" Tag="[樂樂中毒]" />
|
||||
<Emoticon File="lele_39.png" ID="emoticon_lele_39" Tag="[樂樂齜牙]" />
|
||||
<!-- <Emoticon File="lele_00.png" ID="emoticon_lele_00" Tag="[樂樂安靜]" />-->
|
||||
<!-- <Emoticon File="lele_01.png" ID="emoticon_lele_01" Tag="[樂樂白眼]" />-->
|
||||
<!-- <Emoticon File="lele_02.png" ID="emoticon_lele_02" Tag="[樂樂生氣]" />-->
|
||||
<!-- <Emoticon File="lele_03.png" ID="emoticon_lele_37" Tag="[樂樂再見]" />-->
|
||||
<!-- <Emoticon File="lele_04.png" ID="emoticon_lele_03" Tag="[樂樂閉嘴]" />-->
|
||||
<!-- <Emoticon File="lele_05.png" ID="emoticon_lele_04" Tag="[樂樂犯困]" />-->
|
||||
<!-- <Emoticon File="lele_06.png" ID="emoticon_lele_05" Tag="[樂樂尷尬]" />-->
|
||||
<!-- <Emoticon File="lele_07.png" ID="emoticon_lele_06" Tag="[樂樂感動]" />-->
|
||||
<!-- <Emoticon File="lele_08.png" ID="emoticon_lele_07" Tag="[樂樂鼓掌]" />-->
|
||||
<!-- <Emoticon File="lele_09.png" ID="emoticon_lele_08" Tag="[樂樂害羞]" />-->
|
||||
<!-- <Emoticon File="lele_10.png" ID="emoticon_lele_09" Tag="[樂樂好色]" />-->
|
||||
<!-- <Emoticon File="lele_11.png" ID="emoticon_lele_10" Tag="[樂樂黑臉]" />-->
|
||||
<!-- <Emoticon File="lele_12.png" ID="emoticon_lele_11" Tag="[樂樂急怒]" />-->
|
||||
<!-- <Emoticon File="lele_13.png" ID="emoticon_lele_12" Tag="[樂樂驚慌]" />-->
|
||||
<!-- <Emoticon File="lele_14.png" ID="emoticon_lele_13" Tag="[樂樂驚訝]" />-->
|
||||
<!-- <Emoticon File="lele_15.png" ID="emoticon_lele_14" Tag="[樂樂沮喪]" />-->
|
||||
<!-- <Emoticon File="lele_16.png" ID="emoticon_lele_15" Tag="[樂樂開心]" />-->
|
||||
<!-- <Emoticon File="lele_17.png" ID="emoticon_lele_16" Tag="[樂樂瞌睡]" />-->
|
||||
<!-- <Emoticon File="lele_18.png" ID="emoticon_lele_17" Tag="[樂樂摳鼻]" />-->
|
||||
<!-- <Emoticon File="lele_19.png" ID="emoticon_lele_18" Tag="[樂樂哭泣]" />-->
|
||||
<!-- <Emoticon File="lele_20.png" ID="emoticon_lele_19" Tag="[樂樂苦臉]" />-->
|
||||
<!-- <Emoticon File="lele_21.png" ID="emoticon_lele_20" Tag="[樂樂酷]" />-->
|
||||
<!-- <Emoticon File="lele_22.png" ID="emoticon_lele_21" Tag="[樂樂 酷]" />-->
|
||||
<!-- <Emoticon File="lele_23.png" ID="emoticon_lele_22" Tag="[樂樂狂躁]" />-->
|
||||
<!-- <Emoticon File="lele_24.png" ID="emoticon_lele_23" Tag="[樂樂流汗]" />-->
|
||||
<!-- <Emoticon File="lele_25.png" ID="emoticon_lele_24" Tag="[樂樂罵人]" />-->
|
||||
<!-- <Emoticon File="lele_26.png" ID="emoticon_lele_25" Tag="[樂樂發怒]" />-->
|
||||
<!-- <Emoticon File="lele_27.png" ID="emoticon_lele_26" Tag="[樂樂氣哭]" />-->
|
||||
<!-- <Emoticon File="lele_28.png" ID="emoticon_lele_27" Tag="[樂樂敲頭]" />-->
|
||||
<!-- <Emoticon File="lele_29.png" ID="emoticon_lele_28" Tag="[樂樂親親]" />-->
|
||||
<!-- <Emoticon File="lele_30.png" ID="emoticon_lele_29" Tag="[樂樂吐舌頭]" />-->
|
||||
<!-- <Emoticon File="lele_31.png" ID="emoticon_lele_30" Tag="[樂樂微笑]" />-->
|
||||
<!-- <Emoticon File="lele_32.png" ID="emoticon_lele_31" Tag="[樂樂無辜]" />-->
|
||||
<!-- <Emoticon File="lele_33.png" ID="emoticon_lele_32" Tag="[樂樂捂嘴笑]" />-->
|
||||
<!-- <Emoticon File="lele_34.png" ID="emoticon_lele_33" Tag="[樂樂兇]" />-->
|
||||
<!-- <Emoticon File="lele_35.png" ID="emoticon_lele_34" Tag="[樂樂羞笑]" />-->
|
||||
<!-- <Emoticon File="lele_36.png" ID="emoticon_lele_35" Tag="[樂樂眩暈]" />-->
|
||||
<!-- <Emoticon File="lele_37.png" ID="emoticon_lele_36" Tag="[樂樂疑問]" />-->
|
||||
<!-- <Emoticon File="lele_38.png" ID="emoticon_lele_38" Tag="[樂樂中毒]" />-->
|
||||
<!-- <Emoticon File="lele_39.png" ID="emoticon_lele_39" Tag="[樂樂齜牙]" />-->
|
||||
|
||||
</Catalog>
|
||||
<!-- </Catalog>-->
|
||||
|
||||
<Catalog Title="tlt">
|
||||
<Emoticon File="tlt_gif_00.png" ID="emoticon_tlt_gif_00" Tag="[好喜歡你哦]" />
|
||||
<Emoticon File="tlt_gif_01.png" ID="emoticon_tlt_gif_01" Tag="[加油鴨]" />
|
||||
<Emoticon File="tlt_gif_02.png" ID="emoticon_tlt_gif_02" Tag="[老大駕到]" />
|
||||
<Emoticon File="tlt_gif_03.png" ID="emoticon_tlt_gif_03" Tag="[老妹你真美]" />
|
||||
<Emoticon File="tlt_gif_04.png" ID="emoticon_tlt_gif_04" Tag="[靈魂抓手]" />
|
||||
<Emoticon File="tlt_gif_05.png" ID="emoticon_tlt_gif_05" Tag="[菩薩保佑]" />
|
||||
<Emoticon File="tlt_gif_06.png" ID="emoticon_tlt_gif_06" Tag="[氣屎我了]" />
|
||||
<Emoticon File="tlt_gif_07.png" ID="emoticon_tlt_gif_07" Tag="[什麼情況]" />
|
||||
<Emoticon File="tlt_gif_08.png" ID="emoticon_tlt_gif_08" Tag="[送你好運]" />
|
||||
<Emoticon File="tlt_gif_09.png" ID="emoticon_tlt_gif_09" Tag="[太感動了]" />
|
||||
<Emoticon File="tlt_gif_10.png" ID="emoticon_tlt_gif_10" Tag="[為愛而戰]" />
|
||||
<Emoticon File="tlt_gif_11.png" ID="emoticon_tlt_gif_11" Tag="[要得手了]" />
|
||||
<Emoticon File="tlt_gif_12.png" ID="emoticon_tlt_gif_12" Tag="[勇冠三軍]" />
|
||||
<Emoticon File="tlt_gif_13.png" ID="emoticon_tlt_gif_13" Tag="[有驚喜哦]" />
|
||||
<Emoticon File="tlt_gif_14.png" ID="emoticon_tlt_gif_14" Tag="[抓不著就搗蛋]" />
|
||||
<Emoticon File="tlt_gif_15.png" ID="emoticon_tlt_gif_15" Tag="[聊天結束]" />
|
||||
<Emoticon File="tlt_gif_16.png" ID="emoticon_tlt_gif_16" Tag="[蒼天啊]" />
|
||||
<Emoticon File="tlt_gif_17.png" ID="emoticon_tlt_gif_17" Tag="[暈死]" />
|
||||
<Emoticon File="tlt_gif_18.png" ID="emoticon_tlt_gif_18" Tag="[幹就完了]" />
|
||||
<Emoticon File="tlt_gif_19.png" ID="emoticon_tlt_gif_19" Tag="[發財了]" />
|
||||
<Emoticon File="tlt_gif_20.png" ID="emoticon_tlt_gif_20" Tag="[對不起]" />
|
||||
<Emoticon File="tlt_gif_21.png" ID="emoticon_tlt_gif_21" Tag="[關我屁事]" />
|
||||
<Emoticon File="tlt_gif_22.png" ID="emoticon_tlt_gif_22" Tag="[嚇死我了]" />
|
||||
<Emoticon File="tlt_gif_23.png" ID="emoticon_tlt_gif_23" Tag="[送S去咯]" />
|
||||
<Emoticon File="tlt_gif_24.png" ID="emoticon_tlt_gif_24" Tag="[洗洗睡吧]" />
|
||||
<Emoticon File="tlt_gif_25.png" ID="emoticon_tlt_gif_25" Tag="[我要滅了你]" />
|
||||
<Emoticon File="tlt_gif_26.png" ID="emoticon_tlt_gif_26" Tag="[電不倒你]" />
|
||||
<Emoticon File="tlt_gif_27.png" ID="emoticon_tlt_gif_27" Tag="[大過年的]" />
|
||||
<Emoticon File="tlt_gif_28.png" ID="emoticon_tlt_gif_28" Tag="[有人放屁]" />
|
||||
<Emoticon File="tlt_gif_29.png" ID="emoticon_tlt_gif_29" Tag="[好樣的]" />
|
||||
<Emoticon File="tlt_gif_30.png" ID="emoticon_tlt_gif_30" Tag="[哇噢]" />
|
||||
<Emoticon File="tlt_gif_31.png" ID="emoticon_tlt_gif_31" Tag="[同志們好]" />
|
||||
<Emoticon File="tlt_gif_32.png" ID="emoticon_tlt_gif_32" Tag="[沒問題]" />
|
||||
<Emoticon File="tlt_gif_33.png" ID="emoticon_tlt_gif_33" Tag="[怎麼辦]" />
|
||||
<Emoticon File="tlt_gif_34.png" ID="emoticon_tlt_gif_34" Tag="[偷瞄一下]" />
|
||||
<Emoticon File="tlt_gif_35.png" ID="emoticon_tlt_gif_35" Tag="[今天舔誰呢]" />
|
||||
<!-- <Catalog Title="tlt">-->
|
||||
<!-- <Emoticon File="tlt_gif_00.png" ID="emoticon_tlt_gif_00" Tag="[好喜歡你哦]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_01.png" ID="emoticon_tlt_gif_01" Tag="[加油鴨]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_02.png" ID="emoticon_tlt_gif_02" Tag="[老大駕到]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_03.png" ID="emoticon_tlt_gif_03" Tag="[老妹你真美]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_04.png" ID="emoticon_tlt_gif_04" Tag="[靈魂抓手]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_05.png" ID="emoticon_tlt_gif_05" Tag="[菩薩保佑]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_06.png" ID="emoticon_tlt_gif_06" Tag="[氣屎我了]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_07.png" ID="emoticon_tlt_gif_07" Tag="[什麼情況]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_08.png" ID="emoticon_tlt_gif_08" Tag="[送你好運]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_09.png" ID="emoticon_tlt_gif_09" Tag="[太感動了]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_10.png" ID="emoticon_tlt_gif_10" Tag="[為愛而戰]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_11.png" ID="emoticon_tlt_gif_11" Tag="[要得手了]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_12.png" ID="emoticon_tlt_gif_12" Tag="[勇冠三軍]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_13.png" ID="emoticon_tlt_gif_13" Tag="[有驚喜哦]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_14.png" ID="emoticon_tlt_gif_14" Tag="[抓不著就搗蛋]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_15.png" ID="emoticon_tlt_gif_15" Tag="[聊天結束]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_16.png" ID="emoticon_tlt_gif_16" Tag="[蒼天啊]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_17.png" ID="emoticon_tlt_gif_17" Tag="[暈死]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_18.png" ID="emoticon_tlt_gif_18" Tag="[幹就完了]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_19.png" ID="emoticon_tlt_gif_19" Tag="[發財了]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_20.png" ID="emoticon_tlt_gif_20" Tag="[對不起]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_21.png" ID="emoticon_tlt_gif_21" Tag="[關我屁事]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_22.png" ID="emoticon_tlt_gif_22" Tag="[嚇死我了]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_23.png" ID="emoticon_tlt_gif_23" Tag="[送S去咯]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_24.png" ID="emoticon_tlt_gif_24" Tag="[洗洗睡吧]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_25.png" ID="emoticon_tlt_gif_25" Tag="[我要滅了你]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_26.png" ID="emoticon_tlt_gif_26" Tag="[電不倒你]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_27.png" ID="emoticon_tlt_gif_27" Tag="[大過年的]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_28.png" ID="emoticon_tlt_gif_28" Tag="[有人放屁]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_29.png" ID="emoticon_tlt_gif_29" Tag="[好樣的]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_30.png" ID="emoticon_tlt_gif_30" Tag="[哇噢]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_31.png" ID="emoticon_tlt_gif_31" Tag="[同志們好]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_32.png" ID="emoticon_tlt_gif_32" Tag="[沒問題]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_33.png" ID="emoticon_tlt_gif_33" Tag="[怎麼辦]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_34.png" ID="emoticon_tlt_gif_34" Tag="[偷瞄一下]" />-->
|
||||
<!-- <Emoticon File="tlt_gif_35.png" ID="emoticon_tlt_gif_35" Tag="[今天舔誰呢]" />-->
|
||||
|
||||
</Catalog>
|
||||
<!-- </Catalog>-->
|
||||
</PopoEmoticons>
|
||||
|
||||
|
||||
|
||||