贵族特权:防被踢功能
This commit is contained in:
@@ -22,6 +22,7 @@ import com.yizhuan.erban.ui.user.UserInfoActivity;
|
||||
import com.yizhuan.erban.ui.widget.ButtonItem;
|
||||
import com.yizhuan.erban.ui.widget.GiftDialog;
|
||||
import com.yizhuan.erban.ui.widget.UserInfoDialog;
|
||||
import com.yizhuan.erban.vip.VipHelper;
|
||||
import com.yizhuan.tutu.room_chat.activity.RoomMsgActivity;
|
||||
import com.yizhuan.xchat_android_core.auth.AuthModel;
|
||||
import com.yizhuan.xchat_android_core.bean.RoomQueueInfo;
|
||||
@@ -182,7 +183,7 @@ public class ButtonItemFactory {
|
||||
}
|
||||
|
||||
if (kickOutRoom) {
|
||||
buttonItems.add(createKickOutRoomItem(context, String.valueOf(currentRoom.getRoomId()),
|
||||
buttonItems.add(createKickOutRoomItem(context, userInfo, String.valueOf(currentRoom.getRoomId()),
|
||||
account, getNick(chatRoomMember, account)));
|
||||
}
|
||||
if (mark_manager) {
|
||||
@@ -194,6 +195,7 @@ public class ButtonItemFactory {
|
||||
if (mart_black) {
|
||||
buttonItems.add(createMarkBlackListItem(
|
||||
context,
|
||||
userInfo,
|
||||
String.valueOf(currentRoom.getRoomId()),
|
||||
account,
|
||||
getNick(chatRoomMember, account))
|
||||
@@ -319,13 +321,24 @@ public class ButtonItemFactory {
|
||||
/**
|
||||
* 踢出房间: 先强制下麦,再踢出房间
|
||||
*/
|
||||
public static ViewItem createKickOutRoomItem(Context context, final String roomId,
|
||||
public static ViewItem createKickOutRoomItem(Context context, UserInfo userInfo, final String roomId,
|
||||
final String account, String nick) {
|
||||
return new ViewItem("踢出房间", R.drawable.icon_dialog_kickout_room, new ViewItem.OnClickListener() {
|
||||
@Override
|
||||
public void onClick() {
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.data_card_kickout_room_click, "资料卡片-踢出房间");
|
||||
new DialogManager(context).showOkCancelDialog((AvRoomDataManager.get().isGamePlaying(Long.parseLong(account)) ? "游戏模式下默认该玩家退出游戏" : "") + "是否要将此用户踢出房间?",
|
||||
|
||||
String tips = (AvRoomDataManager.get().isGamePlaying(Long.parseLong(account)) ? "游戏模式下默认该玩家退出游戏" : "") + "是否要将此用户踢出房间?";
|
||||
if (VipHelper.notKick(userInfo)) {
|
||||
if (AvRoomDataManager.get().isRoomOwner()) {
|
||||
tips = "该用户为神皇贵族,确认是否要将其踢出?";
|
||||
} else {
|
||||
SingleToastUtil.showToast("该用户为神皇贵族,只有房主才可以踢出哦~");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
new DialogManager(context).showOkCancelDialog(tips,
|
||||
true, new DialogManager.AbsOkDialogListener() {
|
||||
@SuppressLint("CheckResult")
|
||||
@Override
|
||||
@@ -401,6 +414,7 @@ public class ButtonItemFactory {
|
||||
|
||||
//加入黑名单
|
||||
public static ViewItem createMarkBlackListItem(final Context context,
|
||||
UserInfo userInfo,
|
||||
final String roomId,
|
||||
final String account,
|
||||
String nick) {
|
||||
@@ -415,11 +429,20 @@ public class ButtonItemFactory {
|
||||
new DialogManager(context).showOkDialog("当前已达到黑名单添加上限(" + roomBlackListSize + "人),如需继续添加请移除部分黑名单成员");
|
||||
return;
|
||||
}
|
||||
new DialogManager(context).showOkCancelDialog(
|
||||
"是否将" + nick + "加入黑名单?加入后他将无法进入此房间" +
|
||||
(AvRoomDataManager.get().mCurrentRoomInfo != null && AvRoomDataManager.get().isGamePlaying(Long.parseLong(account)) ? "游戏模式下默认该玩家退出游戏" : ""), true,
|
||||
() -> {
|
||||
|
||||
String tips = "是否将" + nick + "加入黑名单?加入后他将无法进入此房间" +
|
||||
(AvRoomDataManager.get().mCurrentRoomInfo != null && AvRoomDataManager.get().isGamePlaying(Long.parseLong(account)) ? "游戏模式下默认该玩家退出游戏" : "");
|
||||
if (VipHelper.notKick(userInfo)) {
|
||||
if (AvRoomDataManager.get().isRoomOwner()) {
|
||||
tips = "该用户为神皇贵族,确认是否要将其拉黑?";
|
||||
} else {
|
||||
SingleToastUtil.showToast("该用户为神皇贵族,只有房主才可以拉黑哦~");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
new DialogManager(context).showOkCancelDialog(tips, true,
|
||||
() -> {
|
||||
Single<String> single;
|
||||
if (SuperAdminUtil.isSuperAdmin() || AvRoomDataManager.get().isSuperAdmin()) {
|
||||
//超管拉黑
|
||||
|
@@ -141,6 +141,9 @@ public abstract class BaseMicroViewAdapter extends RecyclerView.Adapter<Recycler
|
||||
@Nullable
|
||||
ImageView ivCharmLevelTag;
|
||||
|
||||
@Nullable
|
||||
ImageView ivKickGuard;
|
||||
|
||||
RoomQueueInfo info;
|
||||
int position = TYPE_INVALID;
|
||||
|
||||
@@ -155,6 +158,7 @@ public abstract class BaseMicroViewAdapter extends RecyclerView.Adapter<Recycler
|
||||
tvNick = itemView.findViewById(R.id.nick);
|
||||
tvNumber = itemView.findViewById(R.id.tv_number);
|
||||
ivCharmLevelTag = itemView.findViewById(R.id.iv_charm_level_tag);
|
||||
ivKickGuard = itemView.findViewById(R.id.iv_kick_guard);
|
||||
|
||||
ivUpImage.setOnClickListener(this);
|
||||
ivLockImage.setOnClickListener(this);
|
||||
@@ -195,6 +199,9 @@ public abstract class BaseMicroViewAdapter extends RecyclerView.Adapter<Recycler
|
||||
if (ivCharmLevelTag != null) {
|
||||
ivCharmLevelTag.setVisibility(View.GONE);
|
||||
}
|
||||
if (ivKickGuard != null) {
|
||||
ivKickGuard.setVisibility(View.GONE);
|
||||
}
|
||||
setDefalutText(position);
|
||||
return;
|
||||
}
|
||||
@@ -212,7 +219,10 @@ public abstract class BaseMicroViewAdapter extends RecyclerView.Adapter<Recycler
|
||||
// 加载贵族
|
||||
updateNobleView(chatRoomMember);
|
||||
//增加贵族昵称颜色
|
||||
tvNick.setTextColor(StringExtensionKt.toColorInt(chatRoomMember.getMicNickColor(),"#FFFFFF"));
|
||||
tvNick.setTextColor(StringExtensionKt.toColorInt(chatRoomMember.getMicNickColor(), "#FFFFFF"));
|
||||
if (ivKickGuard != null) {
|
||||
ivKickGuard.setVisibility(chatRoomMember.isPreventKick() ? View.VISIBLE : View.GONE);
|
||||
}
|
||||
} else {
|
||||
clearHeadWear();
|
||||
ivUpImage.setVisibility(View.VISIBLE);
|
||||
@@ -220,6 +230,9 @@ public abstract class BaseMicroViewAdapter extends RecyclerView.Adapter<Recycler
|
||||
if (ivCharmLevelTag != null) {
|
||||
ivCharmLevelTag.setVisibility(View.GONE);
|
||||
}
|
||||
if (ivKickGuard != null) {
|
||||
ivKickGuard.setVisibility(View.GONE);
|
||||
}
|
||||
setDefalutText(position);
|
||||
}
|
||||
} else {
|
||||
@@ -240,6 +253,12 @@ public abstract class BaseMicroViewAdapter extends RecyclerView.Adapter<Recycler
|
||||
ivAvatar.setVisibility(View.GONE);
|
||||
ivLockImage.setVisibility(View.GONE);
|
||||
}
|
||||
if (ivCharmLevelTag != null) {
|
||||
ivCharmLevelTag.setVisibility(View.GONE);
|
||||
}
|
||||
if (ivKickGuard != null) {
|
||||
ivKickGuard.setVisibility(View.GONE);
|
||||
}
|
||||
setDefalutText(position);
|
||||
}
|
||||
|
||||
@@ -267,7 +286,7 @@ public abstract class BaseMicroViewAdapter extends RecyclerView.Adapter<Recycler
|
||||
}
|
||||
|
||||
protected void setSelectText(int index, String nick, int gender) {
|
||||
tvNick.setText(StringExtensionKt.subAndReplaceDot(StringUtil.removeBlanks(nick),7));
|
||||
tvNick.setText(StringExtensionKt.subAndReplaceDot(StringUtil.removeBlanks(nick), 7));
|
||||
tvNick.setTextColor(context.getResources().getColor(R.color.white));
|
||||
|
||||
if (tvNumber != null) {
|
||||
|
@@ -182,8 +182,8 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe
|
||||
this.isInRoom = isInRoom;
|
||||
}
|
||||
|
||||
public static void showNewUserInfoDialog(Context context, long uid){
|
||||
showNewUserInfoDialog(context, uid,true,true,true,null);
|
||||
public static void showNewUserInfoDialog(Context context, long uid) {
|
||||
showNewUserInfoDialog(context, uid, true, true, true, null);
|
||||
}
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
@@ -193,7 +193,7 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe
|
||||
boolean isNeedGiftItem,
|
||||
boolean isNeedRoomItem,
|
||||
GiftDialog.OnGiftDialogBtnClickListener listener) {
|
||||
CommonLoadingDialog loadingDialog = new CommonLoadingDialog(context, "loading...").showDialog();
|
||||
CommonLoadingDialog loadingDialog = new CommonLoadingDialog(context, "loading...").showDialog();
|
||||
UserModel.get().getUserInfo(uid)
|
||||
.compose(RxHelper.bindContext(context))
|
||||
.subscribe(userInfo -> {
|
||||
@@ -719,7 +719,7 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe
|
||||
//如果没贵族信息,就加载头像作为背景
|
||||
if (avatarBg == null || !avatarBg.equals(userInfo.getAvatar())) {
|
||||
avatarBg = userInfo.getAvatar();
|
||||
ImageLoadUtils.loadImageWithBlur(context, userInfo.getAvatar(), ivAvatarBg,10, 1);
|
||||
ImageLoadUtils.loadImageWithBlur(context, userInfo.getAvatar(), ivAvatarBg, 10, 1);
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -1243,8 +1243,7 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe
|
||||
return;
|
||||
}
|
||||
if (AvRoomDataManager.get().isQueuingMicro()) {
|
||||
// Toast.makeText(getContext(), "排麦模式不可以锁麦哦!", Toast.LENGTH_SHORT).show();
|
||||
SingleToastUtil.showToastShort("排麦模式不可以锁麦哦!");
|
||||
SingleToastUtil.showToast("排麦模式不可以锁麦哦!");
|
||||
return;
|
||||
}
|
||||
mSuperAdminModel.roomOperate(SuperAdminModel.LOCK_MIC).subscribe();
|
||||
@@ -1264,13 +1263,11 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe
|
||||
return;
|
||||
}
|
||||
if (AvRoomDataManager.get().isQueuingMicro()) {
|
||||
// Toast.makeText(getContext(), "排麦模式不可以解锁哦!", Toast.LENGTH_SHORT).show();
|
||||
SingleToastUtil.showToastShort("排麦模式不可以解锁哦!");
|
||||
SingleToastUtil.showToast("排麦模式不可以解锁哦!");
|
||||
return;
|
||||
}
|
||||
if (AvRoomDataManager.get().isOpenPKMode()) {
|
||||
// Toast.makeText(getContext(), "PK模式不可以解锁哦!", Toast.LENGTH_SHORT).show();
|
||||
SingleToastUtil.showToastShort("PK模式不可以解锁哦!");
|
||||
SingleToastUtil.showToast("PK模式不可以解锁哦!");
|
||||
return;
|
||||
}
|
||||
homePartyModel.unLockMicroPhone(micPosition, roomInfo.getUid() + "",
|
||||
@@ -1353,6 +1350,19 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe
|
||||
textView.setOnClickListener(v -> {
|
||||
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.data_dard_takeOut_mic_click, "资料卡片-抱他下麦");
|
||||
|
||||
if (VipHelper.notKick(userInfo)) {
|
||||
if (AvRoomDataManager.get().isRoomOwner()) {
|
||||
new DialogManager(context).showOkCancelWithTitleDialog("该用户为神皇贵族,确认是否要将抱下麦?",
|
||||
(DialogManager.LambdaOkDialogListener) () -> {
|
||||
kickDownMicCode();
|
||||
dismiss();
|
||||
});
|
||||
} else {
|
||||
SingleToastUtil.showToast("该用户为神皇贵族,只有房主才可以抱下麦哦~");
|
||||
}
|
||||
return;
|
||||
|
||||
}
|
||||
if (SuperAdminUtil.isSuperAdmin()) {
|
||||
mSuperAdminModel.roomOperate(SuperAdminModel.TAKE_OUT_MIC, uid).subscribe();
|
||||
kickDownMicCode();
|
||||
@@ -1360,20 +1370,6 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe
|
||||
}
|
||||
|
||||
if (AvRoomDataManager.get().isOnMic(uid)) {
|
||||
//皇帝不能T
|
||||
RoomQueueInfo roomQueueInfo = AvRoomDataManager.get()
|
||||
.getRoomQueueMemberInfoByAccount(String.valueOf(uid));
|
||||
if (roomQueueInfo != null) {
|
||||
String level = (String) NobleUtil.getResource(NobleResourceType.KEY_LEVEL, roomQueueInfo.mChatRoomMember);
|
||||
String name = NobleUtil.getNobleName(level);
|
||||
if (!NobleUtil.canKickMicroOrNot(level)) {
|
||||
// 如果不能被踢下麦,则直接返回
|
||||
// Toast.makeText(BasicConfig.INSTANCE.getAppContext(), "不能踢" + name + "陛下哦", Toast.LENGTH_SHORT).show();
|
||||
SingleToastUtil.showToastShort("不能踢" + name + "陛下哦");
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
if (AvRoomDataManager.get().isGamePlaying(uid)) {
|
||||
new DialogManager(context).showOkCancelWithTitleDialog("抱Ta下麦后默认该玩家退出游戏,是否继续?",
|
||||
(DialogManager.LambdaOkDialogListener) () -> {
|
||||
@@ -1382,26 +1378,7 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe
|
||||
});
|
||||
return;
|
||||
}
|
||||
//ktv模式下麦
|
||||
if (AvRoomDataManager.get().isOpenKTV()) {
|
||||
new DialogManager(context).showOkCancelWithTitleDialog("KTV模式下抱人下麦会删除ta演唱的歌,是否继续?",
|
||||
(DialogManager.LambdaOkDialogListener) () -> {
|
||||
int micPosition = AvRoomDataManager.get().getMicPosition(uid);
|
||||
IMNetEaseManager.get().downMicroPhoneBySdk(micPosition, null);
|
||||
RoomInfo roomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
|
||||
if (roomInfo != null) {
|
||||
UserModel.get().getUserInfo(uid).subscribe(userInfo -> {
|
||||
String nick = userInfo != null ? RegexUtil.getPrintableString(userInfo.getNick()) : "";
|
||||
IMNetEaseManager.get().kickMicroPhoneBySdk(uid, nick,
|
||||
roomInfo.getRoomId()).subscribe(chatRoomMessage ->
|
||||
KickModel.get().onSendRoomMessageSuccess(chatRoomMessage)
|
||||
, Throwable::printStackTrace);
|
||||
});
|
||||
}
|
||||
dismiss();
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
if (GiftValueDialogUiHelper.get().isNeedKickDownMicDialog()) {
|
||||
dismiss();
|
||||
GiftValueDialogUiHelper.get().showGiftValueDialog(context, null,
|
||||
@@ -1410,7 +1387,6 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe
|
||||
return;
|
||||
}
|
||||
kickDownMicCode();
|
||||
|
||||
}
|
||||
});
|
||||
return textView;
|
||||
@@ -1420,29 +1396,24 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe
|
||||
private void kickDownMicCode() {
|
||||
int micPosition = AvRoomDataManager.get().getMicPosition(uid);
|
||||
IMNetEaseManager.get().downMicroPhoneBySdk(micPosition, null);
|
||||
//noinspection ResultOfMethodCallIgnored
|
||||
UserModel.get().getUserInfo(uid).subscribe(new Consumer<UserInfo>() {
|
||||
@Override
|
||||
public void accept(UserInfo userInfo) throws Exception {
|
||||
RoomInfo roomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
|
||||
if (roomInfo != null && userInfo != null) {
|
||||
Single<ChatRoomMessage> single;
|
||||
if (SuperAdminUtil.isSuperAdmin()) {
|
||||
single = IMNetEaseManager.get().kickMicroBySdkBySAdmin(
|
||||
uid, userInfo.getNick(), roomInfo.getRoomId());
|
||||
} else {
|
||||
single = IMNetEaseManager.get().kickMicroPhoneBySdk(uid, userInfo.getNick(),
|
||||
roomInfo.getRoomId());
|
||||
}
|
||||
single.subscribe(
|
||||
chatRoomMessage -> {
|
||||
KickModel.get().onSendRoomMessageSuccess(chatRoomMessage);
|
||||
dismiss();
|
||||
},
|
||||
Throwable::printStackTrace);
|
||||
}
|
||||
RoomInfo roomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
|
||||
if (roomInfo != null && userInfo != null) {
|
||||
Single<ChatRoomMessage> single;
|
||||
if (SuperAdminUtil.isSuperAdmin()) {
|
||||
single = IMNetEaseManager.get().kickMicroBySdkBySAdmin(
|
||||
uid, userInfo.getNick(), roomInfo.getRoomId());
|
||||
} else {
|
||||
single = IMNetEaseManager.get().kickMicroPhoneBySdk(uid, userInfo.getNick(),
|
||||
roomInfo.getRoomId());
|
||||
}
|
||||
});
|
||||
single.subscribe(
|
||||
chatRoomMessage -> {
|
||||
KickModel.get().onSendRoomMessageSuccess(chatRoomMessage);
|
||||
dismiss();
|
||||
},
|
||||
Throwable::printStackTrace);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -43,4 +43,8 @@ public class VipHelper {
|
||||
if (userInfo == null) return 0;
|
||||
return userInfo.getUserVipInfoVO() == null ? 0 : userInfo.getUserVipInfoVO().getVipLevel();
|
||||
}
|
||||
|
||||
public static boolean notKick(UserInfo userInfo) {
|
||||
return userInfo != null && userInfo.getUserVipInfoVO() != null && userInfo.getUserVipInfoVO().getPreventKick();
|
||||
}
|
||||
}
|
||||
|
BIN
app/src/main/res/drawable-xhdpi/ic_kick_guard.png
Normal file
BIN
app/src/main/res/drawable-xhdpi/ic_kick_guard.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.0 KiB |
@@ -88,6 +88,18 @@
|
||||
android:src="@drawable/icon_room_mute_micro"
|
||||
android:visibility="invisible"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_kick_guard"
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="18dp"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_gravity="center"
|
||||
android:src="@drawable/ic_kick_guard"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
</FrameLayout>
|
||||
|
@@ -148,6 +148,20 @@
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_kick_guard"
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="18dp"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@drawable/ic_kick_guard"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
tools:visibility="visible" />
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
@@ -177,6 +177,20 @@
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_kick_guard"
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="18dp"
|
||||
android:layout_marginStart="13dp"
|
||||
android:layout_marginBottom="13dp"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@drawable/ic_kick_guard"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
tools:visibility="visible" />
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<TextView
|
||||
|
@@ -115,6 +115,20 @@
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_kick_guard"
|
||||
android:layout_width="15dp"
|
||||
android:layout_height="15dp"
|
||||
android:layout_marginStart="6dp"
|
||||
android:layout_marginBottom="6dp"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@drawable/ic_kick_guard"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
tools:visibility="visible" />
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
@@ -64,6 +64,18 @@
|
||||
android:visibility="visible"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_kick_guard"
|
||||
android:layout_width="15dp"
|
||||
android:layout_height="15dp"
|
||||
android:layout_marginStart="6dp"
|
||||
android:layout_marginBottom="3dp"
|
||||
android:scaleType="fitCenter"
|
||||
android:src="@drawable/ic_kick_guard"
|
||||
android:visibility="visible"
|
||||
android:layout_gravity="start|bottom"
|
||||
tools:visibility="visible" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
@@ -80,6 +80,18 @@
|
||||
android:src="@drawable/icon_room_mute_micro"
|
||||
android:visibility="invisible"
|
||||
tools:visibility="gone" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_kick_guard"
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="18dp"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_gravity="center"
|
||||
android:src="@drawable/ic_kick_guard"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
</FrameLayout>
|
||||
|
@@ -285,8 +285,8 @@
|
||||
<string name="no_empty_mic">没有空余坑位</string>
|
||||
<string name="crowded_down">您已被挤下麦</string>
|
||||
<string name="down_mic_text">下麦旁听</string>
|
||||
<string name="add_black_list">您已被管理员加入黑名单</string>
|
||||
<string name="kick_member_by_manager">您已被管理员踢出房间</string>
|
||||
<string name="add_black_list">您已被房主或管理员加入黑名单</string>
|
||||
<string name="kick_member_by_manager">您已被房主或管理员踢出房间</string>
|
||||
<string name="set_manager">设置管理员</string>
|
||||
<string name="remove_manager">移除管理员</string>
|
||||
|
||||
|
@@ -48,6 +48,8 @@ import com.yizhuan.xchat_android_core.user.UserModel;
|
||||
import com.yizhuan.xchat_android_core.user.bean.BaseInfo;
|
||||
import com.yizhuan.xchat_android_core.user.bean.UserInfo;
|
||||
import com.yizhuan.xchat_android_core.utils.net.RxHelper;
|
||||
import com.yizhuan.xchat_android_core.vip.UserVipInfo;
|
||||
import com.yizhuan.xchat_android_core.vip.VipInfo;
|
||||
import com.yizhuan.xchat_android_library.net.rxnet.RxNet;
|
||||
import com.yizhuan.xchat_android_library.net.rxnet.callback.CallBack;
|
||||
import com.yizhuan.xchat_android_library.utils.JavaUtil;
|
||||
@@ -625,6 +627,11 @@ public class RoomBaseModel extends BaseModel implements IRoomBaseModel {
|
||||
contentJsonObj.put("micCircle", userInfo.getMicCircle());
|
||||
}
|
||||
|
||||
UserVipInfo vipInfo = userInfo.getUserVipInfoVO();
|
||||
if (vipInfo != null && vipInfo.getPreventKick()) {
|
||||
contentJsonObj.put("preventKick", true);
|
||||
}
|
||||
|
||||
NIMChatRoomSDK.getChatRoomService()
|
||||
.updateQueueEx(roomId, String.valueOf(micPosition), contentJsonObj.toJSONString(), true)
|
||||
.setCallback(new RequestCallback<Void>() {
|
||||
|
@@ -22,6 +22,7 @@ public class MicMemberInfo {
|
||||
private String micNickColor;
|
||||
private String micCircle;
|
||||
private String headWearUrl;
|
||||
private boolean preventKick;
|
||||
|
||||
/**
|
||||
* 相亲模式使用
|
||||
|
Reference in New Issue
Block a user