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