feat:调整房间在线列表-房主判断字段,适配隐身进房展示

This commit is contained in:
Max
2024-01-02 16:15:46 +08:00
parent 067f97d6be
commit bcd6faf213
3 changed files with 31 additions and 18 deletions

View File

@@ -11,31 +11,20 @@ import androidx.appcompat.widget.AppCompatImageView;
import androidx.recyclerview.widget.RecyclerView;
import com.chad.library.adapter.base.BaseMultiItemQuickAdapter;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.netease.nim.uikit.impl.cache.NimUserInfoCache;
import com.netease.nimlib.sdk.RequestCallbackWrapper;
import com.netease.nimlib.sdk.uinfo.constant.GenderEnum;
import com.netease.nimlib.sdk.uinfo.model.NimUserInfo;
import com.yizhuan.erban.R;
import com.yizhuan.erban.ui.utils.ImageLoadUtils;
import com.yizhuan.erban.ui.widget.NobleAvatarView;
import com.yizhuan.erban.utils.RegexUtil;
import com.yizhuan.xchat_android_core.auth.AuthModel;
import com.yizhuan.xchat_android_core.level.UserLevelResourceType;
import com.yizhuan.xchat_android_core.level.UserLevelVo;
import com.yizhuan.xchat_android_core.manager.AvRoomDataManager;
import com.yizhuan.xchat_android_core.manager.IMNetEaseManager;
import com.yizhuan.xchat_android_core.manager.RoomEvent;
import com.yizhuan.xchat_android_core.noble.NobleResourceType;
import com.yizhuan.xchat_android_core.noble.NobleUtil;
import com.yizhuan.xchat_android_core.room.bean.OnlineChatMember;
import com.yizhuan.xchat_android_core.room.bean.RoomOnlineUserBean;
import com.yizhuan.xchat_android_core.user.bean.UserInfo;
import com.yizhuan.xchat_android_library.utils.ListUtils;
import java.util.List;
import io.reactivex.disposables.Disposable;
/**
@@ -44,14 +33,16 @@ import io.reactivex.disposables.Disposable;
* @author Administrator
* @date 2017/12/4
*/
public class OnlineUserAdapter extends BaseQuickAdapter<RoomOnlineUserBean, BaseViewHolder> {
public class OnlineUserAdapter extends BaseMultiItemQuickAdapter<RoomOnlineUserBean, BaseViewHolder> {
private boolean mIsHomeParty;
private Disposable mDisposable;
private OnRoomOnlineNumberChangeListener mListener;
public OnlineUserAdapter(Context context, boolean isHomeParty) {
super(R.layout.list_item_online_user);
super(null);
addItemType(RoomOnlineUserBean.NORMAL, R.layout.list_item_online_user);
addItemType(RoomOnlineUserBean.NOBLE, R.layout.list_item_online_user_mystery);
mIsHomeParty = isHomeParty;
}
@@ -63,6 +54,9 @@ public class OnlineUserAdapter extends BaseQuickAdapter<RoomOnlineUserBean, Base
@Override
protected void convert(@NonNull BaseViewHolder helper, RoomOnlineUserBean item) {
if (item.getItemType() == OnlineChatMember.NOBLE) {
return;
}
// 性别
final ImageView sexImage = helper.getView(R.id.sex);
if (item.getGender() == 1) {
@@ -91,7 +85,7 @@ public class OnlineUserAdapter extends BaseQuickAdapter<RoomOnlineUserBean, Base
if (item.getMemberType() != null && item.getMemberType().equals("MANAGER")) {
ivManager.setVisibility(View.VISIBLE);
ivManager.setImageResource(R.drawable.icon_admin_logo);
} else if (AvRoomDataManager.get().isRoomOwner(item.getUid())) {
} else if (item.getMemberType() != null && item.getMemberType().equals("CREATOR")) {
ivManager.setVisibility(View.VISIBLE);
ivManager.setImageResource(R.drawable.icon_user_list_room_ownner);
} else {
@@ -228,7 +222,6 @@ public class OnlineUserAdapter extends BaseQuickAdapter<RoomOnlineUserBean, Base
* 成员出去回调
*
* @param account
* @param dataList
*/
void onMemberExit(String account);
@@ -237,7 +230,6 @@ public class OnlineUserAdapter extends BaseQuickAdapter<RoomOnlineUserBean, Base
*
* @param account
* @param isUpMic
* @param dataList
*/
void onMemberDownUpMic(String account, boolean isUpMic);
@@ -245,7 +237,6 @@ public class OnlineUserAdapter extends BaseQuickAdapter<RoomOnlineUserBean, Base
* 设置管理员回调
*
* @param account
* @param dataList
*/
void onUpdateMemberManager(String account, boolean isRemoveManager);

View File

@@ -1,5 +1,6 @@
package com.yizhuan.xchat_android_core.room.bean
import com.chad.library.adapter.base.entity.MultiItemEntity
import com.yizhuan.xchat_android_core.user.bean.UserInfo
/**
@@ -9,4 +10,18 @@ import com.yizhuan.xchat_android_core.user.bean.UserInfo
data class RoomOnlineUserBean(
// MANAGER:管理员
val memberType: String? = null
) : UserInfo()
) : UserInfo(), MultiItemEntity {
companion object {
const val NOBLE = 1
const val NORMAL = 0
}
override fun getItemType(): Int {
return if (isEnterHide) {
NOBLE
} else {
NORMAL
}
}
}

View File

@@ -780,6 +780,13 @@ public class UserInfo implements Serializable {
return platformRole == 1;
}
protected boolean isEnterHide(){
if (userVipInfoVO == null) {
return false;
}
return userVipInfoVO.getEnterHide();
}
@Data
public static class Location {