Commit 20d297cf2586733cf780068f0119fd55156d94e4

Authored by 陈硕
1 parent 2f7e48bc

添加直播界面的聊天

app/src/main/java/com/cnlive/gundam/stream/ui/activity/StreamActivity.java
... ... @@ -27,6 +27,7 @@ import com.cnlive.gundam.stream.model.ShowView;
27 27 import com.cnlive.gundam.stream.ui.adapter.SimpleAdapter;
28 28 import com.cnlive.gundam.stream.util.ChatConnect;
29 29 import com.cnlive.gundam.stream.util.TimerUtil;
  30 +import com.cnlive.gundam.video.model.CNMessageModle;
30 31 import com.cnlive.libs.stream.base.IStreamer;
31 32 import com.cnlive.libs.stream.model.ActivityConfig;
32 33 import com.cnlive.libs.stream.model.Filters;
... ... @@ -37,9 +38,6 @@ import com.cnlive.libs.util.chat.model.CNMessage;
37 38 import com.cnlive.libs.util.chat.model.CNUserInfo;
38 39 import com.google.gson.Gson;
39 40  
40   -import org.json.JSONException;
41   -import org.json.JSONObject;
42   -
43 41 import java.util.ArrayList;
44 42 import java.util.List;
45 43  
... ... @@ -104,7 +102,6 @@ public class StreamActivity extends BaseStreamActivity implements ChatConnect.Ch
104 102 binding.setIsShow(showView);
105 103 binding.chatRecyclerView.setLayoutManager(new LinearLayoutManager(this));
106 104 chatItemList = new ArrayList<>();
107   -
108 105 timerUtil = new TimerUtil(this);
109 106 }
110 107  
... ... @@ -118,7 +115,7 @@ public class StreamActivity extends BaseStreamActivity implements ChatConnect.Ch
118 115 ExtensionModel extensionModel = new ExtensionModel(channelName, coverImgUrl);
119 116 extensions = new Gson().toJson(extensionModel);
120 117  
121   - roomId = activityId;
  118 + roomId = channelId;
122 119 }
123 120  
124 121 public void onClick(View view) {
... ... @@ -390,24 +387,29 @@ public class StreamActivity extends BaseStreamActivity implements ChatConnect.Ch
390 387 @Override
391 388 public void onChatState(int what) {
392 389  
  390 +
393 391 }
394 392  
395 393 @Override
396 394 public void onChatMessage(CNMessage cnMessage) {
397   - //// TODO: 5/23/2017 Recyclerview添加数据
398   - String headUrl = cnMessage.getUserInfo().getHeadUrl() == null ? "" : cnMessage.getUserInfo().getHeadUrl();
399   - String userName = cnMessage.getUserInfo().getUserName() == null ? "" : cnMessage.getUserInfo().getUserName();
400   - String content = null;
401 395 try {
402   - content = cnMessage.getContent() == null ? "" : (String) new JSONObject(cnMessage.getContent()).get("message");
403   - } catch (JSONException e) {
  396 + Gson gson = new Gson();
  397 + CNMessageModle cnMessageModle = gson.fromJson(cnMessage.getContent(), CNMessageModle.class);
  398 + String messagecontent = cnMessageModle.getMessage().getContent();
  399 + String messageType = cnMessageModle.getType();
  400 + if (messageType.equals("giftType")) {
  401 + chatItemList.add(new ChatItem(cnMessage.getUserInfo().getHeadUrl(), cnMessage.getUserInfo().getUserName(), "送了" + messagecontent));
  402 + } else if (messageType.equals("chatRoom")) {
  403 + chatItemList.add(new ChatItem(cnMessage.getUserInfo().getHeadUrl(), cnMessage.getUserInfo().getUserName(), messagecontent));
  404 +
  405 + } else if (messageType.equals("joinType")) {
  406 + chatItemList.add(new ChatItem(cnMessage.getUserInfo().getHeadUrl(), cnMessage.getUserInfo().getUserName(), "加入"));
  407 + }
  408 + } catch (Exception e) {
404 409 e.printStackTrace();
405 410 }
406   - ChatItem chatItem = new ChatItem(headUrl, userName, content);
407   - chatItemList.add(chatItem);
408 411 chatAdapter = new SimpleAdapter(this, chatItemList, R.layout.item_chat, com.cnlive.gundam.BR.chat);
409 412 binding.setChatAdapter(chatAdapter);
410   -
411 413 }
412 414  
413 415 private void getOnlinePerson() {
... ...
app/src/main/java/com/cnlive/gundam/video/fragment/chat/ChatRoomFragment.java
... ... @@ -8,7 +8,6 @@ import android.support.v4.app.Fragment;
8 8 import android.support.v7.widget.GridLayoutManager;
9 9 import android.support.v7.widget.OrientationHelper;
10 10 import android.support.v7.widget.SwitchCompat;
11   -import android.util.Log;
12 11 import android.view.LayoutInflater;
13 12 import android.view.View;
14 13 import android.view.ViewGroup;
... ... @@ -142,7 +141,6 @@ public class ChatRoomFragment extends Fragment implements InputUtil.SendCallback
142 141 @Override
143 142 public void onDestroy() {
144 143 super.onDestroy();
145   - Log.v("fdfsfaf","dfasdfsafdfadf");
146 144 ChatUtil.disconnect(false);
147 145 }
148 146  
... ...
app/src/main/java/com/cnlive/gundam/video/fragment/chat/MessageContentInfo.java
... ... @@ -3,7 +3,6 @@ package com.cnlive.gundam.video.fragment.chat;
3 3 import android.content.Context;
4 4 import android.os.Handler;
5 5 import android.text.TextUtils;
6   -import android.util.Log;
7 6  
8 7 import com.cnlive.gundam.user.auth.UserService;
9 8 import com.cnlive.gundam.video.barrage.BarrageBaseMessage;
... ... @@ -68,10 +67,7 @@ public class MessageContentInfo {
68 67 CNMessageModle cnMessageModle = gson.fromJson(message.getContent(), CNMessageModle.class);
69 68 String messagecontent = cnMessageModle.getMessage().getContent();
70 69 String messageType = cnMessageModle.getType();
71   -
72   -
73 70 if (messageType.equals(giftType)) {
74   -
75 71 barrageLayout.addMessage(new BarrageBaseMessage(message.getUserInfo().getUserName(), "送了" + messagecontent, ""));
76 72 messageContentArrayList.add(new MessageContent(message.getUserInfo().getUserName(), ": 送了" + messagecontent, message.getUserInfo().getHeadUrl(), true));
77 73 } else if (messageType.equals(ChatRoom)) {
... ... @@ -79,11 +75,9 @@ public class MessageContentInfo {
79 75 messageContentArrayList.add(new MessageContent(message.getUserInfo().getUserName(), messagecontent + " :", message.getUserInfo().getHeadUrl(), false));
80 76 } else {
81 77 messageContentArrayList.add(new MessageContent(message.getUserInfo().getUserName(), " :" + messagecontent, message.getUserInfo().getHeadUrl(), true));
82   -
83 78 }
84 79 barrageLayout.addMessage(new BarrageBaseMessage(message.getUserInfo().getUserName(), messagecontent, ""));
85 80  
86   -
87 81 } else if (messageType.equals(JoinType)) {
88 82 String userName = message.getUserInfo().getUserName();
89 83 if (TextUtils.isEmpty(userName)) {
... ... @@ -152,7 +146,6 @@ public class MessageContentInfo {
152 146 onConnectListener = new IChat.OnConnectListener() {
153 147 @Override
154 148 public void onTokenIncorrect(String s) {
155   - Log.v("dfasdfasd", "onTokenIncorrect");
156 149 }
157 150  
158 151 @Override
... ... @@ -164,7 +157,6 @@ public class MessageContentInfo {
164 157  
165 158 @Override
166 159 public void onError(int i, String s) {
167   - Log.v("dfasdfasd", "onError");
168 160  
169 161 }
170 162 };
... ... @@ -179,13 +171,11 @@ public class MessageContentInfo {
179 171 CNMessageModle cnMessageModle = new CNMessageModle(JoinType, new MessageInfo("", "", "", "", ""));
180 172 Gson gson2 = new Gson();
181 173 String obj2 = gson2.toJson(cnMessageModle);
182   - Log.v("dfsd", obj2);
183 174 ChatUtil.sendMessage(IChat.CHATROOM, roomId, obj2, onSendMessageListener);
184 175 }
185 176  
186 177 @Override
187 178 public void onError(int what, String extra) {
188   - Log.v("dfsd", "onError");
189 179  
190 180 }
191 181 });
... ...