update 自由PK

This commit is contained in:
2022-12-10 14:55:03 +08:00
parent a7cf09de1e
commit c056dfe246
7 changed files with 138 additions and 27 deletions

View File

@@ -17,13 +17,12 @@ import com.yunbao.common.bean.SetAttentsModel;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.base.HttpCallback;
import com.yunbao.common.http.live.LiveNetManager;
import com.yunbao.common.manager.IMRTCManager;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.live.R;
import com.yunbao.live.activity.LiveRyAnchorActivity;
import com.yunbao.live.http.LiveHttpUtil;
import cn.rongcloud.rtc.api.callback.IRCRTCResultCallback;
import cn.rongcloud.rtc.base.RTCErrorCode;
import java.util.Arrays;
public class RandomPkRecyclerAdapter extends RefreshAdapter<RandomPkUserBean> {
private static final int HEAD = 0;
@@ -46,7 +45,7 @@ public class RandomPkRecyclerAdapter extends RefreshAdapter<RandomPkUserBean> {
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
if (getItemViewType(position) == ITEM) {
((ItemViewHolder) holder).setData(mList.get(position ), position );
((ItemViewHolder) holder).setData(mList.get(position), position);
} else {
((HeadViewHolder) holder).setData(mList.get(position), position);
}
@@ -102,9 +101,23 @@ public class RandomPkRecyclerAdapter extends RefreshAdapter<RandomPkUserBean> {
ToastUtil.show(R.string.free_pk_user_pking);
return;
}
((LiveRyAnchorActivity) mContext).linkMicAnchorApply(bean.getId(), bean.getId(),
((LiveRyAnchorActivity) mContext).buildLinkMicJSON().toString()
);
LiveHttpUtil.getMicList(LiveRyAnchorActivity.mLiveUid, 0, new com.yunbao.common.http.HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
System.out.println("code = " + code + ", msg = " + msg + ", info = " + Arrays.deepToString(info));
//非0认为未开通连麦权限
if (code != 0) {
ToastUtil.show("邀请 " + bean.getUserNiceName() + " 发送成功");
mOnItemClickListener.onItemClick(bean, -1);
((LiveRyAnchorActivity) mContext).linkMicAnchorApply(bean.getId(), bean.getId(),
((LiveRyAnchorActivity) mContext).buildLinkMicJSON().toString()
);
} else {
ToastUtil.show("請先關閉語言連麥");
}
}
});
});
mFollow.setOnClickListener(v -> {
RandomPkUserBean bean = (RandomPkUserBean) itemView.getTag();

View File

@@ -10,6 +10,7 @@ import android.view.Window;
import android.view.WindowManager;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.LinearLayoutManager;
@@ -25,6 +26,7 @@ import com.yunbao.common.http.live.LiveNetManager;
import com.yunbao.common.interfaces.OnItemClickListener;
import com.yunbao.common.utils.DpUtil;
import com.yunbao.common.utils.StringUtil;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordsTypeUtil;
import com.yunbao.live.R;
import com.yunbao.live.adapter.RandomPkRecyclerAdapter;
@@ -49,6 +51,7 @@ public class FreePkDialogFragment extends AbsDialogFragment implements View.OnCl
private CommonRefreshView mRecyclerView;
private View mSearchLayout;
private EditText mSearch;
private TextView freePkNum;
private ImageView mClear;
private RandomPkRecyclerAdapter adapter;
private DataHelper helper;
@@ -75,7 +78,7 @@ public class FreePkDialogFragment extends AbsDialogFragment implements View.OnCl
WindowManager.LayoutParams params = window.getAttributes();
window.setWindowAnimations(R.style.bottomToTopAnim);
params.width = WindowManager.LayoutParams.MATCH_PARENT;
params.height = DpUtil.dp2px(330);
params.height = DpUtil.dp2px(400);
params.gravity = Gravity.BOTTOM;
window.setAttributes(params);
}
@@ -104,7 +107,9 @@ public class FreePkDialogFragment extends AbsDialogFragment implements View.OnCl
mSearchLayout = findViewById(R.id.random_pk_search_layout);
mSearch = (EditText) findViewById(R.id.search_edit);
mClear = (ImageView) findViewById(R.id.search_clear);
freePkNum = (TextView) findViewById(R.id.free_pk_num);
mClear.setOnClickListener(this);
reset.setOnClickListener(this);
mSearch.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
@@ -132,10 +137,15 @@ public class FreePkDialogFragment extends AbsDialogFragment implements View.OnCl
mRecyclerView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.VERTICAL, false));
mRecyclerView.setDataHelper(helper);
mRecyclerView.initData();
mRecyclerView.setRefreshEnable(false);
mRecyclerView.setEmptyLayoutId(R.layout.view_live_search_list_empty);
adapter.setOnItemClickListener(new OnItemClickListener<RandomPkUserBean>() {
@Override
public void onItemClick(RandomPkUserBean bean, int position) {
if (position == -1) {
dismiss();
return;
}
mRecyclerView.initData();
}
});
@@ -143,6 +153,17 @@ public class FreePkDialogFragment extends AbsDialogFragment implements View.OnCl
private void initData() {
LiveNetManager.get(mContext).getFreePkNumber(new com.yunbao.common.http.base.HttpCallback<Integer>() {
@Override
public void onSuccess(Integer data) {
freePkNum.setText("" + data);
}
@Override
public void onError(String error) {
}
});
}
private void initTab() {
@@ -198,8 +219,14 @@ public class FreePkDialogFragment extends AbsDialogFragment implements View.OnCl
@Override
public void onClick(View v) {
int id = v.getId();
if (id == R.id.live_random_pk_switch) {
if (id == R.id.menu_reset) {
if (helper.status == DataHelper.LIST_MODEL_LIST) {
mSearch.setText("");
mRecyclerView.initData();
mRecyclerView.showEmpty();
} else {
mRecyclerView.initData();
}
} else if (id == R.id.search_clear) {
mSearch.setText("");
}
@@ -266,8 +293,11 @@ public class FreePkDialogFragment extends AbsDialogFragment implements View.OnCl
@Override
public List<RandomPkUserBean> processData(String[] info) {
Log.i(TAG, "processData: 获取数据成功");
List<LivePkBean> beans = JSON.parseArray(Arrays.toString(info), LivePkBean.class);
List<RandomPkUserBean> list = new ArrayList<>();
if (info == null || info.length == 0) {
return list;
}
List<LivePkBean> beans = JSON.parseArray(Arrays.toString(info), LivePkBean.class);
list.add(null);
for (LivePkBean bean : beans) {
RandomPkUserBean userBean = new RandomPkUserBean();
@@ -283,7 +313,6 @@ public class FreePkDialogFragment extends AbsDialogFragment implements View.OnCl
@Override
public void onRefreshSuccess(List<RandomPkUserBean> list, int listCount) {
}
@Override
@@ -298,7 +327,6 @@ public class FreePkDialogFragment extends AbsDialogFragment implements View.OnCl
@Override
public void onLoadMoreFailure() {
mRecyclerView.showEmpty();
}
}
}

View File

@@ -32,9 +32,11 @@ import com.tencent.rtmp.TXLiveConstants;
import com.tencent.trtc.TRTCCloudDef;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.Constants;
import com.yunbao.common.bean.HttpCallbackModel;
import com.yunbao.common.bean.UserBean;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.http.HttpClient;
import com.yunbao.common.http.live.LiveNetManager;
import com.yunbao.common.manager.IMRTCManager;
import com.yunbao.common.manager.RandomPkManager;
import com.yunbao.common.utils.DialogUitl;
@@ -311,6 +313,18 @@ public class LivePushRyViewHolder extends AbsRyLivePushViewHolder implements ITX
}
mLiveRyLinkMicPkPresenter.onLinkMicToPk(userBean1);
mLiveRyLinkMicPkPresenter.onLinkMicPkStart(inviteeRoomId, 3);
//单人PK减掉次数
LiveNetManager.get(mContext).setFreePkNum(new com.yunbao.common.http.base.HttpCallback<HttpCallbackModel>() {
@Override
public void onSuccess(HttpCallbackModel data) {
}
@Override
public void onError(String error) {
}
});
}
}
});