语音房bug修改
This commit is contained in:
parent
a036e5eff6
commit
5ca13b770c
@ -43,12 +43,18 @@ public class SudGameUserListAdapter extends RecyclerView.Adapter {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void refreshSudGameUserList(List<SudGameUserModel> gameUserModels) {
|
public void refreshSudGameUserList(List<SudGameUserModel> gameUserModels, List<String> muteUser) {
|
||||||
this.gameUserModels.clear();
|
this.gameUserModels.clear();
|
||||||
if (gameUserModels.size() < 7) {
|
if (gameUserModels.size() < 7) {
|
||||||
micMax = false;
|
micMax = false;
|
||||||
this.gameUserModels.addAll(gameUserModels);
|
this.gameUserModels.addAll(gameUserModels);
|
||||||
for (int i = 0; i < this.gameUserModels.size(); i++) {
|
for (int i = 0; i < this.gameUserModels.size(); i++) {
|
||||||
|
for (String userID : muteUser) {
|
||||||
|
if (TextUtils.equals(userID, String.valueOf(this.gameUserModels.get(i).getId()))) {
|
||||||
|
this.gameUserModels.get(i).setMute(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
this.gameUserModels.get(i).setNullUser(false);
|
this.gameUserModels.get(i).setNullUser(false);
|
||||||
}
|
}
|
||||||
int size = 7 - gameUserModels.size();
|
int size = 7 - gameUserModels.size();
|
||||||
@ -65,6 +71,12 @@ public class SudGameUserListAdapter extends RecyclerView.Adapter {
|
|||||||
micMax = true;
|
micMax = true;
|
||||||
|
|
||||||
for (int i = 0; i < 7; i++) {
|
for (int i = 0; i < 7; i++) {
|
||||||
|
for (String userID : muteUser) {
|
||||||
|
if (TextUtils.equals(userID, String.valueOf(this.gameUserModels.get(i).getId()))) {
|
||||||
|
this.gameUserModels.get(i).setMute(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
this.gameUserModels.add(gameUserModels.get(i).setNullUser(false));
|
this.gameUserModels.add(gameUserModels.get(i).setNullUser(false));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -98,7 +110,7 @@ public class SudGameUserListAdapter extends RecyclerView.Adapter {
|
|||||||
SudGameUserModel sudGameUserModel = gameUserModels.get(i);
|
SudGameUserModel sudGameUserModel = gameUserModels.get(i);
|
||||||
if (!sudGameUserModel.isNullUser()) {
|
if (!sudGameUserModel.isNullUser()) {
|
||||||
if (TextUtils.equals(userID, String.valueOf(sudGameUserModel.getId()))) {
|
if (TextUtils.equals(userID, String.valueOf(sudGameUserModel.getId()))) {
|
||||||
gameUserModels.get(i).setMicStatus(mute ? 1 : 3);
|
gameUserModels.get(i).setMute(mute);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,6 +15,17 @@ public class SudGameUserModel extends BaseModel {
|
|||||||
@SerializedName("mic_status")
|
@SerializedName("mic_status")
|
||||||
private int micStatus; //麦克风状态 2.打开麦克风 3.关闭麦克风
|
private int micStatus; //麦克风状态 2.打开麦克风 3.关闭麦克风
|
||||||
|
|
||||||
|
private boolean mute = false;
|
||||||
|
|
||||||
|
public boolean isMute() {
|
||||||
|
return mute;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SudGameUserModel setMute(boolean mute) {
|
||||||
|
this.mute = mute;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isNullUser() {
|
public boolean isNullUser() {
|
||||||
return nullUser;
|
return nullUser;
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
package com.yunbao.common.dialog;
|
package com.yunbao.common.dialog;
|
||||||
|
|
||||||
|
import static android.content.Context.INPUT_METHOD_SERVICE;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
import android.view.inputmethod.InputMethodManager;
|
||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
@ -18,7 +21,7 @@ import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
|||||||
public class SudGameInputPopupWindow extends BottomPopupView {
|
public class SudGameInputPopupWindow extends BottomPopupView {
|
||||||
private EditText textMessage;
|
private EditText textMessage;
|
||||||
private SudGameInputCallBack sudGameInputCallBack;
|
private SudGameInputCallBack sudGameInputCallBack;
|
||||||
|
private InputMethodManager imm;
|
||||||
public SudGameInputPopupWindow(@NonNull Context context, SudGameInputCallBack sudGameInputCallBack) {
|
public SudGameInputPopupWindow(@NonNull Context context, SudGameInputCallBack sudGameInputCallBack) {
|
||||||
super(context);
|
super(context);
|
||||||
this.sudGameInputCallBack = sudGameInputCallBack;
|
this.sudGameInputCallBack = sudGameInputCallBack;
|
||||||
@ -40,6 +43,7 @@ public class SudGameInputPopupWindow extends BottomPopupView {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void initView() {
|
private void initView() {
|
||||||
|
imm = (InputMethodManager) getContext().getSystemService(INPUT_METHOD_SERVICE);
|
||||||
textMessage = findViewById(R.id.text_message);
|
textMessage = findViewById(R.id.text_message);
|
||||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.send), new ViewClicksAntiShake.ViewClicksCallBack() {
|
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.send), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||||
@Override
|
@Override
|
||||||
@ -60,7 +64,11 @@ public class SudGameInputPopupWindow extends BottomPopupView {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
textMessage.postDelayed(() -> {
|
||||||
|
//软键盘弹出
|
||||||
|
imm.showSoftInput(textMessage, InputMethodManager.SHOW_FORCED);
|
||||||
|
textMessage.requestFocus();
|
||||||
|
}, 200);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initDate() {
|
private void initDate() {
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package com.yunbao.common.dialog;
|
package com.yunbao.common.dialog;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.text.TextUtils;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
@ -8,6 +9,7 @@ import androidx.annotation.NonNull;
|
|||||||
import com.lxj.xpopup.core.AttachPopupView;
|
import com.lxj.xpopup.core.AttachPopupView;
|
||||||
import com.yunbao.common.R;
|
import com.yunbao.common.R;
|
||||||
import com.yunbao.common.bean.SudGameUserModel;
|
import com.yunbao.common.bean.SudGameUserModel;
|
||||||
|
import com.yunbao.common.manager.IMLoginManager;
|
||||||
import com.yunbao.common.utils.ToastUtil;
|
import com.yunbao.common.utils.ToastUtil;
|
||||||
import com.yunbao.common.utils.WordUtil;
|
import com.yunbao.common.utils.WordUtil;
|
||||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||||
@ -41,6 +43,10 @@ public class SudGameSmallPopupPindow extends AttachPopupView {
|
|||||||
ViewClicksAntiShake.clicksAntiShake(viewUnMute, new ViewClicksAntiShake.ViewClicksCallBack() {
|
ViewClicksAntiShake.clicksAntiShake(viewUnMute, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||||
@Override
|
@Override
|
||||||
public void onViewClicks() {
|
public void onViewClicks() {
|
||||||
|
if (TextUtils.equals(String.valueOf(IMLoginManager.get(getContext()).getUserInfo().getId()), String.valueOf(sudGameUserModel.getId()))) {
|
||||||
|
ToastUtil.show(WordUtil.isNewZh() ? "無法對本人靜音" : "Unable to mute myself");
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (sudGameUserModel.getMicStatus() == 3) {
|
if (sudGameUserModel.getMicStatus() == 3) {
|
||||||
ToastUtil.show("对方未开麦!");
|
ToastUtil.show("对方未开麦!");
|
||||||
return;
|
return;
|
||||||
|
@ -181,6 +181,7 @@ public class GameMicManager {
|
|||||||
|
|
||||||
|
|
||||||
public void refreshStreams(List<SudGameUserModel> personList) {
|
public void refreshStreams(List<SudGameUserModel> personList) {
|
||||||
|
|
||||||
final List<RCRTCInputStream> inputStreams = new ArrayList<>();
|
final List<RCRTCInputStream> inputStreams = new ArrayList<>();
|
||||||
|
|
||||||
for (SudGameUserModel sudGameUserModel : personList) {
|
for (SudGameUserModel sudGameUserModel : personList) {
|
||||||
|
@ -1,8 +1,11 @@
|
|||||||
package com.yunbao.common.views;
|
package com.yunbao.common.views;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
import android.widget.FrameLayout;
|
import android.widget.FrameLayout;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
|
import android.widget.LinearLayout;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
@ -16,12 +19,14 @@ import com.yunbao.common.bean.SudGameUserModel;
|
|||||||
import com.yunbao.common.dialog.SudGameSmallPopupPindow;
|
import com.yunbao.common.dialog.SudGameSmallPopupPindow;
|
||||||
import com.yunbao.common.glide.ImgLoader;
|
import com.yunbao.common.glide.ImgLoader;
|
||||||
import com.yunbao.common.utils.Bus;
|
import com.yunbao.common.utils.Bus;
|
||||||
|
import com.yunbao.common.utils.DeviceUtils;
|
||||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||||
|
|
||||||
public class SudGameUserListViewHolder extends RecyclerView.ViewHolder {
|
public class SudGameUserListViewHolder extends RecyclerView.ViewHolder {
|
||||||
private ImageView vacancy_sud_game, mic_status;
|
private ImageView vacancy_sud_game, mic_status;
|
||||||
private FrameLayout user_layout;
|
private FrameLayout user_layout;
|
||||||
private RoundedImageView sud_game_user;
|
private RoundedImageView sud_game_user;
|
||||||
|
private LinearLayout layout;
|
||||||
|
|
||||||
public SudGameUserListViewHolder(@NonNull View itemView) {
|
public SudGameUserListViewHolder(@NonNull View itemView) {
|
||||||
super(itemView);
|
super(itemView);
|
||||||
@ -29,9 +34,18 @@ public class SudGameUserListViewHolder extends RecyclerView.ViewHolder {
|
|||||||
sud_game_user = itemView.findViewById(R.id.sud_game_user);
|
sud_game_user = itemView.findViewById(R.id.sud_game_user);
|
||||||
user_layout = itemView.findViewById(R.id.user_layout);
|
user_layout = itemView.findViewById(R.id.user_layout);
|
||||||
mic_status = itemView.findViewById(R.id.mic_status);
|
mic_status = itemView.findViewById(R.id.mic_status);
|
||||||
|
layout = itemView.findViewById(R.id.layout);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void upData(SudGameUserModel sudGameUserModel, SudGameUserListAdapter.SudGameSmallCallBack sudGameSmallCallBack, int position) {
|
public void upData(SudGameUserModel sudGameUserModel, SudGameUserListAdapter.SudGameSmallCallBack sudGameSmallCallBack, int position) {
|
||||||
|
// layout.post(new Runnable() {
|
||||||
|
// @Override
|
||||||
|
// public void run() {
|
||||||
|
// RecyclerView.LayoutParams params = new RecyclerView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
|
||||||
|
// params.width = DeviceUtils.getScreenWidth((Activity) itemView.getContext()) / 7;
|
||||||
|
// layout.setLayoutParams(params);
|
||||||
|
// }
|
||||||
|
// });
|
||||||
if (sudGameUserModel.isNullUser()) {
|
if (sudGameUserModel.isNullUser()) {
|
||||||
vacancy_sud_game.setVisibility(View.VISIBLE);
|
vacancy_sud_game.setVisibility(View.VISIBLE);
|
||||||
user_layout.setVisibility(View.GONE);
|
user_layout.setVisibility(View.GONE);
|
||||||
@ -49,7 +63,8 @@ public class SudGameUserListViewHolder extends RecyclerView.ViewHolder {
|
|||||||
ImgLoader.display2(itemView.getContext(), R.mipmap.icon_game_open_wheat, mic_status);
|
ImgLoader.display2(itemView.getContext(), R.mipmap.icon_game_open_wheat, mic_status);
|
||||||
} else if (sudGameUserModel.getMicStatus() == 3) {
|
} else if (sudGameUserModel.getMicStatus() == 3) {
|
||||||
ImgLoader.display2(itemView.getContext(), R.mipmap.icon_game_close_wheat, mic_status);
|
ImgLoader.display2(itemView.getContext(), R.mipmap.icon_game_close_wheat, mic_status);
|
||||||
} else if (sudGameUserModel.getMicStatus() == 1) {
|
}
|
||||||
|
if (sudGameUserModel.isMute()) {
|
||||||
ImgLoader.display2(itemView.getContext(), R.mipmap.icon_game_close_wheat_mute, mic_status);
|
ImgLoader.display2(itemView.getContext(), R.mipmap.icon_game_close_wheat_mute, mic_status);
|
||||||
}
|
}
|
||||||
ViewClicksAntiShake.clicksAntiShake(user_layout, new ViewClicksAntiShake.ViewClicksCallBack() {
|
ViewClicksAntiShake.clicksAntiShake(user_layout, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||||
@ -62,7 +77,7 @@ public class SudGameUserListViewHolder extends RecyclerView.ViewHolder {
|
|||||||
.popupPosition(PopupPosition.Bottom)
|
.popupPosition(PopupPosition.Bottom)
|
||||||
.asCustom(new SudGameSmallPopupPindow(itemView.getContext(),
|
.asCustom(new SudGameSmallPopupPindow(itemView.getContext(),
|
||||||
sudGameUserModel,
|
sudGameUserModel,
|
||||||
sudGameUserModel.getMicStatus() == 1,
|
sudGameUserModel.isMute(),
|
||||||
new SudGameSmallPopupPindow.SudGameSmallCallBack() {
|
new SudGameSmallPopupPindow.SudGameSmallCallBack() {
|
||||||
@Override
|
@Override
|
||||||
public void unMute() {
|
public void unMute() {
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:id="@+id/layout"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
|
BIN
common/src/main/res/mipmap-b+en+us/icon_game_hang_up.png
Normal file
BIN
common/src/main/res/mipmap-b+en+us/icon_game_hang_up.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.9 KiB |
BIN
common/src/main/res/mipmap-b+en+us/icon_game_seat.png
Normal file
BIN
common/src/main/res/mipmap-b+en+us/icon_game_seat.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.5 KiB |
@ -1426,4 +1426,8 @@ Limited ride And limited avatar frame</string>
|
|||||||
<string name="battlepass_exchange_buy_max">The quantity of goods exchanged has reached the upper limit</string>
|
<string name="battlepass_exchange_buy_max">The quantity of goods exchanged has reached the upper limit</string>
|
||||||
<string name="battlepass_zl_get">Successfully opened</string>
|
<string name="battlepass_zl_get">Successfully opened</string>
|
||||||
<string name="battlepass_buy_max">You have purchased the BattlePass</string>
|
<string name="battlepass_buy_max">You have purchased the BattlePass</string>
|
||||||
|
<string name="game_review_input">Comment</string>
|
||||||
|
<string name="game_review_view_information">See Information</string>
|
||||||
|
<string name="game_review_view_unmute">Unmute</string>
|
||||||
|
<string name="game_review_view_sound_off">Mute</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -1423,4 +1423,8 @@
|
|||||||
<string name="battlepass_exchange_buy_max">商品兌換數量已達到上限</string>
|
<string name="battlepass_exchange_buy_max">商品兌換數量已達到上限</string>
|
||||||
<string name="battlepass_zl_get">開通成功</string>
|
<string name="battlepass_zl_get">開通成功</string>
|
||||||
<string name="battlepass_buy_max">您已購買該戰令</string>
|
<string name="battlepass_buy_max">您已購買該戰令</string>
|
||||||
|
<string name="game_review_input">評論</string>
|
||||||
|
<string name="game_review_view_information">查看信息</string>
|
||||||
|
<string name="game_review_view_unmute">取消靜音</string>
|
||||||
|
<string name="game_review_view_sound_off">靜音</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -1422,4 +1422,8 @@
|
|||||||
<string name="battlepass_exchange_buy_max">商品兌換數量已達到上限</string>
|
<string name="battlepass_exchange_buy_max">商品兌換數量已達到上限</string>
|
||||||
<string name="battlepass_zl_get">開通成功</string>
|
<string name="battlepass_zl_get">開通成功</string>
|
||||||
<string name="battlepass_buy_max">您已購買該戰令</string>
|
<string name="battlepass_buy_max">您已購買該戰令</string>
|
||||||
|
<string name="game_review_input">評論</string>
|
||||||
|
<string name="game_review_view_information">查看信息</string>
|
||||||
|
<string name="game_review_view_unmute">取消靜音</string>
|
||||||
|
<string name="game_review_view_sound_off">靜音</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -1421,4 +1421,8 @@
|
|||||||
<string name="battlepass_exchange_buy_max">商品兌換數量已達到上限</string>
|
<string name="battlepass_exchange_buy_max">商品兌換數量已達到上限</string>
|
||||||
<string name="battlepass_zl_get">開通成功</string>
|
<string name="battlepass_zl_get">開通成功</string>
|
||||||
<string name="battlepass_buy_max">您已購買該戰令</string>
|
<string name="battlepass_buy_max">您已購買該戰令</string>
|
||||||
|
<string name="game_review_input">評論</string>
|
||||||
|
<string name="game_review_view_information">查看信息</string>
|
||||||
|
<string name="game_review_view_unmute">取消靜音</string>
|
||||||
|
<string name="game_review_view_sound_off">靜音</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -666,7 +666,7 @@
|
|||||||
<string name="receive_awards">ReceiveAwards</string>
|
<string name="receive_awards">ReceiveAwards</string>
|
||||||
<string name="one_free">One free gift privilege!</string>
|
<string name="one_free">One free gift privilege!</string>
|
||||||
|
|
||||||
<string name="send">Send out</string>
|
<string name="send">Send</string>
|
||||||
<string name="sorry">I am sorry</string>
|
<string name="sorry">I am sorry</string>
|
||||||
<string name="video">video</string>
|
<string name="video">video</string>
|
||||||
<string name="FILE_PROVIDER">myname.pdlive.shayu.fileprovider</string>
|
<string name="FILE_PROVIDER">myname.pdlive.shayu.fileprovider</string>
|
||||||
@ -1428,8 +1428,8 @@ Limited ride And limited avatar frame</string>
|
|||||||
<string name="battlepass_exchange_buy_max">The quantity of goods exchanged has reached the upper limit</string>
|
<string name="battlepass_exchange_buy_max">The quantity of goods exchanged has reached the upper limit</string>
|
||||||
<string name="battlepass_zl_get">Successfully opened</string>
|
<string name="battlepass_zl_get">Successfully opened</string>
|
||||||
<string name="battlepass_buy_max">You have purchased the BattlePass</string>
|
<string name="battlepass_buy_max">You have purchased the BattlePass</string>
|
||||||
<string name="game_review_input">評論</string>
|
<string name="game_review_input">Comment</string>
|
||||||
<string name="game_review_view_information">查看信息</string>
|
<string name="game_review_view_information">See Information</string>
|
||||||
<string name="game_review_view_unmute">取消靜音</string>
|
<string name="game_review_view_unmute">Unmute</string>
|
||||||
<string name="game_review_view_sound_off">靜音</string>
|
<string name="game_review_view_sound_off">Mute</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -32,7 +32,6 @@ import com.yunbao.common.bean.SudGameUserModel;
|
|||||||
import com.yunbao.common.dialog.SudGameInputPopupWindow;
|
import com.yunbao.common.dialog.SudGameInputPopupWindow;
|
||||||
import com.yunbao.common.event.CheckRemainingBalanceEvent;
|
import com.yunbao.common.event.CheckRemainingBalanceEvent;
|
||||||
import com.yunbao.common.event.SudGameSocketImEvent;
|
import com.yunbao.common.event.SudGameSocketImEvent;
|
||||||
import com.yunbao.common.event.SudGameUserEvent;
|
|
||||||
import com.yunbao.common.glide.ImgLoader;
|
import com.yunbao.common.glide.ImgLoader;
|
||||||
import com.yunbao.common.http.base.HttpCallback;
|
import com.yunbao.common.http.base.HttpCallback;
|
||||||
import com.yunbao.common.http.live.LiveNetManager;
|
import com.yunbao.common.http.live.LiveNetManager;
|
||||||
@ -53,7 +52,6 @@ import com.yunbao.common.views.TopGradual;
|
|||||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||||
import com.yunbao.live.dialog.LiveUserDialogFragment;
|
import com.yunbao.live.dialog.LiveUserDialogFragment;
|
||||||
|
|
||||||
import org.greenrobot.eventbus.EventBus;
|
|
||||||
import org.greenrobot.eventbus.Subscribe;
|
import org.greenrobot.eventbus.Subscribe;
|
||||||
import org.greenrobot.eventbus.ThreadMode;
|
import org.greenrobot.eventbus.ThreadMode;
|
||||||
|
|
||||||
@ -66,6 +64,7 @@ import cn.rongcloud.rtc.api.RCRTCRemoteUser;
|
|||||||
import cn.rongcloud.rtc.api.RCRTCRoom;
|
import cn.rongcloud.rtc.api.RCRTCRoom;
|
||||||
import cn.rongcloud.rtc.api.stream.RCRTCInputStream;
|
import cn.rongcloud.rtc.api.stream.RCRTCInputStream;
|
||||||
import cn.rongcloud.rtc.base.RTCErrorCode;
|
import cn.rongcloud.rtc.base.RTCErrorCode;
|
||||||
|
|
||||||
@Route(path = RouteUtil.PATH_SudGameActivity)
|
@Route(path = RouteUtil.PATH_SudGameActivity)
|
||||||
public class SudGameActivity extends AbsActivity implements GameMicManager.MeetingCallback {
|
public class SudGameActivity extends AbsActivity implements GameMicManager.MeetingCallback {
|
||||||
private FrameLayout gameContainer;
|
private FrameLayout gameContainer;
|
||||||
@ -83,6 +82,7 @@ public class SudGameActivity extends AbsActivity implements GameMicManager.Meeti
|
|||||||
private SudGameChatAdapter mLiveChatAdapter;
|
private SudGameChatAdapter mLiveChatAdapter;
|
||||||
private SudGameUserListAdapter sudGameUserListAdapter;
|
private SudGameUserListAdapter sudGameUserListAdapter;
|
||||||
private ProcessResultUtil mProcessResultUtil;
|
private ProcessResultUtil mProcessResultUtil;
|
||||||
|
private List<String> muteUser = new ArrayList<>();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected int getLayoutId() {
|
protected int getLayoutId() {
|
||||||
@ -126,18 +126,7 @@ public class SudGameActivity extends AbsActivity implements GameMicManager.Meeti
|
|||||||
RCRTCEngine.getInstance().getDefaultAudioStream().setMicrophoneDisable(disable);
|
RCRTCEngine.getInstance().getDefaultAudioStream().setMicrophoneDisable(disable);
|
||||||
ImgLoader.display(mContext, R.mipmap.icon_game_close_wheat, gameCloseWheat);
|
ImgLoader.display(mContext, R.mipmap.icon_game_close_wheat, gameCloseWheat);
|
||||||
gameCloseWheat.setVisibility(View.INVISIBLE);
|
gameCloseWheat.setVisibility(View.INVISIBLE);
|
||||||
LiveNetManager.get(mContext).getRoomMicData(mLiveUid, new HttpCallback<List<SudGameUserModel>>() {
|
|
||||||
@Override
|
|
||||||
public void onSuccess(List<SudGameUserModel> data) {
|
|
||||||
gameMicManager.refreshStreams(data);
|
|
||||||
sudGameUserListAdapter.refreshSudGameUserList(data);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onError(String error) {
|
|
||||||
ToastUtil.show(error);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
new Handler().postDelayed(new Runnable() {
|
new Handler().postDelayed(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@ -215,11 +204,12 @@ public class SudGameActivity extends AbsActivity implements GameMicManager.Meeti
|
|||||||
} else {
|
} else {
|
||||||
ToastUtil.show(WordUtil.isNewZh() ? "無法對本人靜音" : "Unable to mute myself");
|
ToastUtil.show(WordUtil.isNewZh() ? "無法對本人靜音" : "Unable to mute myself");
|
||||||
}
|
}
|
||||||
|
muteUser.remove(userID);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void mute(String userID, int position) {
|
public void mute(String userID, int position) {
|
||||||
|
muteUser.add(userID);
|
||||||
if (!TextUtils.equals(String.valueOf(IMLoginManager.get(mContext).getUserInfo().getId()), userID)) {
|
if (!TextUtils.equals(String.valueOf(IMLoginManager.get(mContext).getUserInfo().getId()), userID)) {
|
||||||
gameMicManager.refreshStreams(userID, true, position);
|
gameMicManager.refreshStreams(userID, true, position);
|
||||||
} else {
|
} else {
|
||||||
@ -245,6 +235,7 @@ public class SudGameActivity extends AbsActivity implements GameMicManager.Meeti
|
|||||||
roomName.setText(mCreateSudRoomModel.getRoomName());
|
roomName.setText(mCreateSudRoomModel.getRoomName());
|
||||||
roomNumber.setText(mCreateSudRoomModel.getSudGameRoomId());
|
roomNumber.setText(mCreateSudRoomModel.getSudGameRoomId());
|
||||||
}
|
}
|
||||||
|
|
||||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.exit), new ViewClicksAntiShake.ViewClicksCallBack() {
|
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.exit), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||||
@Override
|
@Override
|
||||||
public void onViewClicks() {
|
public void onViewClicks() {
|
||||||
@ -312,6 +303,7 @@ public class SudGameActivity extends AbsActivity implements GameMicManager.Meeti
|
|||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
ToastUtil.show(WordUtil.isNewZh() ? "麥克風已開啟" : "Microphone turned on");
|
||||||
} else {
|
} else {
|
||||||
disable = true;
|
disable = true;
|
||||||
// 设置禁用麦克风采集
|
// 设置禁用麦克风采集
|
||||||
@ -329,6 +321,7 @@ public class SudGameActivity extends AbsActivity implements GameMicManager.Meeti
|
|||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
ToastUtil.show(WordUtil.isNewZh() ? "麥克風已關閉" : "Microphone turned off");
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
@ -466,7 +459,18 @@ public class SudGameActivity extends AbsActivity implements GameMicManager.Meeti
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onJoinRoomSuccess(RCRTCRoom rcrtcRoom) {
|
public void onJoinRoomSuccess(RCRTCRoom rcrtcRoom) {
|
||||||
|
LiveNetManager.get(mContext).getRoomMicData(mLiveUid, new HttpCallback<List<SudGameUserModel>>() {
|
||||||
|
@Override
|
||||||
|
public void onSuccess(List<SudGameUserModel> data) {
|
||||||
|
gameMicManager.refreshStreams(data);
|
||||||
|
sudGameUserListAdapter.refreshSudGameUserList(data, muteUser);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(String error) {
|
||||||
|
ToastUtil.show(error);
|
||||||
|
}
|
||||||
|
});
|
||||||
// 主动订阅远端用户发布的资源
|
// 主动订阅远端用户发布的资源
|
||||||
// gameMicManager.subscribeAVStream();
|
// gameMicManager.subscribeAVStream();
|
||||||
}
|
}
|
||||||
@ -525,6 +529,11 @@ public class SudGameActivity extends AbsActivity implements GameMicManager.Meeti
|
|||||||
runOnUiThread(new Runnable() {
|
runOnUiThread(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
if (mute) {
|
||||||
|
ToastUtil.show(WordUtil.isNewZh() ? "已靜音該用戶" : "The user has been muted");
|
||||||
|
} else {
|
||||||
|
ToastUtil.show(WordUtil.isNewZh() ? "已取消該用戶靜音" : "The user has been unmuted");
|
||||||
|
}
|
||||||
sudGameUserListAdapter.muteUser(userID, mute, position);
|
sudGameUserListAdapter.muteUser(userID, mute, position);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -553,7 +562,7 @@ public class SudGameActivity extends AbsActivity implements GameMicManager.Meeti
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void refreshSudGameUserList(List<SudGameUserModel> personList) {
|
public void refreshSudGameUserList(List<SudGameUserModel> personList) {
|
||||||
sudGameUserListAdapter.refreshSudGameUserList(personList);
|
sudGameUserListAdapter.refreshSudGameUserList(personList, muteUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
Reference in New Issue
Block a user