621 lines
24 KiB
Java
621 lines
24 KiB
Java
package com.yunbao.live.dialog;
|
|
|
|
import android.app.Dialog;
|
|
import android.graphics.Color;
|
|
import android.graphics.drawable.Drawable;
|
|
import android.os.Bundle;
|
|
|
|
import androidx.core.content.ContextCompat;
|
|
|
|
import android.text.TextUtils;
|
|
import android.util.Log;
|
|
import android.view.Gravity;
|
|
import android.view.LayoutInflater;
|
|
import android.view.View;
|
|
import android.view.ViewGroup;
|
|
import android.view.Window;
|
|
import android.view.WindowManager;
|
|
import android.widget.ImageView;
|
|
import android.widget.LinearLayout;
|
|
import android.widget.TextView;
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.opensource.svgaplayer.SVGADrawable;
|
|
import com.opensource.svgaplayer.SVGAImageView;
|
|
import com.opensource.svgaplayer.SVGAParser;
|
|
import com.opensource.svgaplayer.SVGAVideoEntity;
|
|
import com.tencent.imsdk.v2.V2TIMCallback;
|
|
import com.tencent.imsdk.v2.V2TIMManager;
|
|
import com.yunbao.common.CommonAppConfig;
|
|
import com.yunbao.common.Constants;
|
|
import com.yunbao.common.bean.FansMedalBean;
|
|
import com.yunbao.common.bean.LevelBean;
|
|
import com.yunbao.common.bean.UserBean;
|
|
import com.yunbao.common.dialog.AbsDialogFragment;
|
|
import com.yunbao.common.glide.ImgLoader;
|
|
import com.yunbao.common.http.CommonHttpUtil;
|
|
import com.yunbao.common.http.HttpCallback;
|
|
import com.yunbao.common.interfaces.CommonCallback;
|
|
import com.yunbao.common.utils.CommonIconUtil;
|
|
import com.yunbao.common.utils.DialogUitl;
|
|
import com.yunbao.common.utils.NobleUtil;
|
|
import com.yunbao.common.utils.RouteUtil;
|
|
import com.yunbao.common.utils.SVGAViewUtils;
|
|
import com.yunbao.common.utils.StringUtil;
|
|
import com.yunbao.common.utils.ToastUtil;
|
|
import com.yunbao.common.utils.WordUtil;
|
|
import com.yunbao.live.R;
|
|
import com.yunbao.live.activity.LiveActivity;
|
|
import com.yunbao.live.activity.LiveReportActivity;
|
|
import com.yunbao.live.activity.LiveRyAnchorActivity;
|
|
import com.yunbao.live.bean.GuardUserBean;
|
|
import com.yunbao.live.bean.ImpressBean;
|
|
import com.yunbao.common.bean.LiveBean;
|
|
import com.yunbao.live.custom.MyTextView;
|
|
import com.yunbao.live.event.LiveRoomChangeEvent;
|
|
import com.yunbao.live.http.LiveHttpConsts;
|
|
import com.yunbao.live.http.LiveHttpUtil;
|
|
import com.yunbao.live.presenter.LiveRoomCheckLivePresenter;
|
|
import com.yunbao.live.utils.LiveTextRender;
|
|
import com.yunbao.live.views.LiveRoomViewHolder;
|
|
|
|
import org.greenrobot.eventbus.EventBus;
|
|
|
|
import java.net.MalformedURLException;
|
|
import java.net.URL;
|
|
import java.util.ArrayList;
|
|
import java.util.Arrays;
|
|
import java.util.List;
|
|
|
|
import io.rong.imlib.IRongCoreCallback;
|
|
import io.rong.imlib.IRongCoreEnum;
|
|
import io.rong.imlib.chatroom.base.RongChatRoomClient;
|
|
import pl.droidsonroids.gif.GifImageView;
|
|
|
|
/**
|
|
* Created by cxf on 2018/10/15.
|
|
* 直播间个人资料弹窗
|
|
*/
|
|
|
|
public class LiveUserDialogFragment extends AbsDialogFragment implements View.OnClickListener {
|
|
private String TAG = "用户弹窗";
|
|
|
|
private static final int TYPE_AUD_AUD = 1;//观众点别的观众
|
|
private static final int TYPE_ANC_AUD = 2;//主播点观众
|
|
private static final int TYPE_AUD_ANC = 3;//观众点主播
|
|
private static final int TYPE_AUD_SELF = 4;//观众点自己
|
|
private static final int TYPE_ANC_SELF = 5;//主播点自己
|
|
|
|
private static final int SETTING_ACTION_SELF = 0;//设置 自己点自己
|
|
private static final int SETTING_ACTION_AUD = 30;//设置 普通观众点普通观众 或所有人点超管
|
|
private static final int SETTING_ACTION_ADM = 40;//设置 房间管理员点普通观众
|
|
private static final int SETTING_ACTION_SUP = 60;//设置 超管点主播
|
|
private static final int SETTING_ACTION_ANC_AUD = 501;//设置 主播点普通观众
|
|
private static final int SETTING_ACTION_ANC_ADM = 502;//设置 主播点房间管理员
|
|
private ViewGroup mBottomContainer;
|
|
private String mLiveUid;
|
|
private String mToUid;
|
|
private String mStream;
|
|
private int mType;
|
|
private TextView mFollowText;
|
|
private TextView mName;
|
|
private TextView mID;
|
|
private TextView userLv;
|
|
private TextView mLvDesc;
|
|
private TextView mFansVal;
|
|
private TextView mPraise;
|
|
private TextView mSignDesc;
|
|
private TextView mNobleVal;
|
|
private TextView mReport;
|
|
private TextView mGuard;
|
|
private TextView mUnion;
|
|
private TextView mHonorVal;
|
|
private TextView mNobleTitleVal;
|
|
private ImageView mFollowImage;
|
|
private ImageView mSex;
|
|
private ImageView good_nub_ico;
|
|
private ImageView mLiveIcon;
|
|
private ImageView mLiveIcon2;
|
|
private ImageView mNoble;
|
|
private ImageView mNobleIcon;
|
|
private ImageView mAvatar;
|
|
private ImageView shawl;
|
|
private ImageView honorIcon;
|
|
private ImageView mTitleBg;
|
|
private UserBean mUserBean;
|
|
private LinearLayout mGuardLayout;
|
|
private LinearLayout mUnionLayout;
|
|
private LinearLayout mNobleIconLayout;
|
|
private LinearLayout mUserLevelLayout;
|
|
private LinearLayout mHonorLayout;
|
|
private boolean mFollowing;
|
|
GifImageView btn_live;
|
|
SVGAImageView gift_svga;
|
|
|
|
|
|
@Override
|
|
protected int getLayoutId() {
|
|
return R.layout.dialog_new_live_user;
|
|
}
|
|
|
|
@Override
|
|
protected int getDialogStyle() {
|
|
return R.style.dialog2;
|
|
}
|
|
|
|
@Override
|
|
protected boolean canCancel() {
|
|
return true;
|
|
}
|
|
|
|
private LiveRoomCheckLivePresenter mCheckLivePresenter;
|
|
|
|
|
|
@Override
|
|
protected void setWindowAttributes(Window window) {
|
|
WindowManager.LayoutParams params = window.getAttributes();
|
|
window.setWindowAnimations(R.style.bottomToTopAnim);
|
|
params.width = WindowManager.LayoutParams.MATCH_PARENT;
|
|
params.height = WindowManager.LayoutParams.WRAP_CONTENT;
|
|
params.gravity = Gravity.BOTTOM;
|
|
window.setAttributes(params);
|
|
}
|
|
|
|
@Override
|
|
public void onActivityCreated(Bundle savedInstanceState) {
|
|
super.onActivityCreated(savedInstanceState);
|
|
Bundle bundle = getArguments();
|
|
if (bundle == null) {
|
|
return;
|
|
}
|
|
mLiveUid = bundle.getString(Constants.LIVE_UID);
|
|
mToUid = bundle.getString(Constants.TO_UID);
|
|
if (TextUtils.isEmpty(mLiveUid) || TextUtils.isEmpty(mToUid)) {
|
|
return;
|
|
}
|
|
mStream = bundle.getString(Constants.STREAM);
|
|
getType();
|
|
initView();
|
|
initListener();
|
|
//initGuardList();
|
|
LayoutInflater inflater = LayoutInflater.from(mContext);
|
|
View bottomView = null;
|
|
if (mType == TYPE_AUD_ANC) {
|
|
bottomView = inflater.inflate(R.layout.dialog_live_user_bottom_1, mBottomContainer, false);
|
|
} else if (mType == TYPE_AUD_AUD) {
|
|
bottomView = inflater.inflate(R.layout.dialog_live_user_bottom_1, mBottomContainer, false);
|
|
} else if (mType == TYPE_ANC_AUD) {
|
|
bottomView = inflater.inflate(R.layout.dialog_live_user_bottom_1, mBottomContainer, false);
|
|
} else if (mType == TYPE_AUD_SELF) {
|
|
bottomView = inflater.inflate(R.layout.dialog_live_user_bottom_3, mBottomContainer, false);
|
|
}
|
|
if (bottomView != null) {
|
|
mBottomContainer.addView(bottomView);
|
|
mFollowText = bottomView.findViewById(R.id.follow_text);
|
|
mFollowImage = (ImageView) findViewById(R.id.follow_img);
|
|
View btnFollow = bottomView.findViewById(R.id.btn_follow);
|
|
if (btnFollow != null) {
|
|
btnFollow.setOnClickListener(this);
|
|
}
|
|
View btnPriMsg = bottomView.findViewById(R.id.btn_pri_msg);
|
|
if (btnPriMsg != null) {
|
|
btnPriMsg.setOnClickListener(this);
|
|
}
|
|
View btnHomePage = bottomView.findViewById(R.id.btn_home_page);
|
|
if (btnHomePage != null) {
|
|
btnHomePage.setOnClickListener(this);
|
|
}
|
|
}
|
|
loadData();
|
|
}
|
|
|
|
private void initView() {
|
|
gift_svga = (SVGAImageView) mRootView.findViewById(R.id.gift_svga);
|
|
btn_live = mRootView.findViewById(R.id.btn_live);
|
|
mBottomContainer = mRootView.findViewById(R.id.bottom_container);
|
|
mSex = (ImageView) mRootView.findViewById(R.id.sex);
|
|
mName = (TextView) mRootView.findViewById(R.id.name);
|
|
mID = (TextView) mRootView.findViewById(R.id.id_val);
|
|
good_nub_ico = (ImageView) mRootView.findViewById(R.id.good_nub_ico);
|
|
userLv = mRootView.findViewById(R.id.lv_val);
|
|
mLvDesc = mRootView.findViewById(R.id.lv_desc);
|
|
mLiveIcon = mRootView.findViewById(R.id.user_card_lv_icon);
|
|
mLiveIcon2 = mRootView.findViewById(R.id.live_icon);
|
|
mNoble = mRootView.findViewById(R.id.user_card_noble);
|
|
mFansVal = mRootView.findViewById(R.id.fans_val);
|
|
mPraise = mRootView.findViewById(R.id.praise_val);
|
|
mSignDesc = mRootView.findViewById(R.id.sign);
|
|
mAvatar = mRootView.findViewById(R.id.avatar);
|
|
mNobleVal = mRootView.findViewById(R.id.noble_val);
|
|
shawl = (ImageView) mRootView.findViewById(R.id.shawl);
|
|
mReport = mRootView.findViewById(R.id.btn_report);
|
|
mGuardLayout = mRootView.findViewById(R.id.btn_guard);
|
|
mGuard = mRootView.findViewById(R.id.guard_val);
|
|
mNobleIcon = mRootView.findViewById(R.id.noble_icon);
|
|
honorIcon = mRootView.findViewById(R.id.honor_icon);
|
|
mUnionLayout = mRootView.findViewById(R.id.btn_union);
|
|
mUnion = mRootView.findViewById(R.id.union_val);
|
|
mHonorVal = mRootView.findViewById(R.id.honor_val);
|
|
mUserLevelLayout = mRootView.findViewById(R.id.user_level_layout);
|
|
mNobleIconLayout = mRootView.findViewById(R.id.noble_icon_layout);
|
|
mNobleTitleVal = mRootView.findViewById(R.id.noble_title_val);
|
|
mHonorLayout = mRootView.findViewById(R.id.honor_layout);
|
|
mTitleBg = mRootView.findViewById(R.id.title_bg);
|
|
mHonorLayout.setOnClickListener(v -> forwardHomePage());
|
|
|
|
}
|
|
|
|
private void initListener() {
|
|
btn_live.setOnClickListener(new View.OnClickListener() {
|
|
@Override
|
|
public void onClick(View view) {
|
|
// gotoLive(mToUid);
|
|
}
|
|
});
|
|
mAvatar.setOnClickListener(this);
|
|
mReport.setOnClickListener(this);
|
|
mGuardLayout.setOnClickListener(this);
|
|
btn_live.setOnClickListener(this);
|
|
}
|
|
|
|
private void loadData() {
|
|
LiveHttpUtil.getLiveUser(mToUid, mLiveUid, new HttpCallback() {
|
|
@Override
|
|
public void onSuccess(int code, String msg, String[] info) {
|
|
if (code == 0 && info.length > 0) {
|
|
showData(info[0]);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
private void getType() {
|
|
String uid = CommonAppConfig.getInstance().getUid();
|
|
if (mToUid.equals(mLiveUid)) {
|
|
if (mLiveUid.equals(uid)) {//主播点自己
|
|
mType = TYPE_ANC_SELF;
|
|
} else {//观众点主播
|
|
mType = TYPE_AUD_ANC;
|
|
}
|
|
} else {
|
|
if (mLiveUid.equals(uid)) {//主播点观众
|
|
mType = TYPE_ANC_AUD;
|
|
} else {
|
|
if (mToUid.equals(uid)) {//观众点自己
|
|
mType = TYPE_AUD_SELF;
|
|
} else {//观众点别的观众
|
|
mType = TYPE_AUD_AUD;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
private void showData(String data) {
|
|
Log.i(TAG, "showData: " + data);
|
|
boolean isAnchor = mLiveUid.equals(mToUid);
|
|
JSONObject obj = JSON.parseObject(data);
|
|
mUserBean = JSON.toJavaObject(obj, UserBean.class);
|
|
if (mUserBean.getIslive().equals("1")) {
|
|
btn_live.setVisibility(View.VISIBLE);
|
|
} else {
|
|
btn_live.setVisibility(View.GONE);
|
|
}
|
|
if (isAnchor) {
|
|
mGuardLayout.setVisibility(View.VISIBLE);
|
|
if (obj.containsKey("user_president_name") && !StringUtil.isEmpty(obj.getString("user_president_name"))) {
|
|
mUnion.setText(obj.getString("user_president_name"));
|
|
mUnionLayout.setVisibility(View.VISIBLE);
|
|
}
|
|
mNoble.setVisibility(View.GONE);
|
|
mUserLevelLayout.setBackgroundResource(R.drawable.bg_user_card_lv);
|
|
mNobleTitleVal.setText(R.string.live_noble_fens_anchor);
|
|
mNobleIconLayout.setBackgroundResource(R.drawable.bg_user_card_fans);
|
|
} else {
|
|
mUserLevelLayout.setBackgroundResource(R.drawable.bg_user_card_au_lv);
|
|
}
|
|
mName.setText(obj.getString("user_nicename"));
|
|
if (mUserBean.getGoodnum() != null && !mUserBean.getGoodnum().equals("")) {
|
|
good_nub_ico.setVisibility(View.VISIBLE);
|
|
mID.setText(mUserBean.getGoodnum());
|
|
} else {
|
|
good_nub_ico.setVisibility(View.GONE);
|
|
mID.setText(mUserBean.getId());
|
|
}
|
|
mSex.setImageResource(CommonIconUtil.getSexIconForUserCard(obj.getIntValue("sex")));
|
|
LevelBean levelBean;
|
|
if (mLiveUid.equals(mUserBean.getId())) {
|
|
levelBean = CommonAppConfig.getInstance().getAnchorLevel(mUserBean.getLevelAnchor());
|
|
userLv.setText("Lv." + mUserBean.getLevelAnchor());
|
|
mLvDesc.setText(R.string.live_user_level_anchor);
|
|
} else {
|
|
levelBean = CommonAppConfig.getInstance().getLevel(mUserBean.getLevel());
|
|
userLv.setText("Lv." + mUserBean.getLevel());
|
|
mLvDesc.setText(R.string.live_user_card_level);
|
|
}
|
|
new LiveTextRender().getLevelImage(mContext, levelBean.getLevel(), new ImgLoader.DrawableCallback() {
|
|
@Override
|
|
public void onLoadSuccess(Drawable drawable) {
|
|
ImgLoader.display2(mContext, drawable, mLiveIcon);
|
|
}
|
|
|
|
@Override
|
|
public void onLoadFailed() {
|
|
|
|
}
|
|
});
|
|
ImgLoader.display(mContext, levelBean.getBgIcon(), mLiveIcon2);
|
|
FansMedalBean fansMedalBean = CommonAppConfig.getInstance().getAnchorFansMedal(obj.getIntValue("medal_level"));
|
|
if (fansMedalBean != null && !isAnchor) {
|
|
ImgLoader.display(mContext, fansMedalBean.getThumb(), mNoble);
|
|
} else {
|
|
mNoble.setVisibility(View.GONE);
|
|
}
|
|
mGuard.setText(String.format(mGuard.getText().toString(), obj.getInteger("guard_num")));
|
|
mFansVal.setText(WordUtil.getString(R.string.fans) + ":" + mUserBean.getFans());
|
|
mPraise.setText(WordUtil.getString(R.string.praise) + ":" + obj.getInteger("user_love_num"));
|
|
mSignDesc.setText(mUserBean.getSignature());
|
|
if (isAnchor) {
|
|
mNobleVal.setText("" + obj.getInteger("level_fans_num"));
|
|
} else {
|
|
mNobleVal.setText(NobleUtil.nobleIdToStringName(Integer.parseInt(mUserBean.getNoble_id())));
|
|
if (obj.getInteger("noble_id") != 0) {
|
|
mTitleBg.setBackgroundResource(NobleUtil.getUserCardTitleBackgroundId(obj.getInteger("noble_id")));
|
|
}
|
|
}
|
|
ImgLoader.displayAvatar(mContext, obj.getString("avatar"), mAvatar);
|
|
JSONObject dress = obj.getJSONObject("dress");
|
|
|
|
mHonorVal.setText(dress.getInteger("medal_num") + "");
|
|
if (obj.containsKey("level_thumb")) {
|
|
ImgLoader.display(mContext, obj.getJSONObject("level_thumb").getString("icon"), mLiveIcon2);
|
|
} else {
|
|
mLiveIcon2.setVisibility(View.INVISIBLE);
|
|
}
|
|
if (dress.containsKey("medal") && !isAnchor) {
|
|
JSONObject item = null;
|
|
for (Object medal : dress.getJSONArray("medal")) {
|
|
JSONObject _item = (JSONObject) medal;
|
|
if (_item.getInteger("is_use") == 1) {
|
|
item = _item;
|
|
break;
|
|
}
|
|
}
|
|
if (item != null) {
|
|
String url = item.getString("display_src");
|
|
if (item.containsKey("noble_medal")) {
|
|
mNoble.setVisibility(View.VISIBLE);
|
|
ImgLoader.display(mContext, item.getString("noble_medal"), mNoble);
|
|
}
|
|
if (url != null) {
|
|
url = url.replace("qny.shayucm.com", "downs.yaoulive.com");
|
|
try {
|
|
mNobleIconLayout.setBackgroundResource(NobleUtil.getNobleBackgroundId(obj.getInteger("noble_id")));
|
|
} catch (Exception e) {
|
|
mNobleIconLayout.setBackgroundResource(NobleUtil.getNobleBackgroundId(0));
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
mNobleIconLayout.setVisibility(View.VISIBLE);
|
|
mNobleIcon.setVisibility(View.VISIBLE);
|
|
}
|
|
if (dress.containsKey("medal_no")) {
|
|
JSONObject item = null;
|
|
if (dress.getJSONArray("medal_no").size() > 0) {
|
|
item = dress.getJSONArray("medal_no").getJSONObject(0);
|
|
String url = item.getString("display_src");
|
|
url = url.replace("qny.shayucm.com", "downs.yaoulive.com");
|
|
ImgLoader.display(mContext, url, honorIcon);
|
|
}
|
|
}
|
|
|
|
mFollowing = obj.getIntValue("isattention") == 1;
|
|
updateFollow();
|
|
//装扮相关
|
|
|
|
if (dress.getJSONArray("wraps").size() >= 1) {
|
|
JSONObject display = (JSONObject) dress.getJSONArray("wraps").get(0);
|
|
shawl.setTag("test");
|
|
ImgLoader.display(mContext, display.getString("display_src"), shawl);
|
|
}
|
|
if (dress.getJSONArray("avatar_frame").size() == 1) {
|
|
JSONObject ico = (JSONObject) dress.getJSONArray("avatar_frame").get(0);
|
|
if (ico.getString("effect_src") != null) {
|
|
if (ico.getString("effect_src").contains("svga")) {
|
|
|
|
try {
|
|
new SVGAParser(mContext).parse(new URL(ico.getString("effect_src")), new SVGAParser.ParseCompletion() {
|
|
@Override
|
|
public void onComplete(SVGAVideoEntity videoItem) {
|
|
SVGADrawable drawable = new SVGADrawable(videoItem);
|
|
gift_svga.setImageDrawable(drawable);
|
|
SVGAViewUtils.playEndClear(gift_svga);
|
|
}
|
|
|
|
@Override
|
|
public void onError() {
|
|
}
|
|
});
|
|
} catch (MalformedURLException e) {
|
|
e.printStackTrace();
|
|
}
|
|
} else {
|
|
Log.e("eee", ico.getString("effect_src"));
|
|
ImgLoader.display(mContext, ico.getString("effect_src"), gift_svga);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
|
|
private void updateFollow() {
|
|
if (mFollowText != null) {
|
|
mFollowText.setText(mFollowing ? R.string.following : R.string.follow);
|
|
if (mFollowing) {
|
|
mFollowText.setTextColor(Color.parseColor("#B1B1B1"));
|
|
} else {
|
|
mFollowText.setTextColor(Color.parseColor("#FA6400"));
|
|
}
|
|
}
|
|
if (mFollowImage != null) {
|
|
if (mFollowing) {
|
|
mFollowImage.setVisibility(View.GONE);
|
|
} else {
|
|
mFollowImage.setVisibility(View.VISIBLE);
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 关注
|
|
*/
|
|
private void setAttention() {
|
|
if (mFollowing) {
|
|
DialogUitl.Builder builder = new DialogUitl.Builder(mContext)
|
|
.setContent(WordUtil.getString(R.string.unfollow))
|
|
.setConfrimString(WordUtil.getString(R.string.unfollow_confrim))
|
|
.setCancelString(WordUtil.getString(R.string.unfollow_cancel))
|
|
.setView(R.layout.dialog_live_unfollow)
|
|
.setClickCallback3(new DialogUitl.SimpleCallback3() {
|
|
|
|
|
|
@Override
|
|
public void onConfirmClick(Dialog dialog) {
|
|
dialog.dismiss();
|
|
}
|
|
|
|
@Override
|
|
public void onCancel() {
|
|
attention();
|
|
}
|
|
});
|
|
builder.build().show();
|
|
return;
|
|
}
|
|
attention();
|
|
}
|
|
|
|
private void attention() {
|
|
CommonHttpUtil.setAttention(mToUid, new CommonCallback<Integer>() {
|
|
|
|
@Override
|
|
public void callback(Integer isAttention) {
|
|
mFollowing = isAttention == 1;
|
|
updateFollow();
|
|
if (isAttention == 1 && mLiveUid.equals(mToUid)) {//关注了主播
|
|
((LiveActivity) mContext).sendSystemMessage(
|
|
CommonAppConfig.getInstance().getUserBean().getUserNiceName() + WordUtil.getString(R.string.live_follow_anchor));
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
/**
|
|
* 跳转到个人主页
|
|
*/
|
|
private void forwardHomePage() {
|
|
dismiss();
|
|
Constants.mStream = mStream;
|
|
RouteUtil.forwardUserHome(mContext, mToUid, true, mLiveUid, 0);
|
|
}
|
|
|
|
/**
|
|
* 举报
|
|
*/
|
|
private void report() {
|
|
LiveReportActivity.forward(mContext, mToUid);
|
|
}
|
|
|
|
|
|
private void gotoLive(String live_id) {
|
|
DialogUitl.showSimpleDialog(mContext, "是否確認前往對方直播間?", new DialogUitl.SimpleCallback() {
|
|
@Override
|
|
public void onConfirmClick(Dialog dialog, String content) {
|
|
RongChatRoomClient.getInstance().quitChatRoom("g" + mLiveUid, new IRongCoreCallback.OperationCallback() {
|
|
@Override
|
|
public void onSuccess() {
|
|
Log.i("tx", "退出成功");
|
|
//连接socket
|
|
LiveHttpUtil.qBackRoom(mLiveUid, mStream, new HttpCallback() {
|
|
@Override
|
|
public void onSuccess(int code, String msg, String[] info) {
|
|
|
|
}
|
|
});
|
|
}
|
|
|
|
@Override
|
|
public void onError(IRongCoreEnum.CoreErrorCode coreErrorCode) {
|
|
|
|
}
|
|
});
|
|
V2TIMManager.getInstance().quitGroup("g" + mLiveUid, new V2TIMCallback() {
|
|
@Override
|
|
public void onSuccess() {
|
|
|
|
Log.i("tx", "退出成功" + mLiveUid);
|
|
//连接socket
|
|
LiveHttpUtil.qBackRoom(mLiveUid, mStream, new HttpCallback() {
|
|
@Override
|
|
public void onSuccess(int code, String msg, String[] info) {
|
|
|
|
}
|
|
});
|
|
}
|
|
|
|
@Override
|
|
public void onError(int code, String desc) {
|
|
Log.i("tx", "退出失败");
|
|
}
|
|
});
|
|
LiveHttpUtil.getLiveInfo(live_id, new HttpCallback() {
|
|
@Override
|
|
public void onSuccess(int code, String msg, String[] info) {
|
|
if (code == 0 && info.length > 0) {
|
|
LiveBean liveBean = JSON.parseObject(info[0], LiveBean.class);
|
|
|
|
if (mCheckLivePresenter == null) {
|
|
mCheckLivePresenter = new LiveRoomCheckLivePresenter(mContext, new LiveRoomCheckLivePresenter.ActionListener() {
|
|
@Override
|
|
public void onLiveRoomChanged(LiveBean liveBean, int liveType, int liveTypeVal, int liveSdk) {
|
|
if (liveBean == null) {
|
|
return;
|
|
}
|
|
LiveRoomViewHolder.mHandler.removeCallbacksAndMessages(null);
|
|
dismiss();
|
|
EventBus.getDefault().post(new LiveRoomChangeEvent(liveBean, liveType, liveTypeVal));
|
|
}
|
|
});
|
|
}
|
|
mCheckLivePresenter.checkLive(liveBean);
|
|
}
|
|
}
|
|
});
|
|
|
|
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
@Override
|
|
public void onClick(View v) {
|
|
int i = v.getId();
|
|
if (i == R.id.btn_follow) {
|
|
setAttention();
|
|
} else if (i == R.id.btn_home_page) {
|
|
forwardHomePage();
|
|
} else if (i == R.id.btn_report) {
|
|
report();
|
|
} else if (i == R.id.avatar) {
|
|
forwardHomePage();
|
|
} else if (i == R.id.btn_guard) {
|
|
((LiveActivity) mContext).openNewGuardListWindow(mContext instanceof LiveRyAnchorActivity);
|
|
} else if (i == R.id.btn_live) {
|
|
gotoLive(mToUid);
|
|
}
|
|
}
|
|
}
|