合并接口第七次次上传,跳轉統一性

This commit is contained in:
18401019693
2022-11-26 17:01:40 +08:00
parent 7005895d90
commit 96eee88c82
6 changed files with 30 additions and 282 deletions

View File

@@ -14,12 +14,13 @@ import com.yunbao.common.custom.ItemDecoration;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.interfaces.OnItemClickListener;
import com.yunbao.common.bean.LiveBean;
import com.yunbao.common.utils.RouteUtil;
import com.yunbao.live.presenter.LiveRoomCheckLivePresenter;
import com.yunbao.live.utils.LiveStorge;
import com.yunbao.main.R;
import com.yunbao.main.adapter.MainHomeFollowAdapter;
import com.yunbao.main.http.MainHttpConsts;
import com.yunbao.main.http.MainHttpUtil;
import com.yunbao.main.presenter.CheckLivePresenter;
import java.util.Arrays;
import java.util.List;
@@ -33,7 +34,6 @@ public class LiveClassActivity extends AbsActivity implements OnItemClickListene
private int mClassId;
private CommonRefreshView mRefreshView;
private MainHomeFollowAdapter mAdapter;
private CheckLivePresenter mCheckLivePresenter;
public static void forward(Context context, int classId, String className) {
Intent intent = new Intent(context, LiveClassActivity.class);
@@ -116,14 +116,12 @@ public class LiveClassActivity extends AbsActivity implements OnItemClickListene
* 观看直播
*/
public void watchLive(LiveBean liveBean, int position) {
if (mCheckLivePresenter == null) {
mCheckLivePresenter = new CheckLivePresenter(mContext);
}
if (CommonAppConfig.LIVE_ROOM_SCROLL) {
mCheckLivePresenter.watchLive(liveBean, Constants.LIVE_CLASS_PREFIX + mClassId, position);
} else {
mCheckLivePresenter.watchLive(liveBean);
}
new LiveRoomCheckLivePresenter(mContext, liveBean.getUid(), liveBean.getStream(), new LiveRoomCheckLivePresenter.NewActionListener() {
@Override
public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk) {
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveTypeVal), Integer.parseInt(liveSdk));
}
});
}
@Override

View File

@@ -26,6 +26,7 @@ import com.yunbao.common.utils.RouteUtil;
import com.yunbao.live.activity.LiveAudienceActivity;
import com.yunbao.common.bean.LiveBean;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.live.presenter.LiveRoomCheckLivePresenter;
import com.yunbao.main.R;
import com.yunbao.main.event.JumpUserHomeEvent;
import com.yunbao.main.fragment.SearchRecommendFragment;
@@ -174,7 +175,12 @@ public class SearchActivity extends AbsActivity {
if (code == 0 && info.length > 0) {
LiveBean liveBean = JSON.parseObject(info[0], LiveBean.class);
LiveAudienceActivity.forward(mContext, liveBean, 0, 0, "", 0, 0);
new LiveRoomCheckLivePresenter(mContext, liveBean.getUid(), liveBean.getStream(), new LiveRoomCheckLivePresenter.NewActionListener() {
@Override
public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk) {
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveTypeVal), Integer.parseInt(liveSdk));
}
});
} else {
//跳转到个人资料
if (imm != null && mEditText != null) {

View File

@@ -1,184 +0,0 @@
package com.yunbao.main.presenter;
import android.app.Dialog;
import android.content.Context;
import android.text.TextUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.Constants;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.utils.DialogUitl;
import com.yunbao.common.utils.MD5Util;
import com.yunbao.common.utils.ToastUtil;
import com.yunbao.common.utils.WordUtil;
import com.yunbao.live.activity.LiveAudienceActivity;
import com.yunbao.common.bean.LiveBean;
import com.yunbao.live.http.LiveHttpConsts;
import com.yunbao.live.http.LiveHttpUtil;
import com.yunbao.main.R;
/**
* Created by cxf on 2017/9/29.
*/
public class CheckLivePresenter {
private Context mContext;
private LiveBean mLiveBean;//选中的直播间信息
private String mKey;
private int mPosition;
private int mLiveType;//直播间的类型 普通 密码 门票 计时等
private int mLiveTypeVal;//收费价格等
private String mLiveTypeMsg;//直播间提示信息或房间密码
private int mLiveSdk;
private HttpCallback mCheckLiveCallback;
public CheckLivePresenter(Context context) {
mContext = context;
}
/**
* 观众 观看直播
*/
public void watchLive(LiveBean bean) {
watchLive(bean, "", 0);
}
/**
* 观众 观看直播
*/
public void watchLive(LiveBean bean, String key, int position) {
mLiveBean = bean;
mKey = key;
mPosition = position;
if (mCheckLiveCallback == null) {
mCheckLiveCallback = new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
if (code == 0) {
if (info.length > 0) {
JSONObject obj = JSON.parseObject(info[0]);
mLiveType = obj.getIntValue("type");
mLiveTypeVal = obj.getIntValue("type_val");
mLiveTypeMsg = obj.getString("type_msg");
if (CommonAppConfig.LIVE_SDK_CHANGED) {
mLiveSdk = obj.getIntValue("live_sdk");
} else {
mLiveSdk = CommonAppConfig.LIVE_SDK_USED;
}
switch (mLiveType) {
case Constants.LIVE_TYPE_NORMAL:
forwardNormalRoom();
break;
case Constants.LIVE_TYPE_PWD:
//forwardPwdRoom();
forwardLiveAudienceActivity();
break;
case Constants.LIVE_TYPE_PAY:
case Constants.LIVE_TYPE_TIME:
forwardPayRoom();
break;
}
}
} else {
ToastUtil.show(msg);
}
}
@Override
public boolean showLoadingDialog() {
return true;
}
@Override
public Dialog createLoadingDialog() {
return DialogUitl.loadingDialog(mContext);
}
};
}
LiveHttpUtil.checkLive(bean.getUid(), bean.getStream(), mCheckLiveCallback);
}
/**
* 前往普通房间
*/
private void forwardNormalRoom() {
forwardLiveAudienceActivity();
}
/**
* 前往密码房间
*/
private void forwardPwdRoom() {
DialogUitl.showSimpleInputDialog(mContext, WordUtil.getString(R.string.live_input_password), DialogUitl.INPUT_TYPE_NUMBER_PASSWORD, new DialogUitl.SimpleCallback() {
@Override
public void onConfirmClick(Dialog dialog, String content) {
if (TextUtils.isEmpty(content)) {
ToastUtil.show(WordUtil.getString(R.string.live_input_password));
return;
}
String password = MD5Util.getMD5(content);
if (mLiveTypeMsg.equalsIgnoreCase(password)) {
dialog.dismiss();
forwardLiveAudienceActivity();
} else {
ToastUtil.show(WordUtil.getString(R.string.live_password_error));
}
}
});
}
/**
* 前往付费房间
*/
private void forwardPayRoom() {
DialogUitl.showSimpleDialog(mContext, mLiveTypeMsg, new DialogUitl.SimpleCallback() {
@Override
public void onConfirmClick(Dialog dialog, String content) {
roomCharge();
}
});
}
public void roomCharge() {
LiveHttpUtil.roomCharge(mLiveBean.getUid(), mLiveBean.getStream(), mRoomChargeCallback);
}
private HttpCallback mRoomChargeCallback = new HttpCallback() {
@Override
public void onSuccess(int code, String msg, String[] info) {
if (code == 0) {
forwardLiveAudienceActivity();
} else {
ToastUtil.show(msg);
}
}
@Override
public boolean showLoadingDialog() {
return true;
}
@Override
public Dialog createLoadingDialog() {
return DialogUitl.loadingDialog(mContext);
}
};
public void cancel() {
LiveHttpUtil.cancel(LiveHttpConsts.CHECK_LIVE);
LiveHttpUtil.cancel(LiveHttpConsts.ROOM_CHARGE);
}
/**
* 跳转到直播间
*/
private void forwardLiveAudienceActivity() {
LiveAudienceActivity.forward(mContext, mLiveBean, mLiveType, mLiveTypeVal, mKey, mPosition, mLiveSdk);
}
}

View File

@@ -235,7 +235,12 @@ public class MainHomeCommunityViewHolder extends AbsMainHomeChildViewHolder impl
if (code == 0 && info.length > 0) {
LiveBean liveBean = JSON.parseObject(info[0], LiveBean.class);
LiveAudienceActivity.forward(mContext, liveBean, 0, 0, "", 0, 0);
new LiveRoomCheckLivePresenter(mContext, liveBean.getUid(), liveBean.getStream(), new LiveRoomCheckLivePresenter.NewActionListener() {
@Override
public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk) {
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveTypeVal), Integer.parseInt(liveSdk));
}
});
} else {
RouteUtil.forwardUserHome(mContext, String.valueOf(live_id), 0);