onItemClickListener) {
+ LiveHttpUtil.livePkCheckLive(IMLoginManager.get(AppManager.getInstance().getMainActivity()).getUserInfo().getId() + "", "", "", new HttpCallback() {
+ @Override
+ public void onSuccess(int code, String msg, String[] info) {
+ if (code == 0 && info.length > 0) {
+ JSONObject obj = JSON.parseObject(info[0]);
+ if (obj != null) {
+ if (TextUtils.equals(obj.getString("ispk"), "1")) {
+ onItemClickListener.onItemClick(true, 0);
+ return;
+ }
+ }
+ }
+ onItemClickListener.onItemClick(false, 0);
+ }
+ });
+ }
+
+ protected void showDRApplyDialogTmp(UserBean u) {
+ checkPK((bean, position) -> {
+ if(bean){
+ onDRPkRefuse(u);
+ return;
+ }
+ showDRApplyDialog(u);
+ });
+
+ }
+
+ protected void showApplyDialogTmp(UserBean u) {
+ checkPK((bean, position) -> {
+ if(bean){
+ onPkRefuse(u);
+ return;
+ }
+ showApplyDialog(u);
+ });
+ }
+
+ protected void showPkDialogTmp(UserBean u) {
+ checkPK((bean, position) -> {
+ if(bean){
+ onPkRefuse(u);
+ return;
+ }
+ showPkDialog(u);
+ });
+ }
+
+ protected void isPKTmp(UserBean u) {
+ isPK(u);
+ }
+
+ protected void onDRPkApplyTmp(UserBean u) {
+ onDRPkApply(u);
+ }
+
+ protected void onDRPkTimeoutTmp(UserBean u) {
+ onDRPkTimeout(u);
+ }
+
+ protected void onDRPkRefuseTmp(UserBean u) {
+ onDRPkRefuse(u);
+ }
+
+ protected void onPkApplyTmp(UserBean u) {
+ onPkApply(u);
+ }
+
+ protected void onPkTimeoutTmp(UserBean u) {
+ onPkTimeout(u);
+ }
+
+ protected void onPkRefuseTmp(UserBean u) {
+ onPkRefuse(u);
+ }
+
+
+ protected abstract void showDRApplyDialog(UserBean u);//多人PK弹窗
+
+ protected abstract void showApplyDialog(UserBean u);//PK弹窗
+
+ protected abstract void showPkDialog(UserBean u);//随机PK弹框
+
+ protected abstract void isPK(UserBean bean);
+
+ protected abstract void onDRPkApply(UserBean u);
+
+ protected abstract void onDRPkTimeout(UserBean u);
+
+ protected abstract void onDRPkRefuse(UserBean u);
+
+ protected abstract void onPkApply(UserBean u);
+
+ protected abstract void onPkTimeout(UserBean u);
+
+ protected abstract void onPkRefuse(UserBean u);
+
+}
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 b911365d6..191620881 100644
--- a/live/src/main/java/com/yunbao/live/presenter/LiveRyLinkMicPkPresenter.java
+++ b/live/src/main/java/com/yunbao/live/presenter/LiveRyLinkMicPkPresenter.java
@@ -111,7 +111,7 @@ import io.rong.message.TextMessage;
* 主播与主播PK逻辑
*/
-public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
+public class LiveRyLinkMicPkPresenter extends AbsLinkMicPkPresenter implements View.OnClickListener {
private static final int WHAT_PK_WAIT_RECEIVE = 0;//收到pk申请等待 what
private static final int WHAT_PK_WAIT_SEND = 1;//发送pk申请等待 what
@@ -125,17 +125,11 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
private boolean mIsAnchor;//自己是否是主播
private SocketRyClient mSocketRyClient;
private ViewGroup mPkContainer;
- private boolean mIsApplyDialogShow;//是否显示了申请PK的弹窗
+
private boolean mAcceptPk;//是否接受连麦
- private boolean mIsPk;//是否已经Pk了
- public static String mApplyUid;//正在申请Pk的主播的uid
- private String mApplyUrl;//正在申请Pk的主播的头像
- private String mApplyNmae;//正在申请Pk的主播的名字
private String mApplyStream;//正在申请Pk的主播的stream
private String mLiveUid;//自己主播的uid
private String mUrl;//主播的头像
- public static String mPkUid;//正在Pk的对方主播的uid
- public static String oldmPkUid;//正在Pk的对方主播的uid
private ProgressTextView mLinkMicWaitProgress;
private int mPkWaitCount;//Pk弹窗等待倒计时Live
private int mPkTimeCount;//pk时间
@@ -144,7 +138,6 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
private LiveLinkMicPkViewHolder mLiveLinkMicPkViewHolder;
private String mPkTimeString1;
private String mPkTimeString2;
- private boolean mIsPkEnd;//pk是否结束,进入惩罚时间
private boolean mPkSend;//pk请求是否已经发送
private int mPkSendWaitCount;//发送pk请求后的等待时间
private String mSelfStream;
@@ -214,6 +207,7 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
};
public LiveRyLinkMicPkPresenter(Context context, ILiveLinkMicViewHolder linkMicViewHolder, boolean isAnchor, View root) {
+ super(false);
mContext = context;
mIsAnchor = isAnchor;
mRoot = root;
@@ -254,6 +248,7 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
}
public LiveRyLinkMicPkPresenter(Context context, LivePushRyViewHolder linkMicViewHolder, boolean isAnchor, View root) {
+ super(false);
mContext = context;
mIsAnchor = isAnchor;
mRoot = root;
@@ -516,14 +511,6 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
}
}
- /**
- * 主播与主播PK 主播收到其他主播发过来的多人PK申请的回调
- */
- public void onLinkDRMicPkApply(UserBean u) {
- Log.e("ry", "多人收到");
- showDRApplyDialog(u);
- }
-
/**
* 主播与主播PK 主播收到其他主播发过来的多人PK申请同意了的回调
*/
@@ -660,26 +647,7 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
}
- /**
- * 主播与主播PK 主播收到其他主播发过来的PK申请的回调
- */
- public void onLinkMicPkApply(UserBean u, String stream, int by) {
- Log.e("ry", u.getUserNiceName() + "单人收到" + u.getAvatar());
- mApplyUid = u.getId();
- mApplyUrl = u.getAvatar();
- mApplyNmae = u.getUserNiceName();
- if (by != 1) {
- if (mIsApplyDialogShow == false) {
- if (u.isRandomPk()) {
- showPkDialog(u);
- } else {
- showApplyDialog(u);
- }
- }
- } else {
- isPK(u);
- }
- }
+
/**
* 主播与主播PK PK主播发过来的已经接受
@@ -829,7 +797,8 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
}
- private void isPK(UserBean bean) {
+ @Override
+ protected void isPK(UserBean bean) {
ScreenDimenUtil util = ScreenDimenUtil.getInstance();
int mScreenWdith = util.getScreenWdith();
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, mScreenWdith * 720 / 960);
@@ -964,6 +933,312 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
}
+ @Override
+ protected void onDRPkApply(UserBean u) {
+ HttpClient.getInstance().get("Livepk.changeLive", "Livepk.changeLive")
+ .params("uid", CommonAppConfig.getInstance().getUid())
+ .params("pkuid", u.getId())
+ .params("type", "1")
+ .params("sign", "1")
+ .execute(new HttpCallback() {
+ @Override
+ public void onSuccess(int code, String msgs, String[] info) {
+ if (code == 0) {
+ Log.i("多人PK", "1code = " + code + ", msgs = " + msgs + ", info = " + Arrays.deepToString(info) + " mApplyUid = " + mApplyUid);
+ HttpClient.getInstance().get("live.getdrnum", "live.getdrnum")
+ .execute(new HttpCallback() {
+
+ @Override
+ public void onSuccess(int code, String msg, String[] info) {
+ Log.i(TAG, "code = " + code + ", msg = " + msg + ", info = " + Arrays.deepToString(info));
+ if (info.length > 0) {
+
+ JSONObject datas = JSONObject.parseObject(info[0]);
+ boolean agree = true;
+ if (datas.getIntValue("pk_num_day") <= 0) {
+ ToastUtil.show("多人PK次数已用完");
+ agree = false;
+ }
+ boolean finalAgree = agree;
+ IMRTCManager.getInstance().responseJoinOtherRoom(mApplyUid, agree, SOCKET_LIVE_DRPK, new IRCRTCResultCallback() {
+ @Override
+ public void onSuccess() {
+ if (finalAgree == true) {
+ HttpClient.getInstance().get("live.joinDRPKroom", "live.joinDRPKroom")
+ .params("uid", CommonAppConfig.getInstance().getUid())
+ .params("roomid", u.getId())
+ .execute(new HttpCallback() {
+
+ @Override
+ public void onSuccess(int code, String msg, String[] info) {
+ Log.i("多人PK", "code = " + code + ", msg = " + msg + ", info = " + Arrays.deepToString(info));
+
+ final SocketSendBean msg1 = new SocketSendBean()
+ .param("_method_", SOCKET_LIVE_DRPK)
+ .param("action", 10)
+ .param("uid", CommonAppConfig.getInstance().getUid());
+ msg1.create();
+ String targetId = "g" + CommonAppConfig.getInstance().getUid();
+ Conversation.ConversationType conversationType = Conversation.ConversationType.CHATROOM;
+ TextMessage messageContent = TextMessage.obtain(msg1.mResult.toString());
+ io.rong.imlib.model.Message message = io.rong.imlib.model.Message.obtain(targetId, conversationType, messageContent);
+
+ RongcloudIMManager.sendMessage(message, null, null, new IRongCallback.ISendMessageCallback() {
+ @Override
+ public void onAttached(io.rong.imlib.model.Message message) {
+
+ }
+
+ @Override
+ public void onSuccess(io.rong.imlib.model.Message message) {
+ Log.e("ry", "发送成功");
+ if (SocketRyClient.mSocketHandler != null) {
+ SocketRyClient.mSocketHandler.processBroadcast(msg1.mResult.toString() + "");
+ }
+ }
+
+ @Override
+ public void onError(io.rong.imlib.model.Message message, RongIMClient.ErrorCode errorCode) {
+ Log.e("ry", "发送失敗");
+ }
+ });
+ if (info.length == 0) {
+ return;
+ }
+ JSONObject obj = JSONObject.parseObject(info[0]);
+ JSONArray users = obj.getJSONArray("userlist");
+
+ //添加水印
+// RCRTCRect rect = new RCRTCRect(0.5f, 0.5f, 0.2f);
+// RCRTCEngine.getInstance().getDefaultVideoStream().setWatermark(fromText(50, mNameText), rect);
+ dRjoinOtherRoom(u.getId(), 1);
+
+ for (int i = 0; i < users.size(); i++) {
+ JSONObject user = users.getJSONObject(i);
+ Log.e("ry", mApplyUid + "VS" + user.getString("id") + "列表");
+ if (!user.getString("id").equals(CommonAppConfig.getInstance().getUid())) {
+ if (!user.getString("id").equals(CommonAppConfig.getInstance().getUid()) && !user.getString("id").equals(u.getId())) {
+ /**
+ * 向指定用户发送跨房间连麦请求
+ *
+ * 1: inviterAutoMix为true时:
+ *
+ * 1.1:如果被邀请方在加入邀请方房间之前发布了资源,当被邀请方加入邀请者房间成功后,服务器会把被邀请方流资源合并到邀请方视图 ·(默认仅悬浮布局合流)上。
+ *
+ * 1.2:如果被邀请方在加入邀请方房间之前没有发布过资源,将会在被邀请方发布资源成功后,服务器会把被邀请方流资源合并到邀请方视图(默认仅悬浮布局合流)上。
+ *
+ * 2:无论为true或false,双方都可以使用{@link RCRTCLiveInfo#setMixConfig(RCRTCMixConfig, IRCRTCResultCallback)} 方法主动设置合流布局。一旦主动设置过合流布局,后续音视频直播过程中设置的自动合流参数将失效。
+ *
+ */
+ IMRTCManager.getInstance().requestJoinOtherRoom(user.getString("id"), false, "LiveDRPK1", new IRCRTCResultCallback() {
+ @Override
+ public void onSuccess() {
+ }
+
+ @Override
+ public void onFailed(RTCErrorCode errorCode) {
+
+ }
+ });
+ }
+ }
+ }
+ }
+ });
+ }
+ }
+
+ @Override
+ public void onFailed(RTCErrorCode errorCode) {
+ ToastUtil.show("接受失败");
+ }
+ });
+ } else {
+ ToastUtil.show(msg);
+ }
+ }
+
+ });
+
+
+ }
+ }
+ });
+
+ /*LiveHttpUtil.livePkCheckLive(u.getId(), "", "", new HttpCallback() {
+ @Override
+ public void onSuccess(int code, String msg, String[] info) {
+ if (code == 0 && info.length > 0) {
+ JSONObject obj = JSON.parseObject(info[0]);
+ if (obj != null) {
+ if (obj.getString("ispk").equals("0")) {
+
+
+ }else{
+ ToastUtil.show(mContext.getString(R.string.pking_over));
+ }
+ }
+ }
+ }});*/
+ }
+
+ @Override
+ protected void onDRPkTimeout(UserBean u) {
+ IMRTCManager.getInstance().responseJoinOtherRoom(u.getId(), false, "extra", new IRCRTCResultCallback() {
+
+ @Override
+ public void onFailed(RTCErrorCode errorCode) {
+
+ }
+
+ @Override
+ public void onSuccess() {
+ final SocketSendBean msg1 = new SocketSendBean()
+ .param("_method_", SOCKET_LINK_MIC_PK)
+ .param("action", 8);
+ msg1.create();
+
+ String targetId = u.getId();
+ Conversation.ConversationType conversationType = Conversation.ConversationType.PRIVATE;
+ TextMessage messageContent = TextMessage.obtain(msg1.mResult.toString());
+ io.rong.imlib.model.Message message = io.rong.imlib.model.Message.obtain(targetId, conversationType, messageContent);
+
+ RongcloudIMManager.sendMessage(message, null, null, new IRongCallback.ISendMessageCallback() {
+ @Override
+ public void onAttached(io.rong.imlib.model.Message message) {
+
+ }
+
+ @Override
+ public void onSuccess(io.rong.imlib.model.Message message) {
+ Log.e("ry", "发送成功");
+ if (SocketRyClient.mSocketHandler != null) {
+ SocketRyClient.mSocketHandler.processBroadcast(msg1.mResult.toString() + "");
+ }
+ }
+
+ @Override
+ public void onError(io.rong.imlib.model.Message message, RongIMClient.ErrorCode errorCode) {
+ Log.e("ry", "发送失敗" + mApplyUid);
+ }
+ });
+ }
+ });
+ }
+
+ @Override
+ protected void onDRPkRefuse(UserBean u) {
+ IMRTCManager.getInstance().responseJoinOtherRoom(u.getId(), false, "extra", new IRCRTCResultCallback() {
+
+ @Override
+ public void onFailed(RTCErrorCode errorCode) {
+
+ }
+
+ @Override
+ public void onSuccess() {
+ final SocketSendBean msg1 = new SocketSendBean()
+ .param("_method_", SOCKET_LINK_MIC_PK)
+ .param("action", 3);
+ msg1.create();
+
+ String targetId = u.getId();
+ Conversation.ConversationType conversationType = Conversation.ConversationType.PRIVATE;
+ TextMessage messageContent = TextMessage.obtain(msg1.mResult.toString());
+ io.rong.imlib.model.Message message = io.rong.imlib.model.Message.obtain(targetId, conversationType, messageContent);
+
+ RongcloudIMManager.sendMessage(message, null, null, new IRongCallback.ISendMessageCallback() {
+ @Override
+ public void onAttached(io.rong.imlib.model.Message message) {
+
+ }
+
+ @Override
+ public void onSuccess(io.rong.imlib.model.Message message) {
+ Log.e("ry", "发送成功");
+ if (SocketRyClient.mSocketHandler != null) {
+ SocketRyClient.mSocketHandler.processBroadcast(msg1.mResult.toString() + "");
+ }
+ }
+
+ @Override
+ public void onError(io.rong.imlib.model.Message message, RongIMClient.ErrorCode errorCode) {
+ Log.e("ry", "发送失敗");
+ }
+ });
+ }
+ });
+ }
+
+ @Override
+ protected void onPkApply(UserBean u) {
+ LiveHttpUtil.livePkCheckLive(u.getId(), "", "", new HttpCallback() {
+ @Override
+ public void onSuccess(int code, String msg, String[] info) {
+ if (code == 0 && info.length > 0) {
+ JSONObject obj = JSON.parseObject(info[0]);
+ if (obj != null) {
+ if (obj.getString("ispk").equals("0")) {
+ isPKTmp(u);
+ } else {
+ ToastUtil.show(mContext.getString(R.string.pking_over));
+ }
+ }
+ }
+ }
+ });
+ }
+
+ @Override
+ protected void onPkTimeout(UserBean u) {
+ rtcRoom.getLocalUser().responseJoinOtherRoom(u.getId(), u.getId(), false, false, "extra", new IRCRTCResultCallback() {
+
+ @Override
+ public void onFailed(RTCErrorCode errorCode) {
+
+ }
+
+ @Override
+ public void onSuccess() {
+ final SocketSendBean msg1 = new SocketSendBean()
+ .param("_method_", SOCKET_LINK_MIC_PK)
+ .param("action", 8);
+ msg1.create();
+
+ String targetId = u.getId();
+ Conversation.ConversationType conversationType = Conversation.ConversationType.PRIVATE;
+ TextMessage messageContent = TextMessage.obtain(msg1.mResult.toString());
+ io.rong.imlib.model.Message message = io.rong.imlib.model.Message.obtain(targetId, conversationType, messageContent);
+
+ RongcloudIMManager.sendMessage(message, null, null, new IRongCallback.ISendMessageCallback() {
+ @Override
+ public void onAttached(io.rong.imlib.model.Message message) {
+
+ }
+
+ @Override
+ public void onSuccess(io.rong.imlib.model.Message message) {
+
+ Log.e("ry", "发送成功");
+ if (SocketRyClient.mSocketHandler != null) {
+ SocketRyClient.mSocketHandler.processBroadcast(msg1.mResult.toString() + "");
+ }
+ }
+
+ @Override
+ public void onError(io.rong.imlib.model.Message message, RongIMClient.ErrorCode errorCode) {
+ Log.e("ry", "发送失敗" + u.getId());
+ }
+ });
+ }
+ });
+ }
+
+ @Override
+ protected void onPkRefuse(UserBean u) {
+ onPkTimeoutTmp(u);
+ }
+
//与用户连麦
public void setUserMic(String liveid) {
JSONObject msg1 = new JSONObject();
@@ -1032,7 +1307,8 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
/**
* 显示申请PK的弹窗
*/
- private void showApplyDialog(UserBean u) {
+ @Override
+ protected void showApplyDialog(UserBean u) {
mIsApplyDialogShow = true;
mAcceptPk = false;
View v = LayoutInflater.from(mContext).inflate(R.layout.dialog_link_mic_pk_wait, null);
@@ -1050,63 +1326,10 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
mHandler.removeMessages(WHAT_PK_WAIT_RECEIVE);
}
if (mAcceptPk) {
-
- LiveHttpUtil.livePkCheckLive(u.getId(), "", "", new HttpCallback() {
- @Override
- public void onSuccess(int code, String msg, String[] info) {
- if (code == 0 && info.length > 0) {
- JSONObject obj = JSON.parseObject(info[0]);
- if (obj != null) {
- if (obj.getString("ispk").equals("0")) {
- isPK(u);
- }else{
- ToastUtil.show(mContext.getString(R.string.pking_over));
- }
- }
- }}});
+ onPkApplyTmp(u);
} else {
if (mPkWaitCount < 0) {
- rtcRoom.getLocalUser().responseJoinOtherRoom(u.getId(), u.getId(), false, false, "extra", new IRCRTCResultCallback() {
-
- @Override
- public void onFailed(RTCErrorCode errorCode) {
-
- }
-
- @Override
- public void onSuccess() {
- final SocketSendBean msg1 = new SocketSendBean()
- .param("_method_", SOCKET_LINK_MIC_PK)
- .param("action", 8);
- msg1.create();
-
- String targetId = u.getId();
- Conversation.ConversationType conversationType = Conversation.ConversationType.PRIVATE;
- TextMessage messageContent = TextMessage.obtain(msg1.mResult.toString());
- io.rong.imlib.model.Message message = io.rong.imlib.model.Message.obtain(targetId, conversationType, messageContent);
-
- RongcloudIMManager.sendMessage(message, null, null, new IRongCallback.ISendMessageCallback() {
- @Override
- public void onAttached(io.rong.imlib.model.Message message) {
-
- }
-
- @Override
- public void onSuccess(io.rong.imlib.model.Message message) {
-
- Log.e("ry", "发送成功");
- if (SocketRyClient.mSocketHandler != null) {
- SocketRyClient.mSocketHandler.processBroadcast(msg1.mResult.toString() + "");
- }
- }
-
- @Override
- public void onError(io.rong.imlib.model.Message message, RongIMClient.ErrorCode errorCode) {
- Log.e("ry", "发送失敗" + u.getId());
- }
- });
- }
- });
+ onPkTimeoutTmp(u);
}
mApplyUid = null;
@@ -1260,7 +1483,8 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
/**
* 随机PK拒绝对话框
*/
- public void showPkDialog(UserBean u) {
+ @Override
+ protected void showPkDialog(UserBean u) {
new DialogUitl.Builder(mContext)
.setHtmlCode(Html.fromHtml(
"有人向您发起PK请求。
" +
@@ -1333,7 +1557,7 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
void apply() {
- isPK(u);
+ isPKTmp(u);
}
})
.build().show();
@@ -1388,7 +1612,8 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
/**
* 显示申请多人PK的弹窗
*/
- private void showDRApplyDialog(UserBean u) {
+ @Override
+ protected void showDRApplyDialog(UserBean u) {
mApplyUid = u.getId();
mIsApplyDialogShow = true;
mAcceptPk = false;
@@ -1407,236 +1632,14 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
mHandler.removeMessages(WHAT_PK_WAIT_RECEIVE);
}
if (mAcceptPk) {
- HttpClient.getInstance().get("Livepk.changeLive", "Livepk.changeLive")
- .params("uid", CommonAppConfig.getInstance().getUid())
- .params("pkuid", u.getId())
- .params("type", "1")
- .params("sign", "1")
- .execute(new HttpCallback() {
- @Override
- public void onSuccess(int code, String msgs, String[] info) {
- if (code == 0) {
- Log.i("多人PK", "1code = " + code + ", msgs = " + msgs + ", info = " + Arrays.deepToString(info) + " mApplyUid = " + mApplyUid);
- HttpClient.getInstance().get("live.getdrnum", "live.getdrnum")
- .execute(new HttpCallback() {
-
- @Override
- public void onSuccess(int code, String msg, String[] info) {
- Log.i(TAG, "code = " + code + ", msg = " + msg + ", info = " + Arrays.deepToString(info));
- if (info.length > 0) {
-
- JSONObject datas = JSONObject.parseObject(info[0]);
- boolean agree = true;
- if (datas.getIntValue("pk_num_day") <= 0) {
- ToastUtil.show("多人PK次数已用完");
- agree = false;
- }
- boolean finalAgree = agree;
- IMRTCManager.getInstance().responseJoinOtherRoom(mApplyUid, agree, SOCKET_LIVE_DRPK, new IRCRTCResultCallback() {
- @Override
- public void onSuccess() {
- if (finalAgree == true) {
- HttpClient.getInstance().get("live.joinDRPKroom", "live.joinDRPKroom")
- .params("uid", CommonAppConfig.getInstance().getUid())
- .params("roomid", u.getId())
- .execute(new HttpCallback() {
-
- @Override
- public void onSuccess(int code, String msg, String[] info) {
- Log.i("多人PK", "code = " + code + ", msg = " + msg + ", info = " + Arrays.deepToString(info));
-
- final SocketSendBean msg1 = new SocketSendBean()
- .param("_method_", SOCKET_LIVE_DRPK)
- .param("action", 10)
- .param("uid", CommonAppConfig.getInstance().getUid());
- msg1.create();
- String targetId = "g" + CommonAppConfig.getInstance().getUid();
- Conversation.ConversationType conversationType = Conversation.ConversationType.CHATROOM;
- TextMessage messageContent = TextMessage.obtain(msg1.mResult.toString());
- io.rong.imlib.model.Message message = io.rong.imlib.model.Message.obtain(targetId, conversationType, messageContent);
-
- RongcloudIMManager.sendMessage(message, null, null, new IRongCallback.ISendMessageCallback() {
- @Override
- public void onAttached(io.rong.imlib.model.Message message) {
-
- }
-
- @Override
- public void onSuccess(io.rong.imlib.model.Message message) {
- Log.e("ry", "发送成功");
- if (SocketRyClient.mSocketHandler != null) {
- SocketRyClient.mSocketHandler.processBroadcast(msg1.mResult.toString() + "");
- }
- }
-
- @Override
- public void onError(io.rong.imlib.model.Message message, RongIMClient.ErrorCode errorCode) {
- Log.e("ry", "发送失敗");
- }
- });
- if (info.length == 0) {
- return;
- }
- JSONObject obj = JSONObject.parseObject(info[0]);
- JSONArray users = obj.getJSONArray("userlist");
-
- //添加水印
-// RCRTCRect rect = new RCRTCRect(0.5f, 0.5f, 0.2f);
-// RCRTCEngine.getInstance().getDefaultVideoStream().setWatermark(fromText(50, mNameText), rect);
- dRjoinOtherRoom(u.getId(), 1);
-
- for (int i = 0; i < users.size(); i++) {
- JSONObject user = users.getJSONObject(i);
- Log.e("ry", mApplyUid + "VS" + user.getString("id") + "列表");
- if (!user.getString("id").equals(CommonAppConfig.getInstance().getUid())) {
- if (!user.getString("id").equals(CommonAppConfig.getInstance().getUid()) && !user.getString("id").equals(u.getId())) {
- /**
- * 向指定用户发送跨房间连麦请求
- *
- * 1: inviterAutoMix为true时:
- *
- * 1.1:如果被邀请方在加入邀请方房间之前发布了资源,当被邀请方加入邀请者房间成功后,服务器会把被邀请方流资源合并到邀请方视图 ·(默认仅悬浮布局合流)上。
- *
- * 1.2:如果被邀请方在加入邀请方房间之前没有发布过资源,将会在被邀请方发布资源成功后,服务器会把被邀请方流资源合并到邀请方视图(默认仅悬浮布局合流)上。
- *
- * 2:无论为true或false,双方都可以使用{@link RCRTCLiveInfo#setMixConfig(RCRTCMixConfig, IRCRTCResultCallback)} 方法主动设置合流布局。一旦主动设置过合流布局,后续音视频直播过程中设置的自动合流参数将失效。
- *
- */
- IMRTCManager.getInstance().requestJoinOtherRoom(user.getString("id"), false, "LiveDRPK1", new IRCRTCResultCallback() {
- @Override
- public void onSuccess() {
- }
-
- @Override
- public void onFailed(RTCErrorCode errorCode) {
-
- }
- });
- }
- }
- }
- }
- });
- }
- }
-
- @Override
- public void onFailed(RTCErrorCode errorCode) {
- ToastUtil.show("接受失败");
- }
- });
- } else {
- ToastUtil.show(msg);
- }
- }
-
- });
-
-
- }
- }
- });
-
- /*LiveHttpUtil.livePkCheckLive(u.getId(), "", "", new HttpCallback() {
- @Override
- public void onSuccess(int code, String msg, String[] info) {
- if (code == 0 && info.length > 0) {
- JSONObject obj = JSON.parseObject(info[0]);
- if (obj != null) {
- if (obj.getString("ispk").equals("0")) {
-
-
- }else{
- ToastUtil.show(mContext.getString(R.string.pking_over));
- }
- }
- }
- }});*/
+ onDRPkApplyTmp(u);
} else {
if (mPkWaitCount < 0) {
- IMRTCManager.getInstance().responseJoinOtherRoom(u.getId(), false, "extra", new IRCRTCResultCallback() {
-
- @Override
- public void onFailed(RTCErrorCode errorCode) {
-
- }
-
- @Override
- public void onSuccess() {
- final SocketSendBean msg1 = new SocketSendBean()
- .param("_method_", SOCKET_LINK_MIC_PK)
- .param("action", 8);
- msg1.create();
-
- String targetId = u.getId();
- Conversation.ConversationType conversationType = Conversation.ConversationType.PRIVATE;
- TextMessage messageContent = TextMessage.obtain(msg1.mResult.toString());
- io.rong.imlib.model.Message message = io.rong.imlib.model.Message.obtain(targetId, conversationType, messageContent);
-
- RongcloudIMManager.sendMessage(message, null, null, new IRongCallback.ISendMessageCallback() {
- @Override
- public void onAttached(io.rong.imlib.model.Message message) {
-
- }
-
- @Override
- public void onSuccess(io.rong.imlib.model.Message message) {
- Log.e("ry", "发送成功");
- if (SocketRyClient.mSocketHandler != null) {
- SocketRyClient.mSocketHandler.processBroadcast(msg1.mResult.toString() + "");
- }
- }
-
- @Override
- public void onError(io.rong.imlib.model.Message message, RongIMClient.ErrorCode errorCode) {
- Log.e("ry", "发送失敗" + mApplyUid);
- }
- });
- }
- });
+ onDRPkTimeoutTmp(u);
} else {
- IMRTCManager.getInstance().responseJoinOtherRoom(u.getId(), false, "extra", new IRCRTCResultCallback() {
-
- @Override
- public void onFailed(RTCErrorCode errorCode) {
-
- }
-
- @Override
- public void onSuccess() {
- final SocketSendBean msg1 = new SocketSendBean()
- .param("_method_", SOCKET_LINK_MIC_PK)
- .param("action", 3);
- msg1.create();
-
- String targetId = u.getId();
- Conversation.ConversationType conversationType = Conversation.ConversationType.PRIVATE;
- TextMessage messageContent = TextMessage.obtain(msg1.mResult.toString());
- io.rong.imlib.model.Message message = io.rong.imlib.model.Message.obtain(targetId, conversationType, messageContent);
-
- RongcloudIMManager.sendMessage(message, null, null, new IRongCallback.ISendMessageCallback() {
- @Override
- public void onAttached(io.rong.imlib.model.Message message) {
-
- }
-
- @Override
- public void onSuccess(io.rong.imlib.model.Message message) {
- Log.e("ry", "发送成功");
- if (SocketRyClient.mSocketHandler != null) {
- SocketRyClient.mSocketHandler.processBroadcast(msg1.mResult.toString() + "");
- }
- }
-
- @Override
- public void onError(io.rong.imlib.model.Message message, RongIMClient.ErrorCode errorCode) {
- Log.e("ry", "发送失敗");
- }
- });
- }
- });
+ onDRPkRefuseTmp(u);
}
mApplyUid = null;
mApplyStream = null;
@@ -2541,7 +2544,7 @@ public class LiveRyLinkMicPkPresenter implements View.OnClickListener {
String pkTime = StringUtil.getDurationText(time * 1000);
livePushRyViewHolder.textTime.setText(String.format(mContext.getString(R.string.pk_time), pkTime));
mPkTimeCount = time;
- if (time>0){
+ if (time > 0) {
String s1 = StringUtil.getDurationText(mPkTimeCount * 1000);
livePushRyViewHolder.textTime.setText(String.format(mContext.getString(R.string.pk_time), s1));
mHandler.sendEmptyMessage(WHAT_PK_TIME2);
diff --git a/live/src/main/java/com/yunbao/live/presenter/LiveSwLinkMicPkPresenter.java b/live/src/main/java/com/yunbao/live/presenter/LiveSwLinkMicPkPresenter.java
index fe8d9ef64..26132c1ab 100644
--- a/live/src/main/java/com/yunbao/live/presenter/LiveSwLinkMicPkPresenter.java
+++ b/live/src/main/java/com/yunbao/live/presenter/LiveSwLinkMicPkPresenter.java
@@ -107,7 +107,7 @@ import io.rong.message.TextMessage;
* 主播与主播PK逻辑
*/
-public class LiveSwLinkMicPkPresenter implements View.OnClickListener {
+public class LiveSwLinkMicPkPresenter extends AbsLinkMicPkPresenter implements View.OnClickListener {
private static final int WHAT_PK_WAIT_RECEIVE = 0;//收到pk申请等待 what
private static final int WHAT_PK_WAIT_SEND = 1;//发送pk申请等待 what
@@ -123,15 +123,11 @@ public class LiveSwLinkMicPkPresenter implements View.OnClickListener {
private ViewGroup mPkContainer;
private boolean mIsApplyDialogShow;//是否显示了申请PK的弹窗
private boolean mAcceptPk;//是否接受连麦
- private boolean mIsPk;//是否已经Pk了
- public static String mApplyUid;//正在申请Pk的主播的uid
private String mApplyUrl;//正在申请Pk的主播的头像
private String mApplyNmae;//正在申请Pk的主播的名字
private String mApplyStream;//正在申请Pk的主播的stream
private String mLiveUid;//自己主播的uid
private String mUrl;//主播的头像
- public static String mPkUid;//正在Pk的对方主播的uid
- public static String oldmPkUid;//正在Pk的对方主播的uid
private ProgressTextView mLinkMicWaitProgress;
private int mPkWaitCount;//Pk弹窗等待倒计时Live
private int mPkTimeCount;//pk时间
@@ -140,7 +136,7 @@ public class LiveSwLinkMicPkPresenter implements View.OnClickListener {
private LiveLinkMicPkViewHolder mLiveLinkMicPkViewHolder;
private String mPkTimeString1;
private String mPkTimeString2;
- private boolean mIsPkEnd;//pk是否结束,进入惩罚时间
+
private boolean mPkSend;//pk请求是否已经发送
private int mPkSendWaitCount;//发送pk请求后的等待时间
private String mSelfStream;
@@ -169,6 +165,7 @@ public class LiveSwLinkMicPkPresenter implements View.OnClickListener {
}
public LiveSwLinkMicPkPresenter(Context context, ILiveLinkMicViewHolder linkMicViewHolder, boolean isAnchor, View root) {
+ super(true);
mContext = context;
mIsAnchor = isAnchor;
mRoot = root;
@@ -209,6 +206,7 @@ public class LiveSwLinkMicPkPresenter implements View.OnClickListener {
}
public LiveSwLinkMicPkPresenter(Context context, LivePushSwViewHolder linkMicViewHolder, boolean isAnchor, View root) {
+ super(true);
mContext = context;
mIsAnchor = isAnchor;
mRoot = root;
@@ -456,13 +454,6 @@ public class LiveSwLinkMicPkPresenter implements View.OnClickListener {
}
}
- /**
- * 主播与主播PK 主播收到其他主播发过来的多人PK申请的回调
- */
- public void onLinkDRMicPkApply(UserBean u) {
- Log.e("ry", "多人收到");
- showDRApplyDialog(u);
- }
public void onLinkDRMicPkQuit(String uid) {
HttpClient.getInstance().get("Live.getDRPKroom", "Live.getDRPKroom").params("uid", CommonAppConfig.getInstance().getUid()).params("roomid", mApplyUid).execute(new HttpCallback() {
@@ -560,18 +551,17 @@ public class LiveSwLinkMicPkPresenter implements View.OnClickListener {
for (int k = 0; k < pkScores.size(); k++) {
JSONObject score = pkScores.getJSONObject(k);
String userID = score.getString("id");
- if(userID.equals(uid)){
+ if (userID.equals(uid)) {
removeUid = k;
}
}
pkScores.remove(removeUid);
- upDataPkScore(pkScores,"-1",0,false);
+ upDataPkScore(pkScores, "-1", 0, false);
}
}, 100);
}
-
SWManager.get().setDrPkNumClarity(drPkbeans.size());
if (drPkbeans.size() == 1) {
mLiveAnchorViewHolder.closeEndPkBt();
@@ -619,30 +609,6 @@ public class LiveSwLinkMicPkPresenter implements View.OnClickListener {
mLiveAnchorViewHolder.showEndPkBt();
}
- /**
- * 主播与主播PK 主播收到其他主播发过来的PK申请的回调
- */
- public void onLinkMicPkApply(UserBean u, String stream, int by) {
- Log.e("ry", u.getUserNiceName() + "单人收到" + u.getAvatar());
- mApplyUid = u.getId();
- mApplyUrl = u.getAvatar();
- mApplyNmae = u.getUserNiceName();
- if (by != 1) {
- Log.e("ry", "1" + u.getUserNiceName() + "单人收到" + u.getAvatar());
- if (mIsApplyDialogShow == false) {
- if (u.isRandomPk()) {
- Log.e("ry", "2" + u.getUserNiceName() + "单人收到" + u.getAvatar());
- showPkDialog(u);
- } else {
- Log.e("ry", "3" + u.getUserNiceName() + "单人收到" + u.getAvatar());
- showApplyDialog(u);
- }
- }
- } else {
- Log.e("ry", "4" + u.getUserNiceName() + "单人收到" + u.getAvatar());
- isPK(u);
- }
- }
/**
* 主播与主播PK PK主播发过来的已经接受
@@ -658,7 +624,8 @@ public class LiveSwLinkMicPkPresenter implements View.OnClickListener {
LivePushSwViewHolder.btn_close.setVisibility(View.VISIBLE);
}
- private void isPK(UserBean bean) {
+ @Override
+ protected void isPK(UserBean bean) {
EventBus.getDefault().post(new AnchorInfoEvent(false, bean.getId(), bean.getUserNiceName(), bean.getAvatar()));
ScreenDimenUtil util = ScreenDimenUtil.getInstance();
int mScreenWdith = util.getScreenWdith();
@@ -720,10 +687,313 @@ public class LiveSwLinkMicPkPresenter implements View.OnClickListener {
});
}
+ @Override
+ protected void onDRPkApply(UserBean u) {
+ HttpClient.getInstance().get("Livepk.changeLive", "Livepk.changeLive").params("uid", CommonAppConfig.getInstance().getUid()).params("pkuid", u.getId()).params("type", "1").params("sign", "1").execute(new HttpCallback() {
+ @Override
+ public void onSuccess(int code, String msgs, String[] info) {
+ if (code == 0) {
+ Log.i("多人PK", "1code = " + code + ", msgs = " + msgs + ", info = " + Arrays.deepToString(info) + " mApplyUid = " + mApplyUid);
+ HttpClient.getInstance().get("live.getdrnum", "live.getdrnum").execute(new HttpCallback() {
+ @Override
+ public void onSuccess(int code, String msg, String[] info) {
+ Log.i(TAG, "code = " + code + ", msg = " + msg + ", info = " + Arrays.deepToString(info));
+ if (info.length > 0) {
+ JSONObject datas = JSONObject.parseObject(info[0]);
+ boolean agree = true;
+ if (datas.getIntValue("pk_num_day") <= 0) {
+ ToastUtil.show("多人PK次数已用完");
+ agree = false;
+ }
+ boolean finalAgree = agree;
+ if (finalAgree) {
+ HttpClient.getInstance().get("live.joinDRPKroom", "live.joinDRPKroom").params("uid", CommonAppConfig.getInstance().getUid()).params("roomid", u.getId()).execute(new HttpCallback() {
+
+ @Override
+ public void onSuccess(int code, String msg, String[] info) {
+ L.eSw("多人PK" + "code = " + code + ", msg = " + msg + ", info = " + Arrays.deepToString(info));
+ if (info.length == 0) {
+ return;
+ }
+ JSONObject obj = JSONObject.parseObject(info[0]);
+ drPkbeans = JSONObject.parseArray(obj.getString("userlist"), DrPkbean.class);
+ SWManager.get().setDrPkNumClarity(3);//加入成功后,将分别率设置为 VD_320x240
+ //将自己从多人pk列表里剔除
+ int removeIndex = -1;
+ for (int i = 0; i < drPkbeans.size(); i++) {
+ if (CommonAppConfig.getInstance().getUid().equals(String.valueOf(drPkbeans.get(i).getId()))) {
+ removeIndex = i;
+ }
+ }
+ if (removeIndex != -1) {
+ drPkbeans.remove(removeIndex);
+ L.eSw("将自己从多人pk列表里剔除" + new Gson().toJson(drPkbeans));
+ }
+
+ HttpClient.getInstance().get("Live.getDRPKroom", "Live.getDRPKroom").params("uid", CommonAppConfig.getInstance().getUid()).params("roomid", mApplyUid).execute(new HttpCallback() {
+ @Override
+ public void onSuccess(int code, String msg, String[] info) {
+ if (info.length > 0) {
+ JSONObject obj = JSONObject.parseObject(info[0]);
+ drPkbeans = JSONObject.parseArray(obj.getString("userlist"), DrPkbean.class);
+ for (int i = 0; i < drPkbeans.size(); i++) {
+ if (!CommonAppConfig.getInstance().getUid().equals(String.valueOf(drPkbeans.get(i).getId()))) {
+ final SocketSendBean msg1 = new SocketSendBean().param("_method_", SOCKET_LIVE_DRPK).param("action", 2).param("uname", CommonAppConfig.getInstance().getUserBean().getUserNiceName()).param("pkuid", CommonAppConfig.getInstance().getUid()).param("msgtype", 2).param("uid", drPkbeans.get(i).getId()).param("uhead", CommonAppConfig.getInstance().getUserBean().getAvatar()).param("pkhead", CommonAppConfig.getInstance().getUserBean().getAvatar()).param("pkname", CommonAppConfig.getInstance().getUserBean().getUserNiceName());
+ msg1.create();
+ L.eSw("uiduiduiduiduiduiduiduid" + drPkbeans.get(i).getId());
+ String targetId = String.valueOf(drPkbeans.get(i).getId());
+ Conversation.ConversationType conversationType = Conversation.ConversationType.PRIVATE;
+ TextMessage messageContent = TextMessage.obtain(msg1.mResult.toString());
+ io.rong.imlib.model.Message message = io.rong.imlib.model.Message.obtain(targetId, conversationType, messageContent);
+
+ RongIMClient.getInstance().sendMessage(message, null, null, new IRongCallback.ISendMessageCallback() {
+ @Override
+ public void onAttached(io.rong.imlib.model.Message message) {
+
+ }
+
+ @Override
+ public void onSuccess(io.rong.imlib.model.Message message) {
+ }
+
+ @Override
+ public void onError(io.rong.imlib.model.Message message, RongIMClient.ErrorCode errorCode) {
+ Log.e("tx", "aaa" + errorCode.toString());
+ ToastUtil.show(errorCode.code + ":" + errorCode.msg);
+ }
+ });
+
+ //
+ int index = livePushSwViewHolder.setAnDrPkRtc(String.valueOf(drPkbeans.get(i).getId()), -1);
+
+ L.eSw("onLinkDRMicPkApplyOk(UserBean u)-点击接收 1 " + u.getUserNiceName());
+ L.eSw("發送action = 2");
+
+ }
+
+ if (!CommonAppConfig.getInstance().getUid().equals(String.valueOf(drPkbeans.get(i).getId()))) {
+ final SocketSendBean msg1 = new SocketSendBean().param("_method_", SOCKET_LIVE_DRPK).param("action", 3).param("uname", CommonAppConfig.getInstance().getUserBean().getUserNiceName()).param("msgtype", 3).param("uid", drPkbeans.get(i).getId()).param("pkhead", CommonAppConfig.getInstance().getUserBean().getAvatar()).param("pkname", CommonAppConfig.getInstance().getUserBean().getUserNiceName() );;
+ msg1.create();
+ L.eSw("發送給自己直播間" + drPkbeans.get(i).getId());
+ String targetId = "g" + CommonAppConfig.getInstance().getUid();
+ Conversation.ConversationType conversationType = Conversation.ConversationType.CHATROOM; //群聊
+ TextMessage messageContent = TextMessage.obtain(msg1.mResult.toString());
+ io.rong.imlib.model.Message message = io.rong.imlib.model.Message.obtain(targetId, conversationType, messageContent);
+
+ RongIMClient.getInstance().sendMessage(message, null, null, new IRongCallback.ISendMessageCallback() {
+ @Override
+ public void onAttached(io.rong.imlib.model.Message message) {
+
+ }
+
+ @Override
+ public void onSuccess(io.rong.imlib.model.Message message) {
+ }
+
+ @Override
+ public void onError(io.rong.imlib.model.Message message, RongIMClient.ErrorCode errorCode) {
+ Log.e("tx", "aaa" + errorCode.toString());
+ ToastUtil.show(errorCode.code + ":" + errorCode.msg);
+ }
+ });
+ }
+
+
+ if (!mApplyUid.equals(String.valueOf(drPkbeans.get(i).getId())) && !CommonAppConfig.getInstance().getUid().equals(String.valueOf(drPkbeans.get(i).getId()))) {
+ final SocketSendBean msg1 = new SocketSendBean().param("_method_", SOCKET_LIVE_DRPK).param("action", 3).param("uname", CommonAppConfig.getInstance().getUserBean().getUserNiceName()).param("pkuid", CommonAppConfig.getInstance().getUid()).param("msgtype", 3).param("uid", drPkbeans.get(i).getId()).param("pkhead", CommonAppConfig.getInstance().getUserBean().getAvatar()).param("pkname", CommonAppConfig.getInstance().getUserBean().getUserNiceName());
+ msg1.create();
+ L.eSw("發送給其他主播直播间" + drPkbeans.get(i).getId());
+ String targetId = "g" + drPkbeans.get(i).getId();
+ Conversation.ConversationType conversationType = Conversation.ConversationType.CHATROOM; //群聊
+ TextMessage messageContent = TextMessage.obtain(msg1.mResult.toString());
+ io.rong.imlib.model.Message message = io.rong.imlib.model.Message.obtain(targetId, conversationType, messageContent);
+
+ RongIMClient.getInstance().sendMessage(message, null, null, new IRongCallback.ISendMessageCallback() {
+ @Override
+ public void onAttached(io.rong.imlib.model.Message message) {
+
+ }
+
+ @Override
+ public void onSuccess(io.rong.imlib.model.Message message) {
+ }
+
+ @Override
+ public void onError(io.rong.imlib.model.Message message, RongIMClient.ErrorCode errorCode) {
+ Log.e("tx", "aaa" + errorCode.toString());
+ ToastUtil.show(errorCode.code + ":" + errorCode.msg);
+ }
+ });
+ }
+ }
+ dRjoinOtherRoom(u);
+ //展示结束连麦按钮
+ //设置多人PK 房主ROOM UID
+ mLiveAnchorViewHolder.setDrpkRoomId(mApplyUid);
+ mLiveAnchorViewHolder.showEndPkBt();
+ }
+ }
+ });
+ }
+ });
+ }
+ } else {
+ ToastUtil.show(msg);
+ }
+ }
+
+ });
+
+
+ }
+ }
+ });
+ }
+
+ @Override
+ protected void onDRPkTimeout(UserBean u) {
+ IMRTCManager.getInstance().responseJoinOtherRoom(u.getId(), false, "extra", new IRCRTCResultCallback() {
+
+ @Override
+ public void onFailed(RTCErrorCode errorCode) {
+
+ }
+
+ @Override
+ public void onSuccess() {
+ final SocketSendBean msg1 = new SocketSendBean().param("_method_", SOCKET_LINK_MIC_PK).param("action", 8);
+ msg1.create();
+
+ String targetId = u.getId();
+ Conversation.ConversationType conversationType = Conversation.ConversationType.PRIVATE;
+ TextMessage messageContent = TextMessage.obtain(msg1.mResult.toString());
+ io.rong.imlib.model.Message message = io.rong.imlib.model.Message.obtain(targetId, conversationType, messageContent);
+
+ RongIMClient.getInstance().sendMessage(message, null, null, new IRongCallback.ISendMessageCallback() {
+ @Override
+ public void onAttached(io.rong.imlib.model.Message message) {
+
+ }
+
+ @Override
+ public void onSuccess(io.rong.imlib.model.Message message) {
+ Log.e("ry", "发送成功");
+ if (SocketSwClient.mSocketHandler != null) {
+ SocketSwClient.mSocketHandler.processBroadcast(msg1.mResult.toString() + "");
+ }
+ }
+
+ @Override
+ public void onError(io.rong.imlib.model.Message message, RongIMClient.ErrorCode errorCode) {
+ Log.e("ry", "发送失敗" + mApplyUid);
+ }
+ });
+ }
+ });
+ }
+
+ @Override
+ protected void onDRPkRefuse(UserBean u) {
+ IMRTCManager.getInstance().responseJoinOtherRoom(u.getId(), false, "extra", new IRCRTCResultCallback() {
+
+ @Override
+ public void onFailed(RTCErrorCode errorCode) {
+
+ }
+
+ @Override
+ public void onSuccess() {
+ final SocketSendBean msg1 = new SocketSendBean().param("_method_", SOCKET_LINK_MIC_PK).param("action", 3);
+ msg1.create();
+
+ String targetId = u.getId();
+ Conversation.ConversationType conversationType = Conversation.ConversationType.PRIVATE;
+ TextMessage messageContent = TextMessage.obtain(msg1.mResult.toString());
+ io.rong.imlib.model.Message message = io.rong.imlib.model.Message.obtain(targetId, conversationType, messageContent);
+
+ RongIMClient.getInstance().sendMessage(message, null, null, new IRongCallback.ISendMessageCallback() {
+ @Override
+ public void onAttached(io.rong.imlib.model.Message message) {
+
+ }
+
+ @Override
+ public void onSuccess(io.rong.imlib.model.Message message) {
+ Log.e("ry", "发送成功");
+ if (SocketSwClient.mSocketHandler != null) {
+ SocketSwClient.mSocketHandler.processBroadcast(msg1.mResult.toString() + "");
+ }
+ }
+
+ @Override
+ public void onError(io.rong.imlib.model.Message message, RongIMClient.ErrorCode errorCode) {
+ Log.e("ry", "发送失敗");
+ }
+ });
+ }
+ });
+ }
+
+ @Override
+ protected void onPkApply(UserBean u) {
+ LiveHttpUtil.livePkCheckLive(u.getId(), "", "", new HttpCallback() {
+ @Override
+ public void onSuccess(int code, String msg, String[] info) {
+ if (code == 0 && info.length > 0) {
+ JSONObject obj = JSON.parseObject(info[0]);
+ if (obj != null) {
+ if (obj.getString("ispk").equals("0")) {
+ isPKTmp(u);
+ } else {
+ ToastUtil.show(mContext.getString(R.string.pking_over));
+ }
+ }
+ }
+ }
+ });
+ }
+
+ @Override
+ protected void onPkTimeout(UserBean u) {
+ final SocketSendBean msg1 = new SocketSendBean().param("_method_", SOCKET_LINK_MIC_PK).param("action", 8);
+ msg1.create();
+ String targetId = u.getId();
+ Conversation.ConversationType conversationType = Conversation.ConversationType.PRIVATE;
+ TextMessage messageContent = TextMessage.obtain(msg1.mResult.toString());
+ io.rong.imlib.model.Message message = io.rong.imlib.model.Message.obtain(targetId, conversationType, messageContent);
+
+ RongIMClient.getInstance().sendMessage(message, null, null, new IRongCallback.ISendMessageCallback() {
+ @Override
+ public void onAttached(io.rong.imlib.model.Message message) {
+
+ }
+
+ @Override
+ public void onSuccess(io.rong.imlib.model.Message message) {
+
+ Log.e("ry", "发送成功");
+ if (SocketSwClient.mSocketHandler != null) {
+ SocketSwClient.mSocketHandler.processBroadcast(msg1.mResult.toString() + "");
+ }
+ }
+
+ @Override
+ public void onError(io.rong.imlib.model.Message message, RongIMClient.ErrorCode errorCode) {
+ Log.e("ry", "发送失敗" + u.getId());
+ }
+ });
+ }
+
+ @Override
+ protected void onPkRefuse(UserBean u) {
+ onPkTimeoutTmp(u);
+ }
+
/**
* 显示申请PK的弹窗
*/
- private void showApplyDialog(UserBean u) {
+ @Override
+ protected void showApplyDialog(UserBean u) {
mIsApplyDialogShow = true;
mAcceptPk = false;
View v = LayoutInflater.from(mContext).inflate(R.layout.dialog_link_mic_pk_wait, null);
@@ -741,50 +1011,10 @@ public class LiveSwLinkMicPkPresenter implements View.OnClickListener {
mHandler.removeMessages(WHAT_PK_WAIT_RECEIVE);
}
if (mAcceptPk) {
- LiveHttpUtil.livePkCheckLive(u.getId(), "", "", new HttpCallback() {
- @Override
- public void onSuccess(int code, String msg, String[] info) {
- if (code == 0 && info.length > 0) {
- JSONObject obj = JSON.parseObject(info[0]);
- if (obj != null) {
- if (obj.getString("ispk").equals("0")) {
- isPK(u);
- } else {
- ToastUtil.show(mContext.getString(R.string.pking_over));
- }
- }
- }
- }
- });
+ onPkApplyTmp(u);
} else {
if (mPkWaitCount < 0) {
- final SocketSendBean msg1 = new SocketSendBean().param("_method_", SOCKET_LINK_MIC_PK).param("action", 8);
- msg1.create();
- String targetId = u.getId();
- Conversation.ConversationType conversationType = Conversation.ConversationType.PRIVATE;
- TextMessage messageContent = TextMessage.obtain(msg1.mResult.toString());
- io.rong.imlib.model.Message message = io.rong.imlib.model.Message.obtain(targetId, conversationType, messageContent);
-
- RongIMClient.getInstance().sendMessage(message, null, null, new IRongCallback.ISendMessageCallback() {
- @Override
- public void onAttached(io.rong.imlib.model.Message message) {
-
- }
-
- @Override
- public void onSuccess(io.rong.imlib.model.Message message) {
-
- Log.e("ry", "发送成功");
- if (SocketSwClient.mSocketHandler != null) {
- SocketSwClient.mSocketHandler.processBroadcast(msg1.mResult.toString() + "");
- }
- }
-
- @Override
- public void onError(io.rong.imlib.model.Message message, RongIMClient.ErrorCode errorCode) {
- Log.e("ry", "发送失敗" + u.getId());
- }
- });
+ onPkTimeoutTmp(u);
}
mApplyUid = null;
mApplyStream = null;
@@ -803,7 +1033,7 @@ public class LiveSwLinkMicPkPresenter implements View.OnClickListener {
private String TAG = "多人PK";
- public void editPkRoom(String uid){
+ public void editPkRoom(String uid) {
SWManager.get().exitChannelToUid(Integer.parseInt(CommonAppConfig.getInstance().getUid()), uid);
}
@@ -852,7 +1082,8 @@ public class LiveSwLinkMicPkPresenter implements View.OnClickListener {
/**
* 随机PK拒绝对话框
*/
- public void showPkDialog(UserBean u) {
+ @Override
+ protected void showPkDialog(UserBean u) {
new DialogUitl.Builder(mContext).setHtmlCode(Html.fromHtml("有人向您发起PK请求。
" + "若拒绝PK,将会10分钟内不会再收到任何随机PK请求。")).setConfirmString("接受").setCancelString("拒絕").setView(R.layout.dialog_live_random_pk).setSimpleCallbackView(new DialogUitl.SimpleCallbackView() {
boolean clickCancel = false;
String titleVal;
@@ -914,7 +1145,7 @@ public class LiveSwLinkMicPkPresenter implements View.OnClickListener {
void apply() {
- isPK(u);
+ isPKTmp(u);
}
}).build().show();
}
@@ -968,7 +1199,8 @@ public class LiveSwLinkMicPkPresenter implements View.OnClickListener {
/**
* 显示申请多人PK的弹窗
*/
- private void showDRApplyDialog(UserBean u) {
+ @Override
+ protected void showDRApplyDialog(UserBean u) {
mApplyUid = u.getId();
mIsApplyDialogShow = true;
mAcceptPk = false;
@@ -987,245 +1219,13 @@ public class LiveSwLinkMicPkPresenter implements View.OnClickListener {
mHandler.removeMessages(WHAT_PK_WAIT_RECEIVE);
}
if (mAcceptPk) {
- HttpClient.getInstance().get("Livepk.changeLive", "Livepk.changeLive").params("uid", CommonAppConfig.getInstance().getUid()).params("pkuid", u.getId()).params("type", "1").params("sign", "1").execute(new HttpCallback() {
- @Override
- public void onSuccess(int code, String msgs, String[] info) {
- if (code == 0) {
- Log.i("多人PK", "1code = " + code + ", msgs = " + msgs + ", info = " + Arrays.deepToString(info) + " mApplyUid = " + mApplyUid);
- HttpClient.getInstance().get("live.getdrnum", "live.getdrnum").execute(new HttpCallback() {
- @Override
- public void onSuccess(int code, String msg, String[] info) {
- Log.i(TAG, "code = " + code + ", msg = " + msg + ", info = " + Arrays.deepToString(info));
- if (info.length > 0) {
- JSONObject datas = JSONObject.parseObject(info[0]);
- boolean agree = true;
- if (datas.getIntValue("pk_num_day") <= 0) {
- ToastUtil.show("多人PK次数已用完");
- agree = false;
- }
- boolean finalAgree = agree;
- if (finalAgree) {
- HttpClient.getInstance().get("live.joinDRPKroom", "live.joinDRPKroom").params("uid", CommonAppConfig.getInstance().getUid()).params("roomid", u.getId()).execute(new HttpCallback() {
-
- @Override
- public void onSuccess(int code, String msg, String[] info) {
- L.eSw("多人PK" + "code = " + code + ", msg = " + msg + ", info = " + Arrays.deepToString(info));
- if (info.length == 0) {
- return;
- }
- JSONObject obj = JSONObject.parseObject(info[0]);
- drPkbeans = JSONObject.parseArray(obj.getString("userlist"), DrPkbean.class);
- SWManager.get().setDrPkNumClarity(3);//加入成功后,将分别率设置为 VD_320x240
- //将自己从多人pk列表里剔除
- int removeIndex = -1;
- for (int i = 0; i < drPkbeans.size(); i++) {
- if (CommonAppConfig.getInstance().getUid().equals(String.valueOf(drPkbeans.get(i).getId()))) {
- removeIndex = i;
- }
- }
- if (removeIndex != -1) {
- drPkbeans.remove(removeIndex);
- L.eSw("将自己从多人pk列表里剔除" + new Gson().toJson(drPkbeans));
- }
-
- HttpClient.getInstance().get("Live.getDRPKroom", "Live.getDRPKroom").params("uid", CommonAppConfig.getInstance().getUid()).params("roomid", mApplyUid).execute(new HttpCallback() {
- @Override
- public void onSuccess(int code, String msg, String[] info) {
- if (info.length > 0) {
- JSONObject obj = JSONObject.parseObject(info[0]);
- drPkbeans = JSONObject.parseArray(obj.getString("userlist"), DrPkbean.class);
- for (int i = 0; i < drPkbeans.size(); i++) {
- if (!CommonAppConfig.getInstance().getUid().equals(String.valueOf(drPkbeans.get(i).getId()))) {
- final SocketSendBean msg1 = new SocketSendBean().param("_method_", SOCKET_LIVE_DRPK).param("action", 2).param("uname", CommonAppConfig.getInstance().getUserBean().getUserNiceName()).param("pkuid", CommonAppConfig.getInstance().getUid()).param("msgtype", 2).param("uid", drPkbeans.get(i).getId()).param("uhead", CommonAppConfig.getInstance().getUserBean().getAvatar()).param("pkhead", CommonAppConfig.getInstance().getUserBean().getAvatar()).param("pkname", CommonAppConfig.getInstance().getUserBean().getUserNiceName());
- msg1.create();
- L.eSw("uiduiduiduiduiduiduiduid" + drPkbeans.get(i).getId());
- String targetId = String.valueOf(drPkbeans.get(i).getId());
- Conversation.ConversationType conversationType = Conversation.ConversationType.PRIVATE;
- TextMessage messageContent = TextMessage.obtain(msg1.mResult.toString());
- io.rong.imlib.model.Message message = io.rong.imlib.model.Message.obtain(targetId, conversationType, messageContent);
-
- RongIMClient.getInstance().sendMessage(message, null, null, new IRongCallback.ISendMessageCallback() {
- @Override
- public void onAttached(io.rong.imlib.model.Message message) {
-
- }
-
- @Override
- public void onSuccess(io.rong.imlib.model.Message message) {
- }
-
- @Override
- public void onError(io.rong.imlib.model.Message message, RongIMClient.ErrorCode errorCode) {
- Log.e("tx", "aaa" + errorCode.toString());
- ToastUtil.show(errorCode.code + ":" + errorCode.msg);
- }
- });
-
- //
- int index = livePushSwViewHolder.setAnDrPkRtc(String.valueOf(drPkbeans.get(i).getId()), -1);
-
- L.eSw("onLinkDRMicPkApplyOk(UserBean u)-点击接收 1 " + u.getUserNiceName());
- L.eSw("發送action = 2");
-
- }
-
- if (!CommonAppConfig.getInstance().getUid().equals(String.valueOf(drPkbeans.get(i).getId()))) {
- final SocketSendBean msg1 = new SocketSendBean().param("_method_", SOCKET_LIVE_DRPK).param("action", 3).param("uname", CommonAppConfig.getInstance().getUserBean().getUserNiceName()).param("msgtype", 3).param("uid", drPkbeans.get(i).getId()).param("pkhead", CommonAppConfig.getInstance().getUserBean().getAvatar()).param("pkname", CommonAppConfig.getInstance().getUserBean().getUserNiceName() );;
- msg1.create();
- L.eSw("發送給自己直播間" + drPkbeans.get(i).getId());
- String targetId = "g" + CommonAppConfig.getInstance().getUid();
- Conversation.ConversationType conversationType = Conversation.ConversationType.CHATROOM; //群聊
- TextMessage messageContent = TextMessage.obtain(msg1.mResult.toString());
- io.rong.imlib.model.Message message = io.rong.imlib.model.Message.obtain(targetId, conversationType, messageContent);
-
- RongIMClient.getInstance().sendMessage(message, null, null, new IRongCallback.ISendMessageCallback() {
- @Override
- public void onAttached(io.rong.imlib.model.Message message) {
-
- }
-
- @Override
- public void onSuccess(io.rong.imlib.model.Message message) {
- }
-
- @Override
- public void onError(io.rong.imlib.model.Message message, RongIMClient.ErrorCode errorCode) {
- Log.e("tx", "aaa" + errorCode.toString());
- ToastUtil.show(errorCode.code + ":" + errorCode.msg);
- }
- });
- }
-
-
- if (!mApplyUid.equals(String.valueOf(drPkbeans.get(i).getId())) && !CommonAppConfig.getInstance().getUid().equals(String.valueOf(drPkbeans.get(i).getId()))) {
- final SocketSendBean msg1 = new SocketSendBean().param("_method_", SOCKET_LIVE_DRPK).param("action", 3).param("uname", CommonAppConfig.getInstance().getUserBean().getUserNiceName()).param("pkuid", CommonAppConfig.getInstance().getUid()).param("msgtype", 3).param("uid", drPkbeans.get(i).getId()).param("pkhead", CommonAppConfig.getInstance().getUserBean().getAvatar()).param("pkname", CommonAppConfig.getInstance().getUserBean().getUserNiceName());
- msg1.create();
- L.eSw("發送給其他主播直播间" + drPkbeans.get(i).getId());
- String targetId = "g" + drPkbeans.get(i).getId();
- Conversation.ConversationType conversationType = Conversation.ConversationType.CHATROOM; //群聊
- TextMessage messageContent = TextMessage.obtain(msg1.mResult.toString());
- io.rong.imlib.model.Message message = io.rong.imlib.model.Message.obtain(targetId, conversationType, messageContent);
-
- RongIMClient.getInstance().sendMessage(message, null, null, new IRongCallback.ISendMessageCallback() {
- @Override
- public void onAttached(io.rong.imlib.model.Message message) {
-
- }
-
- @Override
- public void onSuccess(io.rong.imlib.model.Message message) {
- }
-
- @Override
- public void onError(io.rong.imlib.model.Message message, RongIMClient.ErrorCode errorCode) {
- Log.e("tx", "aaa" + errorCode.toString());
- ToastUtil.show(errorCode.code + ":" + errorCode.msg);
- }
- });
- }
- }
- dRjoinOtherRoom(u);
- //展示结束连麦按钮
- //设置多人PK 房主ROOM UID
- mLiveAnchorViewHolder.setDrpkRoomId(mApplyUid);
- mLiveAnchorViewHolder.showEndPkBt();
- }
- }
- });
- }
- });
- }
- } else {
- ToastUtil.show(msg);
- }
- }
-
- });
-
-
- }
- }
- });
+ onDRPkApplyTmp(u);
} else {
if (mPkWaitCount < 0) {
- IMRTCManager.getInstance().responseJoinOtherRoom(u.getId(), false, "extra", new IRCRTCResultCallback() {
-
- @Override
- public void onFailed(RTCErrorCode errorCode) {
-
- }
-
- @Override
- public void onSuccess() {
- final SocketSendBean msg1 = new SocketSendBean().param("_method_", SOCKET_LINK_MIC_PK).param("action", 8);
- msg1.create();
-
- String targetId = u.getId();
- Conversation.ConversationType conversationType = Conversation.ConversationType.PRIVATE;
- TextMessage messageContent = TextMessage.obtain(msg1.mResult.toString());
- io.rong.imlib.model.Message message = io.rong.imlib.model.Message.obtain(targetId, conversationType, messageContent);
-
- RongIMClient.getInstance().sendMessage(message, null, null, new IRongCallback.ISendMessageCallback() {
- @Override
- public void onAttached(io.rong.imlib.model.Message message) {
-
- }
-
- @Override
- public void onSuccess(io.rong.imlib.model.Message message) {
- Log.e("ry", "发送成功");
- if (SocketSwClient.mSocketHandler != null) {
- SocketSwClient.mSocketHandler.processBroadcast(msg1.mResult.toString() + "");
- }
- }
-
- @Override
- public void onError(io.rong.imlib.model.Message message, RongIMClient.ErrorCode errorCode) {
- Log.e("ry", "发送失敗" + mApplyUid);
- }
- });
- }
- });
+ onDRPkTimeoutTmp(u);
} else {
- IMRTCManager.getInstance().responseJoinOtherRoom(u.getId(), false, "extra", new IRCRTCResultCallback() {
-
- @Override
- public void onFailed(RTCErrorCode errorCode) {
-
- }
-
- @Override
- public void onSuccess() {
- final SocketSendBean msg1 = new SocketSendBean().param("_method_", SOCKET_LINK_MIC_PK).param("action", 3);
- msg1.create();
-
- String targetId = u.getId();
- Conversation.ConversationType conversationType = Conversation.ConversationType.PRIVATE;
- TextMessage messageContent = TextMessage.obtain(msg1.mResult.toString());
- io.rong.imlib.model.Message message = io.rong.imlib.model.Message.obtain(targetId, conversationType, messageContent);
-
- RongIMClient.getInstance().sendMessage(message, null, null, new IRongCallback.ISendMessageCallback() {
- @Override
- public void onAttached(io.rong.imlib.model.Message message) {
-
- }
-
- @Override
- public void onSuccess(io.rong.imlib.model.Message message) {
- Log.e("ry", "发送成功");
- if (SocketSwClient.mSocketHandler != null) {
- SocketSwClient.mSocketHandler.processBroadcast(msg1.mResult.toString() + "");
- }
- }
-
- @Override
- public void onError(io.rong.imlib.model.Message message, RongIMClient.ErrorCode errorCode) {
- Log.e("ry", "发送失敗");
- }
- });
- }
- });
+ onDRPkRefuseTmp(u);
}
mApplyUid = null;
mApplyStream = null;
@@ -1694,14 +1694,14 @@ public class LiveSwLinkMicPkPresenter implements View.OnClickListener {
/**
* 更新Pk分数
*/
- public void upDataPkScore(JSONArray pkScores, String uid, int time,boolean isShowTimeTitle) {
+ public void upDataPkScore(JSONArray pkScores, String uid, int time, boolean isShowTimeTitle) {
this.pkScores = pkScores;
L.eSw("更新Pk分数 upDataPkScore time:" + time + " " + pkScores);
String userID1 = (String) imageGrade1.getTag();
String userID2 = (String) imageGrade2.getTag();
String userID4 = (String) imageGrade4.getTag();
- if (livePushSwViewHolder.timeTitle.getVisibility() == View.GONE &&isShowTimeTitle) {
+ if (livePushSwViewHolder.timeTitle.getVisibility() == View.GONE && isShowTimeTitle) {
mHandler.removeMessages(WHAT_PK_TIME2);
RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) livePushSwViewHolder.timeTitle.getLayoutParams();
layoutParams.topMargin = DpUtil.dp2px(123);
@@ -1795,7 +1795,7 @@ public class LiveSwLinkMicPkPresenter implements View.OnClickListener {
}
}
}
- } else if(pkScoreSize == 4){
+ } else if (pkScoreSize == 4) {
String userID3 = (String) imageGrade3.getTag();
detailsLinearLayout1.setVisibility(View.VISIBLE);
@@ -1899,7 +1899,7 @@ public class LiveSwLinkMicPkPresenter implements View.OnClickListener {
}
}
- }else{
+ } else {
detailsLinearLayout1.setVisibility(View.VISIBLE);
detailsLinearLayout2.setVisibility(View.VISIBLE);
@@ -1972,7 +1972,7 @@ public class LiveSwLinkMicPkPresenter implements View.OnClickListener {
mHandler.sendEmptyMessageAtTime(WHAT_PK_TIME2, getNextSecondTime());
}
} else {
- if(DRPKing!=-1){
+ if (DRPKing != -1) {
mLiveAnchorViewHolder.showEndPkBt();
}
livePushSwViewHolder.timeTitle.setVisibility(View.GONE);
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 4165190ae..57d0be7c7 100644
--- a/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java
+++ b/live/src/main/java/com/yunbao/live/views/LiveRoomViewHolder.java
@@ -218,6 +218,8 @@ import pl.droidsonroids.gif.GifImageView;
*/
public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickListener {
+ private static final int PK_LINE_HEIGHT = (960 + DpUtil.dp2px(65));//单人PK席位高度线
+ private static final int PK_BOTTOM = ScreenDimenUtil.getInstance().getScreenWdith() / 2;
public static Context Contexts;
private int mOffsetY;
private ViewGroup mRoot;
@@ -1746,8 +1748,8 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
layoutParams.topMargin = DpUtil.dp2px(190);
dragonImmediateParticipationTime.setLayoutParams(layoutParams);
}
- if(mContext instanceof LiveRyAnchorActivity ||mContext instanceof LiveSwAnchorActivity){
- if (dragonImmediateParticipationTime.getVisibility() == View.GONE ) {
+ if (mContext instanceof LiveRyAnchorActivity || mContext instanceof LiveSwAnchorActivity) {
+ if (dragonImmediateParticipationTime.getVisibility() == View.GONE) {
RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) redPacket.getLayoutParams();
layoutParams.topMargin = DpUtil.dp2px(110);
redPacket.setLayoutParams(layoutParams);
@@ -1769,7 +1771,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
redSchedule.setText(stringBuffer.toString());
openRedPacket.setText(String.format(mContext.getString(R.string.open_red_packet), mRedPacketModel.getRedPacketCount() + ""));
}
- if (IMLoginManager.get(mContext).getUserInfo().anchorUserType() && (mContext instanceof LiveSwAnchorActivity||mContext instanceof LiveRyAnchorActivity)) {
+ if (IMLoginManager.get(mContext).getUserInfo().anchorUserType() && (mContext instanceof LiveSwAnchorActivity || mContext instanceof LiveRyAnchorActivity)) {
anchorTimeHandler.removeCallbacks(anchorTimeRunnable);
anchorTimeHandler.post(anchorTimeRunnable);
}
@@ -1781,7 +1783,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
@Override
public void onViewClicks() {
- if (!(mContext instanceof LiveSwAnchorActivity||mContext instanceof LiveRyAnchorActivity)) {
+ if (!(mContext instanceof LiveSwAnchorActivity || mContext instanceof LiveRyAnchorActivity)) {
LiveNetManager.get(mContext).redPacketInfo(mLiveUid, redPacketModel.getRedPacketId(), new com.yunbao.common.http.base.HttpCallback() {
@Override
public void onSuccess(RedPacketInfoModel data) {
@@ -1807,7 +1809,6 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
}
-
}
});
}
@@ -2779,7 +2780,8 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
ScreenDimenUtil util = ScreenDimenUtil.getInstance();
int mScreenWdith = util.getScreenWdith();
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) lt_pk_line.getLayoutParams();
- params.height = mScreenWdith * 720 / 1120;
+ params.height = mScreenWdith * 720 / PK_LINE_HEIGHT;
+ //params.bottomMargin = (mScreenWdith * 720 / 960);
lt_pk_line.requestLayout();
lt_pk_line.setVisibility(View.VISIBLE);
@@ -2837,7 +2839,8 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
ScreenDimenUtil util = ScreenDimenUtil.getInstance();
int mScreenWdith = util.getScreenWdith();
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) lt_pk_line.getLayoutParams();
- params.height = mScreenWdith * 720 / 1120;
+ params.height = mScreenWdith * 720 / PK_LINE_HEIGHT;
+ //params.bottomMargin=(mScreenWdith * 720 / 960);
lt_pk_line.requestLayout();
lt_pk_line.setVisibility(View.VISIBLE);
@@ -2977,7 +2980,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
bundle.putString("toUid", toUid);
bundle.putInt("isAttention", isAttention);
bundle.putBoolean("isLive", isAnchor);
- bundle.putBoolean("SBW", !(mContext instanceof LiveSwAnchorActivity ||mContext instanceof LiveRyAnchorActivity ));
+ bundle.putBoolean("SBW", !(mContext instanceof LiveSwAnchorActivity || mContext instanceof LiveRyAnchorActivity));
giftWallDialog.setArguments(bundle);
giftWallDialog.show(((AbsActivity) mContext).getSupportFragmentManager(), "GiftWallDialog");
@@ -3342,7 +3345,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
//直播间 粉丝排行榜
openMedalRankWindow();
} else if (i == R.id.btn_guard) {
- ((LiveActivity) mContext).openNewGuardListWindow((mContext instanceof LiveSwAnchorActivity||mContext instanceof LiveRyAnchorActivity ));
+ ((LiveActivity) mContext).openNewGuardListWindow((mContext instanceof LiveSwAnchorActivity || mContext instanceof LiveRyAnchorActivity));
} else if (i == R.id.btn_red_pack) {
((LiveActivity) mContext).openRedPackListWindow();
@@ -3350,13 +3353,13 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
((LiveActivity) mContext).openPrizePoolWindow();
} else if (i == R.id.user_more) {
MobclickAgent.onEvent(mContext, "live_room_audience_list", "直播间上面点观众列表按钮");
- ((LiveActivity) mContext).openUserMoreListWindow(1, false, false, mContext instanceof LiveSwAnchorActivity||mContext instanceof LiveRyAnchorActivity);
+ ((LiveActivity) mContext).openUserMoreListWindow(1, false, false, mContext instanceof LiveSwAnchorActivity || mContext instanceof LiveRyAnchorActivity);
} else if (i == R.id.hot_btn) {
- ((LiveActivity) mContext).openUserMoreListWindow(1, false, false, mContext instanceof LiveSwAnchorActivity||mContext instanceof LiveRyAnchorActivity);
+ ((LiveActivity) mContext).openUserMoreListWindow(1, false, false, mContext instanceof LiveSwAnchorActivity || mContext instanceof LiveRyAnchorActivity);
} else if (i == R.id.noble_seat) {
MobclickAgent.onEvent(mContext, "live_room_noble", "贵族按钮");
- ((LiveActivity) mContext).openUserMoreListWindow(1, false, true, mContext instanceof LiveSwAnchorActivity||mContext instanceof LiveRyAnchorActivity);
+ ((LiveActivity) mContext).openUserMoreListWindow(1, false, true, mContext instanceof LiveSwAnchorActivity || mContext instanceof LiveRyAnchorActivity);
} else if (i == R.id.btn_close) {
// if (sudGameMin!=null&&sudGameMin.getVisibility()==View.VISIBLE) {
// new XPopup.Builder(mContext)
@@ -3389,7 +3392,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
} else if (i == R.id.user_guard) {
MobclickAgent.onEvent(mContext, "anchor_avatar_guard", "守护按钮");
// ((LiveActivity) mContext).openUserMoreListWindow(2, true);
- ((LiveActivity) mContext).openNewGuardListWindow(mContext instanceof LiveSwAnchorActivity||mContext instanceof LiveRyAnchorActivity);
+ ((LiveActivity) mContext).openNewGuardListWindow(mContext instanceof LiveSwAnchorActivity || mContext instanceof LiveRyAnchorActivity);
}
if (i == R.id.lt_trickery) {
showTrickeryDialog();
@@ -3414,7 +3417,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
* @param in 展示的view
*/
private void changeMsgView(View out, View in) {
- if (mContext instanceof LiveSwAnchorActivity||mContext instanceof LiveRyAnchorActivity) {
+ if (mContext instanceof LiveSwAnchorActivity || mContext instanceof LiveRyAnchorActivity) {
return;
}
if (in.getVisibility() == View.VISIBLE) {
@@ -4767,7 +4770,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
lt_trickster_salvation.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- if (mContext instanceof LiveSwAnchorActivity||mContext instanceof LiveRyAnchorActivity) {
+ if (mContext instanceof LiveSwAnchorActivity || mContext instanceof LiveRyAnchorActivity) {
dialog.dismiss();
return;
}
@@ -5378,7 +5381,7 @@ public class LiveRoomViewHolder extends AbsViewHolder implements View.OnClickLis
if (pkScores.size() == 2) {
linearGrade3.setVisibility(View.GONE);
linearGrade4.setVisibility(View.GONE);
- } else if(pkScores.size()==3){
+ } else if (pkScores.size() == 3) {
linearGrade4.setVisibility(View.GONE);
}
for (int i = 0; i < pkScores.size(); i++) {
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 58c55fb47..dc57dc37e 100644
--- a/live/src/main/java/com/yunbao/live/views/PortraitLiveManager.java
+++ b/live/src/main/java/com/yunbao/live/views/PortraitLiveManager.java
@@ -696,7 +696,7 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
if (mLivePlayViewHolder != null && data.getEnterRoomInfo().getIsconnection() != null && data.getEnterRoomInfo().getIsconnection().equals("1")) {
JSONArray array = pkInfo.getJSONArray("userlist");
//判断是否是多人连麦
- if (array.size() > 0) {//多人連麥
+ if (array!=null&& !array.isEmpty()) {//多人連麥
if (mLivePlayViewHolder != null) {
List drPkbeans = new ArrayList<>();
for (int j = 0; j < array.size(); j++) {
@@ -782,6 +782,9 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
}
if (mLivePlayViewHolder != null) {
JSONArray array = pkInfo.getJSONArray("userlist");
+ if(array==null){
+ array=new JSONArray();
+ }
List drPkbeans = new ArrayList<>();
for (int j = 0; j < array.size(); j++) {
UserBean userBean = new UserBean();
@@ -2379,7 +2382,10 @@ public class PortraitLiveManager implements LivePlayListener, SocketMessageListe
* @param time
*/
public void upDataPkScore(JSONArray pkScores, int time) {
- L.eSw("upDataPkScore" + time);
+ L.eSw("upDataPkScore" + time+"|"+pkScores);
+ if(pkScores==null){
+ return;
+ }
this.pkScores = pkScores;
if (mLiveRoomViewHolder != null) {
String liveId = mLiveBean.getUid();
diff --git a/live/src/main/res/layout/view_live_room.xml b/live/src/main/res/layout/view_live_room.xml
index 64345b088..1f22db57e 100644
--- a/live/src/main/res/layout/view_live_room.xml
+++ b/live/src/main/res/layout/view_live_room.xml
@@ -1493,6 +1493,7 @@
diff --git a/main/src/main/java/com/yunbao/main/views/MainHomeViewHolder.java b/main/src/main/java/com/yunbao/main/views/MainHomeViewHolder.java
index f27fae230..d044814a5 100644
--- a/main/src/main/java/com/yunbao/main/views/MainHomeViewHolder.java
+++ b/main/src/main/java/com/yunbao/main/views/MainHomeViewHolder.java
@@ -9,6 +9,7 @@ import android.widget.ImageView;
import android.widget.TextView;
import com.lxj.xpopup.XPopup;
+import com.yunbao.common.dialog.MessageSayHiNotifyDialog;
import com.yunbao.common.utils.MobclickAgent;
import com.yunbao.common.activity.AbsActivity;
import com.yunbao.common.dialog.SkitCheckInWasSuccessfulPopup;
@@ -59,9 +60,6 @@ public class MainHomeViewHolder extends AbsMainHomeParentViewHolder {
// img_trophy.setOnLongClickListener(new View.OnLongClickListener() {
// @Override
// public boolean onLongClick(View view) {
-// new XPopup.Builder(mContext)
-// .asCustom(new SkitCheckInWasSuccessfulPopup(mContext))
-// .show();
// return true;
// }
// });
diff --git a/main/src/main/res/values-zh/strings.xml b/main/src/main/res/values-zh/strings.xml
index 6a5b9dbe6..2f6a5b752 100644
--- a/main/src/main/res/values-zh/strings.xml
+++ b/main/src/main/res/values-zh/strings.xml
@@ -43,7 +43,7 @@
在線
離線
保存設置
- 保存設置
+ 清除設置
語音
文案
圖片