update 动态&视频分享功能
This commit is contained in:
parent
0e83f4fbaf
commit
ab6d871b38
@ -29,6 +29,7 @@ public class ShareBean {
|
||||
private int shareType;
|
||||
private String cover;
|
||||
private String title;
|
||||
private String extraData;
|
||||
|
||||
|
||||
public static String createLiveShareLink(String shareUid, String anchorId, String anchorName, String anchorAvatar) {
|
||||
@ -119,6 +120,14 @@ public class ShareBean {
|
||||
this.anchorAvatar = anchorAvatar;
|
||||
}
|
||||
|
||||
public String getExtraData() {
|
||||
return extraData;
|
||||
}
|
||||
|
||||
public void setExtraData(String extraData) {
|
||||
this.extraData = extraData;
|
||||
}
|
||||
|
||||
public ShareBean setText(String text) {
|
||||
this.text = text;
|
||||
return this;
|
||||
@ -163,32 +172,33 @@ public class ShareBean {
|
||||
}
|
||||
|
||||
/**
|
||||
* private String text;
|
||||
* private String link;
|
||||
* private File file;
|
||||
* private int type;
|
||||
* private String uid;
|
||||
* private String anchorId;
|
||||
* private String anchorName;
|
||||
* private String anchorAvatar;
|
||||
* private int shareType;
|
||||
* private String cover;
|
||||
* private String title;
|
||||
* private String text;
|
||||
* private String link;
|
||||
* private File file;
|
||||
* private int type;
|
||||
* private String uid;
|
||||
* private String anchorId;
|
||||
* private String anchorName;
|
||||
* private String anchorAvatar;
|
||||
* private int shareType;
|
||||
* private String cover;
|
||||
* private String title;
|
||||
*/
|
||||
@NonNull
|
||||
@Override
|
||||
public ShareBean clone(){
|
||||
ShareBean bean=new ShareBean(type);
|
||||
bean.anchorId=anchorId;
|
||||
bean.anchorName=anchorName;
|
||||
bean.anchorAvatar=anchorAvatar;
|
||||
bean.text=text;
|
||||
bean.link=link;
|
||||
bean.file=file;
|
||||
bean.uid=uid;
|
||||
bean.shareType=shareType;
|
||||
bean.cover=cover;
|
||||
bean.title=title;
|
||||
public ShareBean clone() {
|
||||
ShareBean bean = new ShareBean(type);
|
||||
bean.anchorId = anchorId;
|
||||
bean.anchorName = anchorName;
|
||||
bean.anchorAvatar = anchorAvatar;
|
||||
bean.text = text;
|
||||
bean.link = link;
|
||||
bean.file = file;
|
||||
bean.uid = uid;
|
||||
bean.shareType = shareType;
|
||||
bean.cover = cover;
|
||||
bean.title = title;
|
||||
bean.extraData = extraData;
|
||||
return bean;
|
||||
}
|
||||
|
||||
@ -248,6 +258,12 @@ public class ShareBean {
|
||||
bean.setFile(file);
|
||||
return this;
|
||||
}
|
||||
|
||||
public ShareBuilder setExtraData(String extraData) {
|
||||
bean.setExtraData(extraData);
|
||||
return this;
|
||||
}
|
||||
|
||||
public ShareBean build() {
|
||||
return bean;
|
||||
}
|
||||
|
@ -9,6 +9,7 @@ import com.yunbao.share.AbsShareInterface;
|
||||
import com.yunbao.share.ICallback;
|
||||
import com.yunbao.share.bean.ShareBean;
|
||||
import com.yunbao.share.ui.AppInternalShareDialog;
|
||||
import com.yunbao.share.ui.SharePopDialog;
|
||||
import com.yunbao.share.ui.ShareSuccessNotifyDialog;
|
||||
|
||||
import io.rong.imlib.model.Conversation;
|
||||
@ -46,7 +47,7 @@ public class Internal extends AbsShareInterface {
|
||||
builder.getAnchorName(),
|
||||
builder.getAnchorId(),
|
||||
builder.getShareType() + "",
|
||||
builder.getAnchorId()
|
||||
builder.getExtraData()
|
||||
),
|
||||
new OnSendMessageListener<Object>() {
|
||||
@Override
|
||||
|
@ -29,6 +29,7 @@ import java.util.List;
|
||||
public class SharePopDialog extends AbsDialogPopupWindow {
|
||||
public static final int TYPE_LIVE = 1;
|
||||
public static final int TYPE_DYNAMIC = 0;
|
||||
public static final int TYPE_VIDEO = 2;
|
||||
private ShareAppAdapter adapter;
|
||||
private RecyclerView list;
|
||||
private RoundedImageView avatar;
|
||||
|
@ -1,15 +1,19 @@
|
||||
package com.yunbao.common.provider;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.text.Spannable;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.bean.ActiveBean;
|
||||
import com.yunbao.common.bean.LiveBean;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.LiveHttpUtil;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.message.content.MessageChatCardContent;
|
||||
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
import com.yunbao.common.utils.MicStatusManager;
|
||||
@ -18,6 +22,7 @@ import com.yunbao.common.utils.StringUtil;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import io.rong.imkit.conversation.messgelist.provider.BaseMessageItemProvider;
|
||||
@ -56,6 +61,20 @@ public class MessageChatCardItemProvider extends BaseMessageItemProvider<Message
|
||||
protected boolean onItemClick(ViewHolder holder, MessageChatCardContent content, UiMessage uiMessage, int position, List<UiMessage> list, IViewProviderListener<UiMessage> listener) {
|
||||
if ("1".equals(content.getType())) {
|
||||
gotoLive(content.getExtraData());
|
||||
}else if("0".equals(content.getType())){
|
||||
RouteUtil.forwardCommunity(content.getExtraData());
|
||||
}else if("2".equals(content.getType())){
|
||||
LiveNetManager.get(mContext).getDynamicInfo(content.getExtraData(), new com.yunbao.common.http.base.HttpCallback<ActiveBean>() {
|
||||
@Override
|
||||
public void onSuccess(ActiveBean data) {
|
||||
RouteUtil.forwardVideoPlayActivity(data);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@ -10,10 +10,12 @@ import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.CommonAppContext;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.HtmlConfig;
|
||||
import com.yunbao.common.bean.ActiveBean;
|
||||
import com.yunbao.common.bean.LiveBean;
|
||||
import com.yunbao.common.bean.RedPacketListBean;
|
||||
import com.yunbao.common.manager.IMLoginManager;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
@ -53,6 +55,7 @@ public class RouteUtil {
|
||||
public static final String PATH_VIDEO_ACTIVITY = "/activity/VideoPlayActivity";
|
||||
public static final String PATH_COMMUNITY = "/main/CommunityDetailsActivity";
|
||||
public static final String PATH_USER_HOME = "/main/UserHomeActivity";
|
||||
public static final String PATH_VIDEO_PLAY = "/video/VideoPlayActivity";
|
||||
|
||||
public static void forwardUserHome(String uid) {
|
||||
ARouter.getInstance().build(PATH_USER_HOME)
|
||||
@ -393,4 +396,11 @@ public class RouteUtil {
|
||||
public static void forwardActivity(String path) {
|
||||
ARouter.getInstance().build(path).navigation();
|
||||
}
|
||||
|
||||
public static void forwardVideoPlayActivity(ActiveBean bean) {
|
||||
ARouter.getInstance().build(PATH_VIDEO_PLAY)
|
||||
.withParcelable("ActiveBean",bean)
|
||||
.withString(Constants.VIDEO_KEY,Constants.VIDEO_SINGLE)
|
||||
.navigation();
|
||||
}
|
||||
}
|
||||
|
@ -149,6 +149,7 @@
|
||||
android:textSize="12dp" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/share"
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="20dp"
|
||||
android:src="@mipmap/icon_share_new" />
|
||||
|
@ -1470,6 +1470,7 @@ public class LiveAudienceActivity extends LiveActivity {
|
||||
.setAnchorId(event.getBean().getUid())
|
||||
.setAnchorName(event.getBean().getUserNiceName())
|
||||
.setAnchorAvatar(event.getBean().getAvatar())
|
||||
.setExtraData(event.getBean().getUid())
|
||||
.build()
|
||||
)
|
||||
.showDialog();
|
||||
|
@ -41,6 +41,8 @@ import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.views.NineGridLayout;
|
||||
import com.yunbao.common.views.TopGradual;
|
||||
import com.yunbao.share.bean.ShareBean;
|
||||
import com.yunbao.share.ui.SharePopDialog;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
@ -239,6 +241,31 @@ public class CommunityDetailsActivity extends AbsActivity {
|
||||
|
||||
}
|
||||
});
|
||||
findViewById(R.id.share).setOnClickListener(view -> {
|
||||
String image = null;
|
||||
if (activeBean.getImg_or_video().equals("1")) {
|
||||
JSONArray jsonArray = (JSONArray) JSONArray.parse(activeBean.getImg_json());
|
||||
if (!jsonArray.isEmpty()) {
|
||||
image = jsonArray.getString(0);
|
||||
}
|
||||
}else{
|
||||
image=activeBean.getVideo() + "?vframe/jpg/offset/0";
|
||||
}
|
||||
new SharePopDialog(mContext)
|
||||
.setShareType(SharePopDialog.TYPE_DYNAMIC)
|
||||
.setShareData(ShareBean.ShareBuilder.create()
|
||||
.setShareType(SharePopDialog.TYPE_DYNAMIC)
|
||||
.setUid(CommonAppConfig.getInstance().getUid())
|
||||
.setCover(StringUtil.isEmpty(image) ? activeBean.getUser_avatar() : image)
|
||||
.setTitle(StringUtil.isEmpty(activeBean.getContent()) ? activeBean.getUser_name() : JSONObject.parseObject(activeBean.getContent()).getString("msg"))
|
||||
.setAnchorId(activeBean.getUser_id())
|
||||
.setAnchorName(activeBean.getUser_name())
|
||||
.setAnchorAvatar(activeBean.getUser_avatar())
|
||||
.setExtraData(activeId)
|
||||
.build()
|
||||
)
|
||||
.showDialog();
|
||||
});
|
||||
}
|
||||
|
||||
//回复评论
|
||||
|
@ -40,6 +40,7 @@ import com.yunbao.common.manager.IMLoginManager;
|
||||
import com.yunbao.common.manager.NoviceInstructorManager;
|
||||
import com.yunbao.common.manager.imrongcloud.MessageIMManager;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.ViewUtils;
|
||||
@ -249,6 +250,9 @@ public class PDLiveConversationActivity extends AbsActivity implements View.OnCl
|
||||
|
||||
}
|
||||
});
|
||||
ViewUtils.findViewById(card, R.id.rc_conversation_portrait, ImageView.class).setOnClickListener(view -> {
|
||||
RouteUtil.forwardUserHome(targetId);
|
||||
});
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
|
@ -15,6 +15,7 @@ import com.google.gson.Gson;
|
||||
import com.yunbao.common.bean.IMLoginModel;
|
||||
import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.main.R;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
@ -89,5 +90,8 @@ public class PDLiveCustomConversationProvider extends BaseConversationProvider {
|
||||
//设置时间
|
||||
String date =new SimpleDateFormat("HH:mm", Locale.getDefault()).format(new Date(uiConversation.mCore.getSentTime()));
|
||||
holder.setText(R.id.rc_conversation_date, date);
|
||||
holder.getView(R.id.rc_conversation_portrait).setOnClickListener(view -> {
|
||||
RouteUtil.forwardUserHome(targetId);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -33,6 +33,11 @@ android {
|
||||
ndk {
|
||||
abiFilters "armeabi-v7a","arm64-v8a"
|
||||
}
|
||||
javaCompileOptions {
|
||||
annotationProcessorOptions {
|
||||
arguments = [AROUTER_MODULE_NAME: project.getName()]
|
||||
}
|
||||
}
|
||||
}
|
||||
aaptOptions {
|
||||
cruncherEnabled = false
|
||||
@ -63,5 +68,5 @@ dependencies {
|
||||
implementation project(path: ':common')
|
||||
|
||||
implementation project(path: ':live')
|
||||
|
||||
annotationProcessor rootProject.ext.dependencies["arouter-compiler"]
|
||||
}
|
||||
|
@ -9,6 +9,7 @@ import android.view.ViewGroup;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.binioter.guideview.Guide;
|
||||
import com.binioter.guideview.GuideBuilder;
|
||||
@ -37,6 +38,7 @@ import java.util.List;
|
||||
* Created by cxf on 2018/11/26.
|
||||
*/
|
||||
|
||||
@Route(path = RouteUtil.PATH_VIDEO_PLAY)
|
||||
public class VideoPlayActivity extends AbsVideoPlayActivity {
|
||||
|
||||
private View viewBottom;
|
||||
@ -105,6 +107,12 @@ public class VideoPlayActivity extends AbsVideoPlayActivity {
|
||||
if (TextUtils.isEmpty(mVideoKey)) {
|
||||
return;
|
||||
}
|
||||
ActiveBean bean=intent.getParcelableExtra("ActiveBean");
|
||||
if(bean!=null){
|
||||
List<ActiveBean> list = new ArrayList<>();
|
||||
list.add(bean);
|
||||
VideoStorge.getInstance().put(Constants.VIDEO_SINGLE, list);
|
||||
}
|
||||
int position = intent.getIntExtra(Constants.VIDEO_POSITION, 0);
|
||||
int page = intent.getIntExtra(Constants.VIDEO_PAGE, 1);
|
||||
mVideoScrollViewHolder = new VideoScrollViewHolder(mContext, (ViewGroup) findViewById(R.id.container), position, mVideoKey, page);
|
||||
|
@ -19,6 +19,7 @@ import android.widget.SeekBar;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.alibaba.android.arouter.utils.TextUtils;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.xuexiang.xui.widget.flowlayout.FlowTagLayout;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
@ -33,6 +34,8 @@ import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.views.AbsViewHolder;
|
||||
import com.yunbao.share.bean.ShareBean;
|
||||
import com.yunbao.share.ui.SharePopDialog;
|
||||
import com.yunbao.video.R;
|
||||
import com.yunbao.video.activity.AbsVideoPlayActivity;
|
||||
import com.yunbao.video.dialog.VideoShareDialogFragment;
|
||||
@ -489,11 +492,34 @@ public class VideoPlayWrapViewHolder extends AbsViewHolder implements View.OnCli
|
||||
if (mVideoBean == null) {
|
||||
return;
|
||||
}
|
||||
VideoShareDialogFragment fragment = new VideoShareDialogFragment();
|
||||
/* VideoShareDialogFragment fragment = new VideoShareDialogFragment();
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putParcelable(Constants.VIDEO_BEAN, mVideoBean);
|
||||
fragment.setArguments(bundle);
|
||||
fragment.show(((AbsVideoPlayActivity) mContext).getSupportFragmentManager(), "VideoShareDialogFragment");
|
||||
fragment.show(((AbsVideoPlayActivity) mContext).getSupportFragmentManager(), "VideoShareDialogFragment");*/
|
||||
String image = null;
|
||||
if (mVideoBean.getImg_or_video().equals("1")) {
|
||||
JSONArray jsonArray = (JSONArray) JSONArray.parse(mVideoBean.getImg_json());
|
||||
if (!jsonArray.isEmpty()) {
|
||||
image = jsonArray.getString(0);
|
||||
}
|
||||
}else{
|
||||
image=mVideoBean.getVideo() + "?vframe/jpg/offset/0";
|
||||
}
|
||||
new SharePopDialog(mContext)
|
||||
.setShareType(SharePopDialog.TYPE_VIDEO)
|
||||
.setShareData(ShareBean.ShareBuilder.create()
|
||||
.setShareType(SharePopDialog.TYPE_VIDEO)
|
||||
.setUid(CommonAppConfig.getInstance().getUid())
|
||||
.setCover(StringUtil.isEmpty(image) ? mVideoBean.getUser_avatar() : image)
|
||||
.setTitle(StringUtil.isEmpty(mVideoBean.getContent()) ? mVideoBean.getUser_name() : JSONObject.parseObject(mVideoBean.getContent()).getString("msg"))
|
||||
.setAnchorId(mVideoBean.getUser_id())
|
||||
.setAnchorName(mVideoBean.getUser_name())
|
||||
.setAnchorAvatar(mVideoBean.getUser_avatar())
|
||||
.setExtraData(mVideoBean.getId())
|
||||
.build()
|
||||
)
|
||||
.showDialog();
|
||||
}
|
||||
|
||||
public void release() {
|
||||
|
Loading…
Reference in New Issue
Block a user