SingleAudioView语音单聊

98 阅读1分钟
public class SingleAudioView extends LinearLayout {

    private Context context;
    private ImageView ivAvatar;
    private TextView tvName;
    private User user;

    public SingleAudioView(Context context) {
        this(context, null);
    }

    public SingleAudioView(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
        this.context = context;
        initView(context);
    }

    private void initView(Context context) {
        setOrientation(LinearLayout.VERTICAL);
        View view = LayoutInflater.from(context).inflate(R.layout.layout_single_audio, this);
        ivAvatar = view.findViewById(R.id.iv_avatar);
        tvName = view.findViewById(R.id.tv_name);
    }

    public void updateUser(String userId) {
        MeetingUserInfo userInfo = MeetingManager.getInstance().getUser(userId);
        GlideShowUtil.showCircleImage(context, ivAvatar, userInfo.getAvatarUrl());
        tvName.setText(userInfo.getName());
    }

    public void setVisible(boolean isVisible) {
        if (isVisible) {
            if (isVisible()) {
                return;
            }
            setVisibility(View.VISIBLE);
            setRemoteUserInfo();
        } else {
            if (!isVisible()) {
                return;
            }
            setVisibility(View.GONE);
        }
    }

    //动态取除自己外第一个用户信息
    public void setRemoteUserInfo(){
        for (Map.Entry<String, MeetingUserInfo> userInfoEntry : MeetingManager.getInstance().getAllUser().entrySet()) {
            if (userInfoEntry.getKey().equals(user.getUserId())) {
                continue;
            }
            GlideShowUtil.showCircleImage(getContext(), ivAvatar, userInfoEntry.getValue().getAvatarUrl());
            tvName.setText(userInfoEntry.getValue().getName());
            break;
        }
    }

    public boolean isVisible() {
        return getVisibility() == View.VISIBLE;
    }

    public void setUser(User user) {
        this.user = user;
    }
}