贵族特权:防被踢功能
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.ButtonItem;
|
||||||
import com.yizhuan.erban.ui.widget.GiftDialog;
|
import com.yizhuan.erban.ui.widget.GiftDialog;
|
||||||
import com.yizhuan.erban.ui.widget.UserInfoDialog;
|
import com.yizhuan.erban.ui.widget.UserInfoDialog;
|
||||||
|
import com.yizhuan.erban.vip.VipHelper;
|
||||||
import com.yizhuan.tutu.room_chat.activity.RoomMsgActivity;
|
import com.yizhuan.tutu.room_chat.activity.RoomMsgActivity;
|
||||||
import com.yizhuan.xchat_android_core.auth.AuthModel;
|
import com.yizhuan.xchat_android_core.auth.AuthModel;
|
||||||
import com.yizhuan.xchat_android_core.bean.RoomQueueInfo;
|
import com.yizhuan.xchat_android_core.bean.RoomQueueInfo;
|
||||||
@@ -182,7 +183,7 @@ public class ButtonItemFactory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (kickOutRoom) {
|
if (kickOutRoom) {
|
||||||
buttonItems.add(createKickOutRoomItem(context, String.valueOf(currentRoom.getRoomId()),
|
buttonItems.add(createKickOutRoomItem(context, userInfo, String.valueOf(currentRoom.getRoomId()),
|
||||||
account, getNick(chatRoomMember, account)));
|
account, getNick(chatRoomMember, account)));
|
||||||
}
|
}
|
||||||
if (mark_manager) {
|
if (mark_manager) {
|
||||||
@@ -194,6 +195,7 @@ public class ButtonItemFactory {
|
|||||||
if (mart_black) {
|
if (mart_black) {
|
||||||
buttonItems.add(createMarkBlackListItem(
|
buttonItems.add(createMarkBlackListItem(
|
||||||
context,
|
context,
|
||||||
|
userInfo,
|
||||||
String.valueOf(currentRoom.getRoomId()),
|
String.valueOf(currentRoom.getRoomId()),
|
||||||
account,
|
account,
|
||||||
getNick(chatRoomMember, 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) {
|
final String account, String nick) {
|
||||||
return new ViewItem("踢出房间", R.drawable.icon_dialog_kickout_room, new ViewItem.OnClickListener() {
|
return new ViewItem("踢出房间", R.drawable.icon_dialog_kickout_room, new ViewItem.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick() {
|
public void onClick() {
|
||||||
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.data_card_kickout_room_click, "资料卡片-踢出房间");
|
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() {
|
true, new DialogManager.AbsOkDialogListener() {
|
||||||
@SuppressLint("CheckResult")
|
@SuppressLint("CheckResult")
|
||||||
@Override
|
@Override
|
||||||
@@ -401,6 +414,7 @@ public class ButtonItemFactory {
|
|||||||
|
|
||||||
//加入黑名单
|
//加入黑名单
|
||||||
public static ViewItem createMarkBlackListItem(final Context context,
|
public static ViewItem createMarkBlackListItem(final Context context,
|
||||||
|
UserInfo userInfo,
|
||||||
final String roomId,
|
final String roomId,
|
||||||
final String account,
|
final String account,
|
||||||
String nick) {
|
String nick) {
|
||||||
@@ -415,11 +429,20 @@ public class ButtonItemFactory {
|
|||||||
new DialogManager(context).showOkDialog("当前已达到黑名单添加上限(" + roomBlackListSize + "人),如需继续添加请移除部分黑名单成员");
|
new DialogManager(context).showOkDialog("当前已达到黑名单添加上限(" + roomBlackListSize + "人),如需继续添加请移除部分黑名单成员");
|
||||||
return;
|
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;
|
Single<String> single;
|
||||||
if (SuperAdminUtil.isSuperAdmin() || AvRoomDataManager.get().isSuperAdmin()) {
|
if (SuperAdminUtil.isSuperAdmin() || AvRoomDataManager.get().isSuperAdmin()) {
|
||||||
//超管拉黑
|
//超管拉黑
|
||||||
|
@@ -141,6 +141,9 @@ public abstract class BaseMicroViewAdapter extends RecyclerView.Adapter<Recycler
|
|||||||
@Nullable
|
@Nullable
|
||||||
ImageView ivCharmLevelTag;
|
ImageView ivCharmLevelTag;
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
ImageView ivKickGuard;
|
||||||
|
|
||||||
RoomQueueInfo info;
|
RoomQueueInfo info;
|
||||||
int position = TYPE_INVALID;
|
int position = TYPE_INVALID;
|
||||||
|
|
||||||
@@ -155,6 +158,7 @@ public abstract class BaseMicroViewAdapter extends RecyclerView.Adapter<Recycler
|
|||||||
tvNick = itemView.findViewById(R.id.nick);
|
tvNick = itemView.findViewById(R.id.nick);
|
||||||
tvNumber = itemView.findViewById(R.id.tv_number);
|
tvNumber = itemView.findViewById(R.id.tv_number);
|
||||||
ivCharmLevelTag = itemView.findViewById(R.id.iv_charm_level_tag);
|
ivCharmLevelTag = itemView.findViewById(R.id.iv_charm_level_tag);
|
||||||
|
ivKickGuard = itemView.findViewById(R.id.iv_kick_guard);
|
||||||
|
|
||||||
ivUpImage.setOnClickListener(this);
|
ivUpImage.setOnClickListener(this);
|
||||||
ivLockImage.setOnClickListener(this);
|
ivLockImage.setOnClickListener(this);
|
||||||
@@ -195,6 +199,9 @@ public abstract class BaseMicroViewAdapter extends RecyclerView.Adapter<Recycler
|
|||||||
if (ivCharmLevelTag != null) {
|
if (ivCharmLevelTag != null) {
|
||||||
ivCharmLevelTag.setVisibility(View.GONE);
|
ivCharmLevelTag.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
if (ivKickGuard != null) {
|
||||||
|
ivKickGuard.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
setDefalutText(position);
|
setDefalutText(position);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -212,7 +219,10 @@ public abstract class BaseMicroViewAdapter extends RecyclerView.Adapter<Recycler
|
|||||||
// 加载贵族
|
// 加载贵族
|
||||||
updateNobleView(chatRoomMember);
|
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 {
|
} else {
|
||||||
clearHeadWear();
|
clearHeadWear();
|
||||||
ivUpImage.setVisibility(View.VISIBLE);
|
ivUpImage.setVisibility(View.VISIBLE);
|
||||||
@@ -220,6 +230,9 @@ public abstract class BaseMicroViewAdapter extends RecyclerView.Adapter<Recycler
|
|||||||
if (ivCharmLevelTag != null) {
|
if (ivCharmLevelTag != null) {
|
||||||
ivCharmLevelTag.setVisibility(View.GONE);
|
ivCharmLevelTag.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
if (ivKickGuard != null) {
|
||||||
|
ivKickGuard.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
setDefalutText(position);
|
setDefalutText(position);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -240,6 +253,12 @@ public abstract class BaseMicroViewAdapter extends RecyclerView.Adapter<Recycler
|
|||||||
ivAvatar.setVisibility(View.GONE);
|
ivAvatar.setVisibility(View.GONE);
|
||||||
ivLockImage.setVisibility(View.GONE);
|
ivLockImage.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
if (ivCharmLevelTag != null) {
|
||||||
|
ivCharmLevelTag.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
if (ivKickGuard != null) {
|
||||||
|
ivKickGuard.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
setDefalutText(position);
|
setDefalutText(position);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -267,7 +286,7 @@ public abstract class BaseMicroViewAdapter extends RecyclerView.Adapter<Recycler
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void setSelectText(int index, String nick, int gender) {
|
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));
|
tvNick.setTextColor(context.getResources().getColor(R.color.white));
|
||||||
|
|
||||||
if (tvNumber != null) {
|
if (tvNumber != null) {
|
||||||
|
@@ -182,8 +182,8 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe
|
|||||||
this.isInRoom = isInRoom;
|
this.isInRoom = isInRoom;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void showNewUserInfoDialog(Context context, long uid){
|
public static void showNewUserInfoDialog(Context context, long uid) {
|
||||||
showNewUserInfoDialog(context, uid,true,true,true,null);
|
showNewUserInfoDialog(context, uid, true, true, true, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressLint("CheckResult")
|
@SuppressLint("CheckResult")
|
||||||
@@ -719,7 +719,7 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe
|
|||||||
//如果没贵族信息,就加载头像作为背景
|
//如果没贵族信息,就加载头像作为背景
|
||||||
if (avatarBg == null || !avatarBg.equals(userInfo.getAvatar())) {
|
if (avatarBg == null || !avatarBg.equals(userInfo.getAvatar())) {
|
||||||
avatarBg = userInfo.getAvatar();
|
avatarBg = userInfo.getAvatar();
|
||||||
ImageLoadUtils.loadImageWithBlur(context, userInfo.getAvatar(), ivAvatarBg,10, 1);
|
ImageLoadUtils.loadImageWithBlur(context, userInfo.getAvatar(), ivAvatarBg, 10, 1);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -1243,8 +1243,7 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (AvRoomDataManager.get().isQueuingMicro()) {
|
if (AvRoomDataManager.get().isQueuingMicro()) {
|
||||||
// Toast.makeText(getContext(), "排麦模式不可以锁麦哦!", Toast.LENGTH_SHORT).show();
|
SingleToastUtil.showToast("排麦模式不可以锁麦哦!");
|
||||||
SingleToastUtil.showToastShort("排麦模式不可以锁麦哦!");
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
mSuperAdminModel.roomOperate(SuperAdminModel.LOCK_MIC).subscribe();
|
mSuperAdminModel.roomOperate(SuperAdminModel.LOCK_MIC).subscribe();
|
||||||
@@ -1264,13 +1263,11 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (AvRoomDataManager.get().isQueuingMicro()) {
|
if (AvRoomDataManager.get().isQueuingMicro()) {
|
||||||
// Toast.makeText(getContext(), "排麦模式不可以解锁哦!", Toast.LENGTH_SHORT).show();
|
SingleToastUtil.showToast("排麦模式不可以解锁哦!");
|
||||||
SingleToastUtil.showToastShort("排麦模式不可以解锁哦!");
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (AvRoomDataManager.get().isOpenPKMode()) {
|
if (AvRoomDataManager.get().isOpenPKMode()) {
|
||||||
// Toast.makeText(getContext(), "PK模式不可以解锁哦!", Toast.LENGTH_SHORT).show();
|
SingleToastUtil.showToast("PK模式不可以解锁哦!");
|
||||||
SingleToastUtil.showToastShort("PK模式不可以解锁哦!");
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
homePartyModel.unLockMicroPhone(micPosition, roomInfo.getUid() + "",
|
homePartyModel.unLockMicroPhone(micPosition, roomInfo.getUid() + "",
|
||||||
@@ -1353,6 +1350,19 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe
|
|||||||
textView.setOnClickListener(v -> {
|
textView.setOnClickListener(v -> {
|
||||||
StatisticManager.Instance().onEvent(StatisticsProtocol.Event.data_dard_takeOut_mic_click, "资料卡片-抱他下麦");
|
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()) {
|
if (SuperAdminUtil.isSuperAdmin()) {
|
||||||
mSuperAdminModel.roomOperate(SuperAdminModel.TAKE_OUT_MIC, uid).subscribe();
|
mSuperAdminModel.roomOperate(SuperAdminModel.TAKE_OUT_MIC, uid).subscribe();
|
||||||
kickDownMicCode();
|
kickDownMicCode();
|
||||||
@@ -1360,20 +1370,6 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (AvRoomDataManager.get().isOnMic(uid)) {
|
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)) {
|
if (AvRoomDataManager.get().isGamePlaying(uid)) {
|
||||||
new DialogManager(context).showOkCancelWithTitleDialog("抱Ta下麦后默认该玩家退出游戏,是否继续?",
|
new DialogManager(context).showOkCancelWithTitleDialog("抱Ta下麦后默认该玩家退出游戏,是否继续?",
|
||||||
(DialogManager.LambdaOkDialogListener) () -> {
|
(DialogManager.LambdaOkDialogListener) () -> {
|
||||||
@@ -1382,26 +1378,7 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe
|
|||||||
});
|
});
|
||||||
return;
|
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()) {
|
if (GiftValueDialogUiHelper.get().isNeedKickDownMicDialog()) {
|
||||||
dismiss();
|
dismiss();
|
||||||
GiftValueDialogUiHelper.get().showGiftValueDialog(context, null,
|
GiftValueDialogUiHelper.get().showGiftValueDialog(context, null,
|
||||||
@@ -1410,7 +1387,6 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
kickDownMicCode();
|
kickDownMicCode();
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return textView;
|
return textView;
|
||||||
@@ -1420,10 +1396,6 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe
|
|||||||
private void kickDownMicCode() {
|
private void kickDownMicCode() {
|
||||||
int micPosition = AvRoomDataManager.get().getMicPosition(uid);
|
int micPosition = AvRoomDataManager.get().getMicPosition(uid);
|
||||||
IMNetEaseManager.get().downMicroPhoneBySdk(micPosition, null);
|
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;
|
RoomInfo roomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
|
||||||
if (roomInfo != null && userInfo != null) {
|
if (roomInfo != null && userInfo != null) {
|
||||||
Single<ChatRoomMessage> single;
|
Single<ChatRoomMessage> single;
|
||||||
@@ -1441,8 +1413,7 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe
|
|||||||
},
|
},
|
||||||
Throwable::printStackTrace);
|
Throwable::printStackTrace);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -43,4 +43,8 @@ public class VipHelper {
|
|||||||
if (userInfo == null) return 0;
|
if (userInfo == null) return 0;
|
||||||
return userInfo.getUserVipInfoVO() == null ? 0 : userInfo.getUserVipInfoVO().getVipLevel();
|
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:src="@drawable/icon_room_mute_micro"
|
||||||
android:visibility="invisible"
|
android:visibility="invisible"
|
||||||
tools:visibility="visible" />
|
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>
|
</RelativeLayout>
|
||||||
|
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
@@ -148,6 +148,20 @@
|
|||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
tools:visibility="visible" />
|
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>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
@@ -177,6 +177,20 @@
|
|||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
tools:visibility="visible" />
|
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>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@@ -115,6 +115,20 @@
|
|||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
tools: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="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>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
@@ -64,6 +64,18 @@
|
|||||||
android:visibility="visible"
|
android:visibility="visible"
|
||||||
tools: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>
|
</FrameLayout>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
@@ -80,6 +80,18 @@
|
|||||||
android:src="@drawable/icon_room_mute_micro"
|
android:src="@drawable/icon_room_mute_micro"
|
||||||
android:visibility="invisible"
|
android:visibility="invisible"
|
||||||
tools:visibility="gone" />
|
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>
|
</RelativeLayout>
|
||||||
|
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
@@ -285,8 +285,8 @@
|
|||||||
<string name="no_empty_mic">没有空余坑位</string>
|
<string name="no_empty_mic">没有空余坑位</string>
|
||||||
<string name="crowded_down">您已被挤下麦</string>
|
<string name="crowded_down">您已被挤下麦</string>
|
||||||
<string name="down_mic_text">下麦旁听</string>
|
<string name="down_mic_text">下麦旁听</string>
|
||||||
<string name="add_black_list">您已被管理员加入黑名单</string>
|
<string name="add_black_list">您已被房主或管理员加入黑名单</string>
|
||||||
<string name="kick_member_by_manager">您已被管理员踢出房间</string>
|
<string name="kick_member_by_manager">您已被房主或管理员踢出房间</string>
|
||||||
<string name="set_manager">设置管理员</string>
|
<string name="set_manager">设置管理员</string>
|
||||||
<string name="remove_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.BaseInfo;
|
||||||
import com.yizhuan.xchat_android_core.user.bean.UserInfo;
|
import com.yizhuan.xchat_android_core.user.bean.UserInfo;
|
||||||
import com.yizhuan.xchat_android_core.utils.net.RxHelper;
|
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.RxNet;
|
||||||
import com.yizhuan.xchat_android_library.net.rxnet.callback.CallBack;
|
import com.yizhuan.xchat_android_library.net.rxnet.callback.CallBack;
|
||||||
import com.yizhuan.xchat_android_library.utils.JavaUtil;
|
import com.yizhuan.xchat_android_library.utils.JavaUtil;
|
||||||
@@ -625,6 +627,11 @@ public class RoomBaseModel extends BaseModel implements IRoomBaseModel {
|
|||||||
contentJsonObj.put("micCircle", userInfo.getMicCircle());
|
contentJsonObj.put("micCircle", userInfo.getMicCircle());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
UserVipInfo vipInfo = userInfo.getUserVipInfoVO();
|
||||||
|
if (vipInfo != null && vipInfo.getPreventKick()) {
|
||||||
|
contentJsonObj.put("preventKick", true);
|
||||||
|
}
|
||||||
|
|
||||||
NIMChatRoomSDK.getChatRoomService()
|
NIMChatRoomSDK.getChatRoomService()
|
||||||
.updateQueueEx(roomId, String.valueOf(micPosition), contentJsonObj.toJSONString(), true)
|
.updateQueueEx(roomId, String.valueOf(micPosition), contentJsonObj.toJSONString(), true)
|
||||||
.setCallback(new RequestCallback<Void>() {
|
.setCallback(new RequestCallback<Void>() {
|
||||||
|
@@ -22,6 +22,7 @@ public class MicMemberInfo {
|
|||||||
private String micNickColor;
|
private String micNickColor;
|
||||||
private String micCircle;
|
private String micCircle;
|
||||||
private String headWearUrl;
|
private String headWearUrl;
|
||||||
|
private boolean preventKick;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 相亲模式使用
|
* 相亲模式使用
|
||||||
|
Reference in New Issue
Block a user