Commit 20d297cf2586733cf780068f0119fd55156d94e4
1 parent
2f7e48bc
添加直播界面的聊天
Showing
3 changed files
with
16 additions
and
26 deletions
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 | }); | ... | ... |