Android连麦申请列表重构,申请列表重构,连麦列表重构,按钮判断逻辑修改,主播断开连麦接口重构

This commit is contained in:
18401019693
2023-11-01 09:55:42 +08:00
parent a39005b1a9
commit f1a8cd3a68
8 changed files with 409 additions and 127 deletions

View File

@@ -71,6 +71,38 @@ public class UserBean implements Parcelable {
//粉丝团等级
private int fansLevel;
//粉丝团进场皮肤
protected int typeMic;
private boolean isMicList = false;
private boolean isRequest = false;
public boolean isRequest() {
return isRequest;
}
public UserBean setRequest(boolean request) {
isRequest = request;
return this;
}
public boolean isMicList() {
return isMicList;
}
public UserBean setMicList(boolean micList) {
isMicList = micList;
return this;
}
public int getTypeMic() {
return typeMic;
}
public UserBean setTypeMic(int typeMic) {
this.typeMic = typeMic;
return this;
}
private String fansEnterRoomUrl;
public int getUserInfoComplete() {

View File

@@ -0,0 +1,89 @@
package com.yunbao.common.manager;
import android.content.Context;
import android.text.TextUtils;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.reflect.TypeToken;
import com.yunbao.common.CommonAppContext;
import com.yunbao.common.bean.UserBean;
import com.yunbao.common.manager.base.BaseCacheManager;
import java.util.ArrayList;
import java.util.List;
/**
* 连麦用户申请列表维护
*/
public class MicUserManager extends BaseCacheManager {
private String micKey = "TYPE_MIC_REQUEST";
private List<UserBean> micUsers = new ArrayList<>();
private static MicUserManager manager;
public MicUserManager(Context context) {
super(context);
}
public static MicUserManager get() {
if (null == manager) {
manager = new MicUserManager(CommonAppContext.sInstance.getBaseContext());
}
return manager;
}
public void upDataMicUser(JSONObject map) {
UserBean userModel = new UserBean();
UserBean.DressBean dressAvatar = null;
if (!TextUtils.isEmpty(map.getString("dress_avatar"))) {
dressAvatar = new UserBean.DressBean();
dressAvatar.setAvatar_frame(map.getString("dress_avatar"));
}
userModel.setAvatar(map.getString("avatar"));
userModel.setId(map.getString("uid"));
userModel.setUserNiceName(map.getString("uname"));
userModel.setDress(dressAvatar);
userModel.setSex(map.getIntValue("sex"));
userModel.setLevel(map.getIntValue("level"));
userModel.setTypeMic(2);
micUsers.add(userModel);
put(micKey, micUsers);
}
public List<UserBean> getMicUserList() {
if (micUsers.size() < 1) {
micUsers = getList(micKey, new TypeToken<List<UserBean>>() {
}.getType());
}
return micUsers;
}
public void removeMiscUser(JSONObject map) {
micUsers = getMicUserList();
if (micUsers == null) return;
for (int i = 0; i < micUsers.size(); i++) {
if (TextUtils.equals(micUsers.get(i).getId(), map.getString("uid"))) {
micUsers.remove(i);
}
}
put(micKey, micUsers);
}
public void removeMiscUser(String uid) {
micUsers = getMicUserList();
if (micUsers == null) return;
for (int i = 0; i < micUsers.size(); i++) {
if (TextUtils.equals(micUsers.get(i).getId(), uid)) {
micUsers.remove(i);
}
}
put(micKey, micUsers);
}
public void removeAllMicUserList() {
deleteByKey(micKey);
micUsers.clear();
}
}

View File

@@ -0,0 +1,89 @@
package com.yunbao.common.manager;
import android.content.Context;
import android.text.TextUtils;
import com.google.gson.reflect.TypeToken;
import com.yunbao.common.CommonAppContext;
import com.yunbao.common.bean.LinkMicUserBean;
import com.yunbao.common.bean.UserBean;
import com.yunbao.common.manager.base.BaseCacheManager;
import java.util.ArrayList;
import java.util.List;
/**
* 处于连麦中的人员维护列表
*/
public class MicedUserManager extends BaseCacheManager {
private String micKey = "TYPE_MIC_LIST";
private List<UserBean> micUsers = new ArrayList<>();
public MicedUserManager(Context context) {
super(context);
}
private static MicedUserManager manager;
public static MicedUserManager get() {
if (null == manager) {
manager = new MicedUserManager(CommonAppContext.sInstance.getBaseContext());
}
return manager;
}
public void upDataMicUserList(List<LinkMicUserBean> list) {
if (list == null || list.size() < 1) return;
for (LinkMicUserBean linkMicUserBean : list) {
if (!TextUtils.equals(linkMicUserBean.getId(),
String.valueOf(IMLoginManager.get(
CommonAppContext.sInstance.getBaseContext()).
getUserInfo().getId()))) {
UserBean userModel = new UserBean();
UserBean.DressBean dressAvatar = null;
if (!TextUtils.isEmpty(linkMicUserBean.getDress_avatar())) {
dressAvatar = new UserBean.DressBean();
dressAvatar.setAvatar_frame(linkMicUserBean.getDress_avatar());
}
userModel.setAvatar(linkMicUserBean.getAvatar());
userModel.setId(linkMicUserBean.getId());
userModel.setUserNiceName(linkMicUserBean.getUname());
userModel.setSex(linkMicUserBean.getSex());
userModel.setDress(dressAvatar);
userModel.setLevel(linkMicUserBean.getLevel());
userModel.setTypeMic(1);
micUsers.add(userModel);
}
}
put(micKey, micUsers);
}
public void removeMiscUser(String uid) {
micUsers = getMicUserList();
if (micUsers == null) return;
for (int i = 0; i < micUsers.size(); i++) {
if (TextUtils.equals(micUsers.get(i).getId(), uid)) {
micUsers.remove(i);
}
}
put(micKey, micUsers);
}
public List<UserBean> getMicUserList() {
if (micUsers.size() < 1) {
micUsers = getList(micKey, new TypeToken<List<UserBean>>() {
}.getType());
}
return micUsers;
}
public void removeAllMicUserList() {
deleteByKey(micKey);
micUsers.clear();
}
}

View File

@@ -1,9 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:width="76dp" android:height="27dp">
<item android:width="76dp" android:height="27dp" android:state_selected="true">
<shape android:shape="rectangle">
<solid android:color="#ff40beff" />
<corners android:topLeftRadius="13dp" android:topRightRadius="13dp" android:bottomLeftRadius="13dp" android:bottomRightRadius="13dp" />
<corners android:bottomLeftRadius="13dp" android:bottomRightRadius="13dp" android:topLeftRadius="13dp" android:topRightRadius="13dp" />
</shape>
</item>
<item android:width="76dp" android:height="27dp" android:state_selected="false">
<shape android:shape="rectangle">
<solid android:color="#4A4A4A" />
<corners android:bottomLeftRadius="13dp" android:bottomRightRadius="13dp" android:topLeftRadius="13dp" android:topRightRadius="13dp" />
</shape>
</item>
</selector>