From 82b3b23470ea8a573828057d5082acb15d44bd80 Mon Sep 17 00:00:00 2001
From: zlzw <583819556@qq.com>
Date: Wed, 17 May 2023 16:14:50 +0800
Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=B8=BB=E6=92=AD=E6=8A=95?=
=?UTF-8?q?=E7=A5=A8=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../yunbao/common/bean/LiveRoomVoteModel.java | 7 +++-
.../live/activity/LiveAudienceActivity.java | 32 ++++++++++++-----
.../live/utils/LiveRoomVoteManager.java | 15 ++++++++
.../yunbao/live/views/LiveRoomViewHolder.java | 36 +++++--------------
4 files changed, 53 insertions(+), 37 deletions(-)
diff --git a/common/src/main/java/com/yunbao/common/bean/LiveRoomVoteModel.java b/common/src/main/java/com/yunbao/common/bean/LiveRoomVoteModel.java
index e08329ec4..c9de60a77 100644
--- a/common/src/main/java/com/yunbao/common/bean/LiveRoomVoteModel.java
+++ b/common/src/main/java/com/yunbao/common/bean/LiveRoomVoteModel.java
@@ -1,5 +1,6 @@
package com.yunbao.common.bean;
+import com.alibaba.fastjson.annotation.JSONField;
import com.google.gson.annotations.SerializedName;
import com.yunbao.common.utils.StringUtil;
@@ -166,8 +167,12 @@ public class LiveRoomVoteModel extends BaseModel {
public void setVote(String vote) {
this.vote = vote;
}
- public boolean isVoteLeft(){
+
+ public boolean isVoteLeft() {
return vote.equals("option_content_first_num");
}
+ public boolean isVote() {
+ return !StringUtil.isEmpty(vote);
+ }
}
diff --git a/live/src/main/java/com/yunbao/live/activity/LiveAudienceActivity.java b/live/src/main/java/com/yunbao/live/activity/LiveAudienceActivity.java
index 2f2a4e1ab..b9fc80899 100644
--- a/live/src/main/java/com/yunbao/live/activity/LiveAudienceActivity.java
+++ b/live/src/main/java/com/yunbao/live/activity/LiveAudienceActivity.java
@@ -1337,22 +1337,36 @@ public class LiveAudienceActivity extends LiveActivity {
break;
case VOTE_CREATE:
case VOTE_UPDATE:
+ LiveRoomVoteModel voteModel = new LiveRoomVoteModel();
JSONObject map = (JSONObject) event.getObject();
- manager.mLiveRoomViewHolder.setVoteData(
- map.getString("question"),
- map.getString("answer1"),
- map.getString("answer2"),
- map.getString("num1"),
- map.getString("num2")
- );
+ try {
+ voteModel.setStatus(1);
+ voteModel.setLiveUid(mLiveUid);
+ voteModel.setContent(map.getString("question"));
+ voteModel.setAnswer1(map.getString("answer1"));
+ voteModel.setAnswer2(map.getString("answer2"));
+ voteModel.setAnswer1Num(map.getInteger("num1"));
+ voteModel.setAnswer2Num(map.getInteger("num2"));
+ manager.mLiveRoomViewHolder.setVoteData(voteModel);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
break;
case VOTE_END:
try {
- LiveRoomVoteModel voteModel = JSONObject.parseObject(event.getObject().toString(), LiveRoomVoteModel.class);
+ voteModel = new LiveRoomVoteModel();
+ map = (JSONObject) event.getObject();
+ voteModel.setStatus(map.getInteger("status"));
+ voteModel.setContent(map.getString("question"));
+ voteModel.setAnswer1(map.getString("answer1"));
+ voteModel.setAnswer2(map.getString("answer2"));
+ voteModel.setAnswer1Num(map.getInteger("num1"));
+ voteModel.setAnswer2Num(map.getInteger("num2"));
System.out.println(">>>" + voteModel);
String content = voteModel.getResult();
if (!StringUtil.isEmpty(voteModel.getOptionText())) {
- content =voteModel.getResult().replace(voteModel.getOptionText(), "" + voteModel.getOptionText() + "");
+ content = voteModel.getResult().replace(voteModel.getOptionText(), "" + voteModel.getOptionText() + "");
}
manager.mLiveRoomViewHolder.dismissVote(voteModel.getResult(), content);
} catch (Exception e) {
diff --git a/live/src/main/java/com/yunbao/live/utils/LiveRoomVoteManager.java b/live/src/main/java/com/yunbao/live/utils/LiveRoomVoteManager.java
index 4bdd5ec68..1ed2c70b9 100644
--- a/live/src/main/java/com/yunbao/live/utils/LiveRoomVoteManager.java
+++ b/live/src/main/java/com/yunbao/live/utils/LiveRoomVoteManager.java
@@ -82,6 +82,8 @@ public class LiveRoomVoteManager {
private void initClick() {
if (isAnchor) {
+ mCancel.setOnClickListener(null);
+ mSubmit.setOnClickListener(null);
return;
}
mSubmit.setOnClickListener(v -> updateVote(true));
@@ -188,6 +190,9 @@ public class LiveRoomVoteManager {
mProgress.setMax(createVoteModel.getAnswer1Num() + createVoteModel.getAnswer2Num());
setLength(createVoteModel.getAnswer1Num());
}
+ if(isAnchor){
+ mClose.setVisibility(View.VISIBLE);
+ }
show();
} catch (Exception e) {
e.printStackTrace();
@@ -256,4 +261,14 @@ public class LiveRoomVoteManager {
voteLayout.setVisibility(View.GONE);
mSubmit.setTag(null);
}
+ public void fold(){
+ if(mVoteShow.getVisibility()!=View.VISIBLE){
+ hideAnchorVote();
+ }
+ }
+ public void expansion(){
+ if(mVoteShow.getVisibility()==View.VISIBLE){
+ hideAnchorVote();
+ }
+ }
}
diff --git a/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java b/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java
index 18ca369c4..b2e79b4fd 100644
--- a/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java
+++ b/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java
@@ -1519,7 +1519,8 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
enterRoomLeave.setVisibility(View.GONE);
topBanner1.setVisibility(View.GONE);
topBanner2.setVisibility(View.GONE);
-
+ topBanner1.update(mTopBannerList);
+ topBanner2.update(mTopBannerList);
removeDetailView();
}
@@ -3680,24 +3681,6 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
}
}
- public void setVoteData(String question, String answer1, String answer2, String num1, String num2) {
- try {
- LiveRoomVoteModel voteModel = new LiveRoomVoteModel();
- voteModel.setStatus(1);
- voteModel.setContent(question);
- voteModel.setAnswer1(answer1);
- voteModel.setAnswer2(answer2);
- voteModel.setAnswer1Num(Integer.parseInt(num1));
- voteModel.setAnswer2Num(Integer.parseInt(num2));
- voteModel.setLiveUid(mLiveUid);
- Log.i("voteManager", voteManager.toString());
- voteManager.setCreateVoteModel(voteModel);
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- }
-
public void dismissVote(String msg, String data) {
voteManager.endTimerTask(msg);
LiveChatBean bean = new LiveChatBean();
@@ -3709,6 +3692,11 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
public void setVoteData(LiveRoomVoteModel voteModel) {
Log.i("voteModel", voteModel.toString());
voteModel.setLiveUid(mLiveUid);
+ if(voteModel.isVote()){
+ voteManager.fold();
+ }else{
+ voteManager.expansion();
+ }
voteManager.setCreateVoteModel(voteModel);
}
@@ -4292,14 +4280,8 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
}
dismissVote(voteModel.getResult(), content);
} else if (event.getType() == LiveAnchorEvent.LiveAnchorType.VOTE_ANCHOR_UPDATE) {
- JSONObject map = (JSONObject) event.getObject();
- setVoteData(
- map.getString("question"),
- map.getString("answer1"),
- map.getString("answer2"),
- map.getString("num1"),
- map.getString("num2")
- );
+ LiveRoomVoteModel voteModel = JSONObject.parseObject(event.getObject().toString(), LiveRoomVoteModel.class);
+ setVoteData(voteModel);
}
}