合并直播
This commit is contained in:
@@ -64,7 +64,7 @@ repositories {
|
||||
}
|
||||
dependencies {
|
||||
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
|
||||
implementation fileTree(include: ['*.jar'], dir: 'libs')
|
||||
api fileTree(include: ['*.jar'], dir: 'libs')
|
||||
compileOnly files('../libs/beautysdk-202202241203.aar')
|
||||
//直播
|
||||
api project(':live')
|
||||
|
||||
@@ -3,10 +3,14 @@ package com.yunbao.main.views;
|
||||
import android.content.Context;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.common.views.AbsMainViewHolder;
|
||||
import com.yunbao.common.bean.LiveBean;
|
||||
import com.yunbao.main.activity.MainActivity;
|
||||
|
||||
|
||||
/**
|
||||
* Created by cxf on 2018/9/22.
|
||||
* MainActivity中的首页,附近 的子页面
|
||||
@@ -23,6 +27,17 @@ public abstract class AbsMainHomeChildViewHolder extends AbsMainViewHolder {
|
||||
* 观看直播
|
||||
*/
|
||||
public void watchLive(LiveBean liveBean, String key, int position) {
|
||||
((MainActivity) mContext).watchLive(liveBean, key, position);
|
||||
new LiveRoomCheckLivePresenter(mContext, liveBean.getUid(), liveBean.getStream(), new LiveRoomCheckLivePresenter.NewActionListener() {
|
||||
@Override
|
||||
public void onLiveRoomChanged(String liveUid, String stream, int liveType, String liveTypeVal, String liveSdk) {
|
||||
MobclickAgent.onEvent(mContext, "home_page_enter_room", "首页点击直播间");
|
||||
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveSdk), Integer.parseInt(liveTypeVal));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCheckError(String contextError) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.yunbao.main.views;
|
||||
|
||||
import android.animation.ObjectAnimator;
|
||||
import android.app.Activity;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.text.TextUtils;
|
||||
@@ -65,9 +66,9 @@ public class MainHomeGameViewHolder extends AbsMainHomeChildViewHolder implement
|
||||
private long animDuration = 500;
|
||||
private String id = "0";
|
||||
private SudGameListAdapter sudGameListAdapter;
|
||||
private AbsActivity context;
|
||||
private Activity context;
|
||||
|
||||
public MainHomeGameViewHolder(AbsActivity context, ViewGroup parentView) {
|
||||
public MainHomeGameViewHolder(Activity context, ViewGroup parentView) {
|
||||
super(context, parentView);
|
||||
this.context = context;
|
||||
Bus.getOn(this);
|
||||
|
||||
@@ -1,21 +1,45 @@
|
||||
package com.yunbao.main.views;
|
||||
|
||||
import android.Manifest;
|
||||
import android.app.Activity;
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.os.Build;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.blankj.utilcode.util.PermissionUtils;
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.activity.AbsActivity;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.PluginManager;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
import com.yunbao.live.activity.LiveAnchorActivity;
|
||||
import com.yunbao.live.activity.LiveRyAnchorActivity;
|
||||
import com.yunbao.live.bean.LiveKsyConfigBean;
|
||||
import com.yunbao.main.R;
|
||||
import com.yunbao.main.activity.FollowActivity;
|
||||
import com.yunbao.main.activity.MainListActivity;
|
||||
import com.yunbao.main.activity.SearchActivity;
|
||||
import com.yunbao.main.dialog.MainStartDialogFragment;
|
||||
|
||||
/**
|
||||
* Created by cxf on 2018/9/22.
|
||||
* MainActivity 首页 删除
|
||||
*/
|
||||
|
||||
public class MainHomeViewHolder extends AbsMainHomeParentViewHolder {
|
||||
public class MainHomeViewHolder extends AbsMainHomeParentViewHolder implements View.OnClickListener {
|
||||
private MainHomeFollLiveViewHolder mainHomeFollLiveViewHolder;
|
||||
private MainHomeLiveViewHolder mainHomeLiveViewHolder;
|
||||
private MainHomeRecomLiveViewHolder mainHomeRecomLiveViewHolder;
|
||||
@@ -40,6 +64,10 @@ public class MainHomeViewHolder extends AbsMainHomeParentViewHolder {
|
||||
|
||||
ImgLoader.display(mContext, "https://downs.yaoulive.com/gif_trophy.gif", img_trophy);
|
||||
|
||||
ViewClicksAntiShake.clicksAntiShake(img_trophy, () -> onClick(img_trophy));
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.btn_search), () -> onClick(findViewById(R.id.btn_search)));
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.toLive), () -> onClick(findViewById(R.id.toLive)));
|
||||
|
||||
}
|
||||
|
||||
public void setCurPosition(int position) {
|
||||
@@ -86,7 +114,7 @@ public class MainHomeViewHolder extends AbsMainHomeParentViewHolder {
|
||||
vh = mainHomeRecomLiveViewHolder;
|
||||
|
||||
} else if (position == 3) {
|
||||
mainHomeGameLiveViewHolder = new MainHomeGameViewHolder((AbsActivity) mContext, parent);
|
||||
mainHomeGameLiveViewHolder = new MainHomeGameViewHolder((Activity) mContext, parent);
|
||||
vh = mainHomeGameLiveViewHolder;
|
||||
|
||||
}
|
||||
@@ -119,5 +147,112 @@ public class MainHomeViewHolder extends AbsMainHomeParentViewHolder {
|
||||
};
|
||||
}
|
||||
|
||||
private HttpCallback mGetLiveSdkCallback = new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, final String[] info) {
|
||||
if (code == 0 && info.length > 0) {
|
||||
LiveHttpUtil.getisRong(new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info1) {
|
||||
try {
|
||||
JSONObject obj = JSON.parseObject(info[0]);
|
||||
JSONObject obj1 = JSON.parseObject(info1[0]);
|
||||
if (obj1.getString("is_rong").equals("1")) {
|
||||
LiveRyAnchorActivity.forward(mContext, obj.getIntValue("live_sdk"), JSON.parseObject(obj.getString("android"), LiveKsyConfigBean.class));
|
||||
} else {
|
||||
LiveAnchorActivity.forward(mContext, obj.getIntValue("live_sdk"), JSON.parseObject(obj.getString("android"), LiveKsyConfigBean.class));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
public void onLiveClick() {
|
||||
boolean isAnchor = IMLoginManager.get(mContext).getUserInfo().anchorUserType();
|
||||
if (isAnchor) {
|
||||
String[] permissions;
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
permissions = new String[]{
|
||||
Manifest.permission.READ_MEDIA_IMAGES,
|
||||
Manifest.permission.CAMERA,
|
||||
Manifest.permission.RECORD_AUDIO
|
||||
};
|
||||
} else {
|
||||
permissions = new String[]{
|
||||
Manifest.permission.READ_EXTERNAL_STORAGE,
|
||||
Manifest.permission.WRITE_EXTERNAL_STORAGE,
|
||||
Manifest.permission.CAMERA,
|
||||
Manifest.permission.RECORD_AUDIO
|
||||
};
|
||||
}
|
||||
PermissionUtils.permission(permissions).callback(new PermissionUtils.SimpleCallback() {
|
||||
@Override
|
||||
public void onGranted() {
|
||||
if (!CommonAppConfig.IS_PLUGIN_MODEL || PluginManager.getInstance().isDownloadApk()) {
|
||||
PluginManager.getInstance().loadAnchorPlugin(it -> {
|
||||
LiveHttpUtil.getLiveSdk(mGetLiveSdkCallback);
|
||||
});
|
||||
} else {
|
||||
String tips = "需要下載開播插件,是否下載";
|
||||
if (!WordUtil.isNewZh()) {
|
||||
tips = "You need to download the plug-in, whether to download";
|
||||
}
|
||||
DialogUitl.showSimpleDialog(mContext, tips, new DialogUitl.SimpleCallback() {
|
||||
@Override
|
||||
public void onConfirmClick(Dialog dialog, String content) {
|
||||
Dialog downloadDialog = DialogUitl.loadingDialog(mContext, "Downloading...");
|
||||
downloadDialog.show();
|
||||
PluginManager.getInstance().loadAnchorPlugin(it -> {
|
||||
LiveHttpUtil.getLiveSdk(mGetLiveSdkCallback);
|
||||
downloadDialog.dismiss();
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDenied() {
|
||||
|
||||
}
|
||||
}).request();
|
||||
} else {
|
||||
ToastUtil.show(WordUtil.getNewString(R.string.only_open_anchor));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
|
||||
if (!canClick()) {
|
||||
return;
|
||||
}
|
||||
int i = v.getId();
|
||||
if (i == R.id.btn_start) {
|
||||
MobclickAgent.onEvent(mContext, "broadcast", "开播按钮");
|
||||
} else if (i == R.id.btn_search) {
|
||||
SearchActivity.forward(mContext);
|
||||
|
||||
MobclickAgent.onEvent(mContext, "home_page_search", "右上角搜索按钮");
|
||||
|
||||
} else if (i == R.id.btn_follow) {
|
||||
//关注
|
||||
FollowActivity.forward(mContext, CommonAppConfig.getInstance().getUid(), 0);
|
||||
} else if (i == R.id.img_trophy) {
|
||||
MainListActivity.forward(mContext, 0);
|
||||
MobclickAgent.onEvent(mContext, "home_page_ranking", "右上角排行榜按钮");
|
||||
//RandomPkDialogFragment fragment = new RandomPkDialogFragment();
|
||||
//fragment.show(this.getSupportFragmentManager(), "RandomPkDialogFragment");
|
||||
} else if (i == R.id.toLive) {
|
||||
onLiveClick();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -28,10 +28,9 @@
|
||||
android:layout_height="40dp"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_marginRight="45dp"
|
||||
android:layout_marginRight="85dp"
|
||||
android:layout_marginBottom="2dp"
|
||||
android:contentDescription="TODO"
|
||||
android:onClick="mainClick"
|
||||
android:padding="9dp"
|
||||
android:src="@mipmap/icon_main_search" />
|
||||
|
||||
@@ -41,12 +40,20 @@
|
||||
android:layout_height="40dp"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_marginRight="5dp"
|
||||
android:layout_marginRight="55dp"
|
||||
android:layout_marginBottom="2dp"
|
||||
android:contentDescription="TODO"
|
||||
android:onClick="mainClick"
|
||||
android:padding="6dp" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/toLive"
|
||||
android:text="去直播"
|
||||
android:textSize="8sp"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_width="60dp"
|
||||
android:layout_height="40dp"/>
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="37dp"
|
||||
|
||||
Reference in New Issue
Block a user