diff --git a/common/src/main/java/com/yunbao/common/Constants.java b/common/src/main/java/com/yunbao/common/Constants.java
index b597b23f7..f1e9e0d49 100644
--- a/common/src/main/java/com/yunbao/common/Constants.java
+++ b/common/src/main/java/com/yunbao/common/Constants.java
@@ -182,6 +182,7 @@ public class Constants {
public static final String LIVE_VOTE_CREATE="createVote";
public static final String LIVE_VOTE_UPDATE="updateVote";
public static final String LIVE_VOTE_END="endVote";
+ public static final String LIVE_PK_END="endPK";//结束PK,以这个PK获取到的参数为准
//游戏socket
public static final String SOCKET_GAME_ZJH = "startGame";//炸金花
diff --git a/common/src/main/res/values-en-rUS/string.xml b/common/src/main/res/values-en-rUS/string.xml
index 11c39afa5..e16582a76 100644
--- a/common/src/main/res/values-en-rUS/string.xml
+++ b/common/src/main/res/values-en-rUS/string.xml
@@ -1177,4 +1177,5 @@ Limited ride And limited avatar frame
VOTE
%s
box disappears after %s seconds
Please complete the form.
+ Create Vote Error
diff --git a/common/src/main/res/values-zh-rHK/strings.xml b/common/src/main/res/values-zh-rHK/strings.xml
index fb6940897..470a22c53 100644
--- a/common/src/main/res/values-zh-rHK/strings.xml
+++ b/common/src/main/res/values-zh-rHK/strings.xml
@@ -1172,4 +1172,5 @@
愛你,愛你
指導下我好嗎
完整填寫領大禮
+ 投票創建失敗
diff --git a/common/src/main/res/values-zh-rTW/strings.xml b/common/src/main/res/values-zh-rTW/strings.xml
index e67edd9e0..312518d95 100644
--- a/common/src/main/res/values-zh-rTW/strings.xml
+++ b/common/src/main/res/values-zh-rTW/strings.xml
@@ -1171,4 +1171,5 @@
愛你,愛你
指導下我好嗎
完整填寫領大禮
+ 投票創建失敗
diff --git a/common/src/main/res/values-zh/strings.xml b/common/src/main/res/values-zh/strings.xml
index 42961e3a7..599fbf880 100644
--- a/common/src/main/res/values-zh/strings.xml
+++ b/common/src/main/res/values-zh/strings.xml
@@ -1177,4 +1177,5 @@
迷你盲盒
典藏盲盒
PD盲盒
+ 投票創建失敗
diff --git a/common/src/main/res/values/strings.xml b/common/src/main/res/values/strings.xml
index ba587e3ae..280fb3fe0 100644
--- a/common/src/main/res/values/strings.xml
+++ b/common/src/main/res/values/strings.xml
@@ -1192,4 +1192,5 @@ Limited ride And limited avatar frame
參與
%s在%s中抽取到了
%S送给了%s
+ Create Vote Error
diff --git a/live/src/main/java/com/yunbao/live/activity/LiveActivity.java b/live/src/main/java/com/yunbao/live/activity/LiveActivity.java
index c4aef1ba1..a03991723 100644
--- a/live/src/main/java/com/yunbao/live/activity/LiveActivity.java
+++ b/live/src/main/java/com/yunbao/live/activity/LiveActivity.java
@@ -1,5 +1,7 @@
package com.yunbao.live.activity;
+import static com.yunbao.live.views.LiveRoomViewHolder.mLiveUid;
+
import android.app.Dialog;
import android.content.ClipData;
import android.content.ClipboardManager;
@@ -390,6 +392,17 @@ public abstract class LiveActivity extends AbsActivity implements SocketMessageL
}
+ @Override
+ public void onEndPk(long leftUid, long rightUid, long left, long right, LivePKUserListBean bean) {
+ if (mLiveRyLinkMicPkPresenter != null) {
+ if (mLiveUid.equals(leftUid + "")) {
+ mLiveRyLinkMicPkPresenter.onPkProgressEnd(left, right, bean);
+ } else {
+ mLiveRyLinkMicPkPresenter.onPkProgressEnd(right, left, bean);
+ }
+ }
+ }
+
/**
* 收到弹幕消息
*/
diff --git a/live/src/main/java/com/yunbao/live/dialog/LiveNewRoomClassDialogFragment.java b/live/src/main/java/com/yunbao/live/dialog/LiveNewRoomClassDialogFragment.java
index f2ba058b5..d248207cc 100644
--- a/live/src/main/java/com/yunbao/live/dialog/LiveNewRoomClassDialogFragment.java
+++ b/live/src/main/java/com/yunbao/live/dialog/LiveNewRoomClassDialogFragment.java
@@ -64,7 +64,13 @@ public class LiveNewRoomClassDialogFragment extends AbsDialogFragment implements
if (configBean != null) {
List list1 = configBean.getLiveClass();
for (int i = 0; i < list1.size(); i++) {
- if (!list1.get(i).getName().equals("New") && !list1.get(i).getName().equals("Hot") && !list1.get(i).getName().equals("熱門") && !list1.get(i).getName().equals("新秀")) {
+ if (!list1.get(i).getName().equals("New") &&
+ !list1.get(i).getName().equals("新秀") &&
+ !list1.get(i).getName().equals("熱門") &&
+ !list1.get(i).getName().equals("Hot") &&
+ !list1.get(i).getName().equals("男神") &&
+ !list1.get(i).getName().equals("Mr.Right")
+ ) {
list.add(list1.get(i));
}
}
diff --git a/live/src/main/java/com/yunbao/live/presenter/LiveRyLinkMicPkPresenter.java b/live/src/main/java/com/yunbao/live/presenter/LiveRyLinkMicPkPresenter.java
index 409f79daa..b79c02a83 100644
--- a/live/src/main/java/com/yunbao/live/presenter/LiveRyLinkMicPkPresenter.java
+++ b/live/src/main/java/com/yunbao/live/presenter/LiveRyLinkMicPkPresenter.java
@@ -206,13 +206,14 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
Log.d("RYM_DG", "Other onLeaveRoom: room = " + room.getRoomId());
}
};
+
public LiveRyLinkMicPkPresenter(Context context, ILiveLinkMicViewHolder linkMicViewHolder, boolean isAnchor, View root) {
mContext = context;
mIsAnchor = isAnchor;
mRoot = root;
mPkContainer = linkMicViewHolder.getPkContainer();
mPkTimeString1 = "";
- mPkTimeString2 =mContext.getString(R.string.live_pk_time_2);
+ mPkTimeString2 = mContext.getString(R.string.live_pk_time_2);
//从本地取数据
String pkTime = CommonAppConfig.getInstance().getAnchorPkTime();
if (!pkTime.isEmpty()) {
@@ -253,7 +254,7 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
mPkContainer = linkMicViewHolder.getPkContainer();
livePushRyViewHolder = linkMicViewHolder;
mPkTimeString1 = "";
- mPkTimeString2 =mContext.getString(R.string.live_pk_time_2);
+ mPkTimeString2 = mContext.getString(R.string.live_pk_time_2);
//从本地取数据
String pkTime = CommonAppConfig.getInstance().getAnchorPkTime();
if (!pkTime.isEmpty()) {
@@ -2184,6 +2185,18 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
nextPkTimeCountDown(2);
}
+ /**
+ * 修改最终PK数据
+ * @param leftGift 左边数据
+ * @param rightGift 右边数据
+ * @param bean 排位数据
+ */
+ public void onPkProgressEnd(long leftGift, long rightGift,LivePKUserListBean bean) {
+ if (mLiveLinkMicPkViewHolder != null) {
+ mLiveLinkMicPkViewHolder.onProgressChanged(leftGift, rightGift, bean, true);
+ }
+ }
+
/**
* 进房间的时候懲罰开始
@@ -2312,7 +2325,7 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
// //恢复播放画面
if (i == 1) {
- if(btn_close!=null){
+ if (btn_close != null) {
btn_close.setVisibility(View.GONE);
}
if (rtcRoom != null) {
diff --git a/live/src/main/java/com/yunbao/live/socket/SocketMessageListener.java b/live/src/main/java/com/yunbao/live/socket/SocketMessageListener.java
index ff09eb10e..e8cdb4451 100644
--- a/live/src/main/java/com/yunbao/live/socket/SocketMessageListener.java
+++ b/live/src/main/java/com/yunbao/live/socket/SocketMessageListener.java
@@ -291,6 +291,16 @@ public interface SocketMessageListener {
*/
void onPrizePoolUp(String level);
+ /**
+ * 最终PK数据
+ * @param leftUid 左边uid
+ * @param rightUid 右边uid
+ * @param left 左边分数
+ * @param right 右边分数
+ * @param bean 排位顺序
+ */
+ void onEndPk(long leftUid,long rightUid,long left,long right,LivePKUserListBean bean);
+
/***********************以下是游戏*********************************/
/**
* 游戏 智勇三张 游戏的回调
diff --git a/live/src/main/java/com/yunbao/live/socket/SocketRyClient.java b/live/src/main/java/com/yunbao/live/socket/SocketRyClient.java
index b131c0f4e..45d0781f4 100644
--- a/live/src/main/java/com/yunbao/live/socket/SocketRyClient.java
+++ b/live/src/main/java/com/yunbao/live/socket/SocketRyClient.java
@@ -7,8 +7,10 @@ import static com.yunbao.live.views.LivePushRyViewHolder.rtcRoom;
import static com.yunbao.live.views.LiveRoomViewHolder.getIsHot;
import android.app.Activity;
+import android.app.Dialog;
import android.content.Context;
import android.os.Handler;
+import android.os.Looper;
import android.os.Message;
import android.text.TextUtils;
import android.util.Log;
@@ -40,6 +42,7 @@ import com.yunbao.common.http.HttpClient;
import com.yunbao.common.manager.IMRTCManager;
import com.yunbao.common.manager.RandomPkManager;
import com.yunbao.common.utils.Bus;
+import com.yunbao.common.utils.DialogUitl;
import com.yunbao.common.utils.L;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.live.R;
@@ -66,6 +69,8 @@ import org.greenrobot.eventbus.EventBus;
import java.lang.ref.WeakReference;
import java.util.List;
+import java.util.Timer;
+import java.util.TimerTask;
import cn.rongcloud.rtc.api.callback.IRCRTCResultCallback;
import cn.rongcloud.rtc.base.RTCErrorCode;
@@ -670,6 +675,14 @@ public class SocketRyClient {
.setObject(map)
);
break;
+ case Constants.LIVE_PK_END:
+ mListener.onEndPk(map.getLong("uid"),
+ map.getLong("pkuid"),
+ map.getLong("uid_score"),
+ map.getLong("pkuid_score"),
+ JSONObject.parseObject(map.getJSONObject("ct").getJSONObject("pk_top_users").toJSONString(), LivePKUserListBean.class)
+ );
+ break;
}
}
diff --git a/live/src/main/java/com/yunbao/live/utils/LiveAnchorVoteManager.java b/live/src/main/java/com/yunbao/live/utils/LiveAnchorVoteManager.java
index 1d10fa148..476fb10c6 100644
--- a/live/src/main/java/com/yunbao/live/utils/LiveAnchorVoteManager.java
+++ b/live/src/main/java/com/yunbao/live/utils/LiveAnchorVoteManager.java
@@ -64,9 +64,8 @@ public class LiveAnchorVoteManager {
@Override
public void onError(String error) {
- ToastUtil.show(error);
LiveRoomVoteModel voteModel = new LiveRoomVoteModel();
- voteModel.setContent(error);
+ voteModel.setContent(CommonAppContext.getTopActivity().getString(com.yunbao.common.R.string.live_vote_create_error));
listener.onItemClick(voteModel, -1);
}
});
diff --git a/live/src/main/java/com/yunbao/live/views/LiveLinkMicPkViewHolder.java b/live/src/main/java/com/yunbao/live/views/LiveLinkMicPkViewHolder.java
index 832a4ec12..94487fe74 100644
--- a/live/src/main/java/com/yunbao/live/views/LiveLinkMicPkViewHolder.java
+++ b/live/src/main/java/com/yunbao/live/views/LiveLinkMicPkViewHolder.java
@@ -5,6 +5,7 @@ import android.animation.AnimatorListenerAdapter;
import android.animation.ObjectAnimator;
import android.animation.ValueAnimator;
import android.content.Context;
+import android.graphics.Color;
import android.graphics.Path;
import android.graphics.PathMeasure;
import android.graphics.RectF;
@@ -84,8 +85,8 @@ public class LiveLinkMicPkViewHolder extends AbsViewHolder {
public void init() {
mHalfScreenWidth = ScreenDimenUtil.getInstance().getScreenWdith() / 2;
- mLeftString =mContext.getString(R.string.live_link_mic_pk_1);
- mRightString =mContext.getString(R.string.live_link_mic_pk_2);
+ mLeftString = mContext.getString(R.string.live_link_mic_pk_1);
+ mRightString = mContext.getString(R.string.live_link_mic_pk_2);
mFrameImageView = (FrameImageView) findViewById(R.id.frame_img);
mFrameImageView.setImageList(LiveIconUtil.getLinkMicPkAnim());//PK开始动画
frame_img_pk = (ImageView) findViewById(R.id.frame_img_pk);
@@ -155,7 +156,7 @@ public class LiveLinkMicPkViewHolder extends AbsViewHolder {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
- Log.i("女神说", "倒计时状态:"+s);
+ Log.i("女神说", "倒计时状态:" + s);
if (mTime.getVisibility() == View.VISIBLE) {
EventBus.getDefault().post(new LiveAudienceEvent()
.setType(LiveAudienceEvent.LiveAudienceType.LIVE_PK_ING));
@@ -198,6 +199,7 @@ public class LiveLinkMicPkViewHolder extends AbsViewHolder {
animationDrawable = (AnimationDrawable) frame_img_pk.getBackground();
animationDrawable.start();
}
+ mLeft.setTag(null);
}
public void showTime() {
@@ -233,6 +235,7 @@ public class LiveLinkMicPkViewHolder extends AbsViewHolder {
}
if (mLeft != null) {
mLeft.setTranslationX(0);
+ mLeft.setTag(null);
mLeft2.setTranslationX(0);
}
if (mRight != null) {
@@ -241,7 +244,27 @@ public class LiveLinkMicPkViewHolder extends AbsViewHolder {
}
}
+ /**
+ * 修改PK进度条进度
+ * @param leftGift 左边进度
+ * @param rightGift 右边进度
+ * @param bean 排位信息
+ */
public void onProgressChanged(long leftGift, long rightGift, LivePKUserListBean bean) {
+ onProgressChanged(leftGift, rightGift, bean, false);
+ }
+
+ /**
+ * 修改PK进度条进度
+ * @param leftGift 左边进度
+ * @param rightGift 右边进度
+ * @param bean 排位信息
+ * @param isEnd 是否为最终数据,是的话就不再接收后续修改数据,默认false
+ */
+ public void onProgressChanged(long leftGift, long rightGift, LivePKUserListBean bean, boolean isEnd) {
+ if (mLeft.getTag() != null && ((boolean) mLeft.getTag())) {
+ return;
+ }
mLeft.setText(mLeftString + " " + leftGift);
mRight.setText(rightGift + " " + mRightString);
if (leftGift == rightGift) {
@@ -262,8 +285,10 @@ public class LiveLinkMicPkViewHolder extends AbsViewHolder {
animationDrawable = (AnimationDrawable) frame_img_pk.getBackground();
animationDrawable.start();
}
-
- EventBus.getDefault().post(new LiveAudienceEvent().setType(LiveAudienceEvent.LiveAudienceType.PK_TWO_UPDATE_HEAD_DATA).setLivePKUserListBean(bean));
+ mLeft.setTag(isEnd);
+ if (bean != null) {
+ EventBus.getDefault().post(new LiveAudienceEvent().setType(LiveAudienceEvent.LiveAudienceType.PK_TWO_UPDATE_HEAD_DATA).setLivePKUserListBean(bean));
+ }
}
private void changeLine(float nowIndex, long leftGift, long rightGift) {
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 921a581c0..c555028ed 100644
--- a/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java
+++ b/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java
@@ -5,6 +5,7 @@ import static com.yunbao.live.bean.LiveChatBean.RECOMMEND_CARD_NOTIFY;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
+import android.graphics.Color;
import android.graphics.Outline;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
@@ -1098,7 +1099,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
RelativeLayout.LayoutParams params1 = (RelativeLayout.LayoutParams)
mChatRecyclerView.getLayoutParams();
- params1.topMargin = 180;
+ params1.topMargin = DpUtil.dp2px(65);
mChatRecyclerView.setLayoutParams(params1);
mChatRecyclerView.setHasFixedSize(true);
diff --git a/live/src/main/java/com/yunbao/live/views/PortraitLiveManager.java b/live/src/main/java/com/yunbao/live/views/PortraitLiveManager.java
index 3f39c1888..50114eeaa 100644
--- a/live/src/main/java/com/yunbao/live/views/PortraitLiveManager.java
+++ b/live/src/main/java/com/yunbao/live/views/PortraitLiveManager.java
@@ -1,6 +1,7 @@
package com.yunbao.live.views;
import static com.yunbao.live.views.LiveRoomViewHolder.isStayRoomfive;
+import static com.yunbao.live.views.LiveRoomViewHolder.mLiveUid;
import android.app.Activity;
import android.app.Dialog;
@@ -9,6 +10,7 @@ import android.content.res.Configuration;
import android.graphics.drawable.AnimationDrawable;
import android.os.CountDownTimer;
import android.os.Handler;
+import android.os.Looper;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
@@ -97,6 +99,8 @@ import org.greenrobot.eventbus.EventBus;
import java.util.ArrayList;
import java.util.List;
+import java.util.Timer;
+import java.util.TimerTask;
import cn.rongcloud.rtc.api.RCRTCEngine;
import cn.rongcloud.rtc.api.callback.IRCRTCResultCallback;
@@ -1204,6 +1208,17 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
}
}
+ @Override
+ public void onEndPk(long leftUid, long rightUid, long left, long right,LivePKUserListBean bean) {
+ if (mLiveRyLinkMicPkPresenter != null) {
+ if (mLiveUid.equals(leftUid + "")) {
+ mLiveRyLinkMicPkPresenter.onPkProgressEnd(left, right,bean);
+ } else {
+ mLiveRyLinkMicPkPresenter.onPkProgressEnd(right, left,bean);
+ }
+ }
+ }
+
@Override
public void onSendDanMu(LiveDanMuBean bean) {
if (mLiveRoomViewHolder != null) {
diff --git a/live/src/main/res/layout/view_live_end.xml b/live/src/main/res/layout/view_live_end.xml
index aaf9be7c0..bf3ac74c6 100644
--- a/live/src/main/res/layout/view_live_end.xml
+++ b/live/src/main/res/layout/view_live_end.xml
@@ -399,7 +399,6 @@
android:id="@+id/live_duration_anchor"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginTop="12dp"
android:text="0"
android:textColor="@color/white"
android:textSize="16sp"
diff --git a/main/src/main/res/layout/item_main_home_live_head.xml b/main/src/main/res/layout/item_main_home_live_head.xml
index 17dd2fa24..36b611239 100644
--- a/main/src/main/res/layout/item_main_home_live_head.xml
+++ b/main/src/main/res/layout/item_main_home_live_head.xml
@@ -16,6 +16,8 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="0dp"
+ android:layout_marginStart="10dp"
+ android:layout_marginEnd="10dp"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:scaleType="centerCrop"