合并接口第七次次上传,跳轉統一性
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user