迁移
This commit is contained in:
@@ -55,7 +55,7 @@
|
||||
android:theme="@style/noAnimationStyle"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize" />
|
||||
<activity
|
||||
android:name=".activity.UserHomeActivity"
|
||||
android:name=".activity.UserHomeActivityOld"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".activity.SettingActivity"
|
||||
@@ -171,6 +171,20 @@
|
||||
<activity android:name=".activity.CompleteUserInfoActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity android:name=".activity.EditUserHobbyActivity" android:screenOrientation="portrait" />
|
||||
|
||||
<activity
|
||||
android:name=".activity.CommunitySendActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
|
||||
<activity
|
||||
android:name=".activity.CommunityDetailsActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:windowSoftInputMode="adjustResize" />
|
||||
|
||||
<activity
|
||||
android:name=".activity.UserHomeActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
@@ -0,0 +1,372 @@
|
||||
package com.yunbao.main.activity;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.util.SparseArray;
|
||||
import android.view.View;
|
||||
import android.view.WindowManager;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.activity.AbsActivity;
|
||||
import com.yunbao.common.adapter.CommentAdapter;
|
||||
import com.yunbao.common.bean.ActiveBean;
|
||||
import com.yunbao.common.bean.CommentBean;
|
||||
import com.yunbao.common.dialog.ImagePreviewDialog;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.CommonHttpUtil;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.interfaces.CommonCallback;
|
||||
import com.yunbao.common.manager.OpenAdManager;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
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 java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@Route(path = RouteUtil.PATH_COMMUNITY)
|
||||
public class CommunityDetailsActivity extends AbsActivity {
|
||||
private ActiveBean activeBean;
|
||||
private String activeId;
|
||||
private ImageView avatar;
|
||||
private TextView name;
|
||||
private TextView time;
|
||||
private TextView content;
|
||||
private LinearLayout followLayout;
|
||||
private ImageView followIcon;
|
||||
private TextView followName;
|
||||
private NineGridLayout mNineGridLayout;
|
||||
private ImageView videoImage;
|
||||
private RecyclerView commentRecyclerView;
|
||||
private CommentAdapter commentAdapter;
|
||||
private TextView likeCount;
|
||||
private ImageView userAvatar;
|
||||
private ImageView like;
|
||||
private TextView replyCount;
|
||||
private EditText comment;
|
||||
private ImageView send;
|
||||
private boolean isComment = false;
|
||||
private RelativeLayout videoLayout;
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
|
||||
return R.layout.activity_community_details;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void create() {
|
||||
super.create();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
super.onPause();
|
||||
OpenAdManager.getInstance().dismiss();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void main() {
|
||||
activeId = getIntent().getStringExtra(Constants.TO_COMMUNITY_ID);
|
||||
initView();
|
||||
initData();
|
||||
}
|
||||
|
||||
private void initView() {
|
||||
videoLayout = findViewById(R.id.videoLayout);
|
||||
send = findViewById(R.id.send);
|
||||
comment = findViewById(R.id.comment);
|
||||
replyCount = findViewById(R.id.replyCount);
|
||||
like = findViewById(R.id.like);
|
||||
userAvatar = findViewById(R.id.userAvatar);
|
||||
likeCount = findViewById(R.id.likeCount);
|
||||
avatar = findViewById(R.id.avatar);
|
||||
name = findViewById(R.id.name);
|
||||
time = findViewById(R.id.time);
|
||||
content = findViewById(R.id.content);
|
||||
followLayout = findViewById(R.id.followLayout);
|
||||
followIcon = findViewById(R.id.followIcon);
|
||||
followName = findViewById(R.id.followName);
|
||||
videoImage = findViewById(R.id.videoImage);
|
||||
mNineGridLayout = findViewById(R.id.nine_grid_layout);
|
||||
commentRecyclerView = findViewById(R.id.commentListView);
|
||||
commentRecyclerView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.VERTICAL, false));
|
||||
commentRecyclerView.addItemDecoration(new TopGradual());
|
||||
commentRecyclerView.setOverScrollMode(View.OVER_SCROLL_NEVER);
|
||||
mNineGridLayout.setActionListener(new NineGridLayout.ActionListener() {
|
||||
@Override
|
||||
public void onItemClick(List<?> dataList, int position) {
|
||||
ImagePreviewDialog dialog = new ImagePreviewDialog();
|
||||
dialog.setImageInfo(dataList.size(), position, false, new ImagePreviewDialog.ActionListener() {
|
||||
@Override
|
||||
public void loadImage(ImageView imageView, int position) {
|
||||
ImgLoader.display(mContext, (String) (dataList.get(position)), imageView);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDeleteClick(int position) {
|
||||
|
||||
}
|
||||
});
|
||||
dialog.show(((AbsActivity) mContext).getSupportFragmentManager(), "ImagePreviewDialog");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void displayImage(Object path, ImageView imageView) {
|
||||
ImgLoader.display(CommunityDetailsActivity.this, String.valueOf(path), imageView);
|
||||
}
|
||||
});
|
||||
followLayout.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
CommonHttpUtil.setAttention(activeBean.getUser_id(), new CommonCallback<Integer>() {
|
||||
@Override
|
||||
public void callback(Integer isAttention) {
|
||||
if (isAttention == 1) {
|
||||
ImgLoader.display(CommunityDetailsActivity.this, R.mipmap.icon_like_followed, followIcon);
|
||||
followName.setText("已关注");
|
||||
followName.setTextColor(Color.parseColor("#777777"));
|
||||
followLayout.setBackground(getResources().getDrawable(R.drawable.bg_main_com_type_1));
|
||||
} else {
|
||||
ImgLoader.display(CommunityDetailsActivity.this, R.mipmap.icon_like_follow, followIcon);
|
||||
followName.setText("关注");
|
||||
followName.setTextColor(getResources().getColor(R.color.white));
|
||||
followLayout.setBackground(getResources().getDrawable(R.drawable.bg_main_com_type));
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
like.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
CommonHttpUtil.dynamicLove(activeBean.getId(), new HttpCallback() {
|
||||
@SuppressLint("SetTextI18n")
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
if (code == 0) {
|
||||
ToastUtil.show(msg);
|
||||
if (activeBean.getIs_love().equals("1")) {
|
||||
activeBean.setIs_love("0");
|
||||
ImgLoader.display(CommunityDetailsActivity.this, R.mipmap.icon_like01, like);
|
||||
likeCount.setText(Integer.parseInt(activeBean.getLove_num()) - 1 + "人觉得很赞");
|
||||
} else {
|
||||
activeBean.setIs_love("1");
|
||||
ImgLoader.display(CommunityDetailsActivity.this, R.mipmap.icon_like, like);
|
||||
likeCount.setText(Integer.parseInt(activeBean.getLove_num()) + 1 + "人觉得很赞");
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
findViewById(R.id.setting).setVisibility(View.VISIBLE);
|
||||
findViewById(R.id.setting).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
SparseArray<String> array = new SparseArray<>();
|
||||
array.append(0, "举报");
|
||||
array.append(1, "不感兴趣");
|
||||
DialogUitl.showStringArrayDialog(CommunityDetailsActivity.this, array, new DialogUitl.StringArrayDialogCallback() {
|
||||
@Override
|
||||
public void onItemClick(String text, int tag) {
|
||||
if (tag == 0) {
|
||||
RouteUtil.forwardCommentReportActivity(activeBean.getId(), "0");
|
||||
} else {
|
||||
CommonHttpUtil.noInterest(activeBean.getUser_id(), new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
ToastUtil.show(msg);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
send.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
CommonHttpUtil.dynamicReply(activeBean.getId(), isComment ? replyComment.getId() : "0", comment.getText().toString(), new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
comment.setText("");
|
||||
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
|
||||
imm.showSoftInput(comment, InputMethodManager.SHOW_FORCED);
|
||||
imm.hideSoftInputFromWindow(comment.getWindowToken(), 0); //强制隐藏键盘
|
||||
getReply();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
comment.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
isComment = false;
|
||||
}
|
||||
});
|
||||
findViewById(R.id.userLayout).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
RouteUtil.forwardUserHome(activeBean.getUser_id());
|
||||
}
|
||||
});
|
||||
videoLayout.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//回复评论
|
||||
CommentBean replyComment;
|
||||
|
||||
private void getReply() {
|
||||
CommonHttpUtil.getCommunityComment(activeBean.getId(), activeBean.getUser_id(), 1, new HttpCallback() {
|
||||
@SuppressLint("SetTextI18n")
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
List<CommentBean> list = JSON.parseArray(Arrays.toString(info), CommentBean.class);
|
||||
if (list != null) {
|
||||
commentAdapter = new CommentAdapter(mContext, list, activeBean.getUser_id());
|
||||
commentAdapter.setOnItemClickListener(new CommentAdapter.onItemClickListener() {
|
||||
@Override
|
||||
public void onReply(CommentBean commentBean) {
|
||||
replyComment = commentBean;
|
||||
isComment = true;
|
||||
comment.requestFocus();
|
||||
//键盘输入法管理器
|
||||
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
|
||||
imm.showSoftInput(comment, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onReport(CommentBean commentBean) {
|
||||
//一级回复 举报
|
||||
RouteUtil.forwardCommentReportActivity(activeBean.getId(), commentBean.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDel(CommentBean activeBean) {
|
||||
//一级回复 删除
|
||||
CommonHttpUtil.delCom(activeBean.getId(), new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
if (code == 0) {
|
||||
ToastUtil.show(msg);
|
||||
getReply();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onReport(CommentBean.ReplyComment commentBean) {
|
||||
//二级回复 举报
|
||||
RouteUtil.forwardCommentReportActivity(activeBean.getId(), commentBean.getId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDel(CommentBean.ReplyComment activeBean) {
|
||||
//二级回复 删除
|
||||
CommonHttpUtil.delCom(activeBean.getId(), new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
if (code == 0) {
|
||||
ToastUtil.show(msg);
|
||||
getReply();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
commentRecyclerView.setAdapter(commentAdapter);
|
||||
replyCount.setText("评论 " + list.size());
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@SuppressLint("UseCompatLoadingForDrawables")
|
||||
private void initData() {
|
||||
LiveNetManager.get(mContext).getDynamicInfo(activeId, new com.yunbao.common.http.base.HttpCallback<ActiveBean>() {
|
||||
@Override
|
||||
public void onSuccess(ActiveBean data) {
|
||||
activeBean = data;
|
||||
initInfo();
|
||||
getReply();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void initInfo() {
|
||||
ImgLoader.display(CommunityDetailsActivity.this, CommonAppConfig.getInstance().getUserBean().getAvatarThumb(), userAvatar);
|
||||
ImgLoader.display(CommunityDetailsActivity.this, activeBean.getUser_avatar(), avatar);
|
||||
name.setText(activeBean.getUser_name());
|
||||
time.setText(activeBean.getCreate_time());
|
||||
likeCount.setText(activeBean.getLove_num() + "人觉得很赞");
|
||||
if (!StringUtil.isEmpty(activeBean.getContent())) {
|
||||
content.setText(String.valueOf(JSONObject.parseObject(activeBean.getContent()).get("msg")));
|
||||
}
|
||||
if (activeBean.getIs_attention().equals("1")) {//关注
|
||||
ImgLoader.display(CommunityDetailsActivity.this, R.mipmap.icon_like_followed, followIcon);
|
||||
followName.setText("已关注");
|
||||
followName.setTextColor(Color.parseColor("#777777"));
|
||||
followLayout.setBackground(getResources().getDrawable(R.drawable.bg_main_com_type_1));
|
||||
} else {
|
||||
ImgLoader.display(CommunityDetailsActivity.this, R.mipmap.icon_like_follow, followIcon);
|
||||
followName.setText("关注");
|
||||
followName.setTextColor(getResources().getColor(R.color.white));
|
||||
followLayout.setBackground(getResources().getDrawable(R.drawable.bg_main_com_type));
|
||||
}
|
||||
if (activeBean.getImg_or_video().equals("1")) {//图片
|
||||
JSONArray jsonArray = (JSONArray) JSONArray.parse(activeBean.getImg_json());
|
||||
List<String> tempList = new ArrayList<>();
|
||||
for (int i = 0; i < jsonArray.size(); i++) {
|
||||
tempList.add(String.valueOf(jsonArray.get(i)));
|
||||
}
|
||||
mNineGridLayout.setData(tempList);
|
||||
} else {
|
||||
ImgLoader.display(CommunityDetailsActivity.this, activeBean.getVideo() + "?vframe/jpg/offset/0", videoImage);
|
||||
videoLayout.setVisibility(View.VISIBLE);
|
||||
}
|
||||
if (activeBean.getIs_love().equals("1")) {
|
||||
ImgLoader.display(CommunityDetailsActivity.this, R.mipmap.icon_like, like);
|
||||
} else {
|
||||
ImgLoader.display(CommunityDetailsActivity.this, R.mipmap.icon_like01, like);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
|
||||
super.onActivityResult(requestCode, resultCode, intent);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,384 @@
|
||||
package com.yunbao.main.activity;
|
||||
|
||||
import android.Manifest;
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.ClipData;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.view.View;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
import android.widget.VideoView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.RequiresApi;
|
||||
import androidx.core.app.ActivityCompat;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
|
||||
import com.bigkoo.pickerview.builder.TimePickerBuilder;
|
||||
import com.bigkoo.pickerview.listener.OnDismissListener;
|
||||
import com.bigkoo.pickerview.listener.OnOptionsSelectListener;
|
||||
import com.bigkoo.pickerview.listener.OnTimeSelectListener;
|
||||
import com.bigkoo.pickerview.view.OptionsPickerView;
|
||||
import com.bigkoo.pickerview.view.TimePickerView;
|
||||
import com.google.gson.Gson;
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.activity.AbsActivity;
|
||||
import com.yunbao.common.bean.NewCommunityType;
|
||||
import com.yunbao.common.custom.ItemDecoration;
|
||||
import com.yunbao.common.http.CommonHttpUtil;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.manager.CommunityTypeManager;
|
||||
import com.yunbao.common.upload.UploadBean;
|
||||
import com.yunbao.common.upload.UploadCallback;
|
||||
import com.yunbao.common.upload.UploadQnImpl;
|
||||
import com.yunbao.common.utils.ActiveImageAdapter;
|
||||
import com.yunbao.common.utils.DateFormatUtil;
|
||||
import com.yunbao.common.utils.FilesUtils;
|
||||
import com.yunbao.common.utils.L;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
public class CommunitySendActivity extends AbsActivity {
|
||||
public static final int PERMISSION_REQUEST_CODE_IMG = 0;
|
||||
public static final int PERMISSION_REQUEST_CODE_VIDEO = 1;
|
||||
private RecyclerView mRecyclerViewImage;
|
||||
private LinearLayout imgTextLayout;
|
||||
private LinearLayout videoLayout;
|
||||
private LinearLayout talkLayout;
|
||||
private LinearLayout timeLayout;
|
||||
private EditText content;
|
||||
private TextView chooseTime;
|
||||
private final int CHOOSE_IMG = 100;//Android 5.0以下的
|
||||
private final int CHOOSE_VIDEO = 200;//Android 5.0以上的
|
||||
private List<Uri> uriList = new ArrayList<>();
|
||||
private File videoFile;
|
||||
private ActiveImageAdapter activeImageAdapter;
|
||||
private VideoView videoView;
|
||||
private RelativeLayout videoViewLayout;
|
||||
private ImageView delVideo;
|
||||
private TextView talkContent;
|
||||
private List<String> talkList = new ArrayList<>();
|
||||
private TextView submit;
|
||||
private boolean isImage;
|
||||
UploadQnImpl mUploadStrategy;
|
||||
|
||||
private List<String> imgUrlList = new ArrayList<>();
|
||||
private String videoUrl;
|
||||
List<NewCommunityType> newCommunityTypeList = new ArrayList<>();
|
||||
int talkId;
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.activity_community_send;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void main() {
|
||||
newCommunityTypeList = new CommunityTypeManager(mContext).getCommunityTypeList();
|
||||
content = findViewById(R.id.content);
|
||||
submit = findViewById(R.id.submit);
|
||||
submit.setVisibility(View.VISIBLE);
|
||||
talkContent = findViewById(R.id.talkContent);
|
||||
delVideo = findViewById(R.id.delVideo);
|
||||
videoViewLayout = findViewById(R.id.videoViewLayout);
|
||||
videoView = findViewById(R.id.videoView);
|
||||
imgTextLayout = findViewById(R.id.imgTextLayout);
|
||||
videoLayout = findViewById(R.id.videoLayout);
|
||||
talkLayout = findViewById(R.id.talkLayout);
|
||||
timeLayout = findViewById(R.id.timeLayout);
|
||||
chooseTime = findViewById(R.id.chooseTime);
|
||||
|
||||
submit.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
List<UploadBean> uploadBeanList = new ArrayList<>();
|
||||
if (isImage) {
|
||||
for (int i = 0; i < activeImageAdapter.getImageFileList().size(); i++) {
|
||||
UploadBean uploadBean = new UploadBean(activeImageAdapter.getImageFileList().get(i), UploadBean.IMG);
|
||||
uploadBeanList.add(uploadBean);
|
||||
}
|
||||
uploadFile(uploadBeanList, true);
|
||||
} else {
|
||||
uploadBeanList.add(new UploadBean(videoFile, UploadBean.VIDEO));
|
||||
uploadFile(uploadBeanList, false);
|
||||
}
|
||||
}
|
||||
});
|
||||
delVideo.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
videoFile = null;
|
||||
videoView.stopPlayback();
|
||||
videoViewLayout.setVisibility(View.GONE);
|
||||
}
|
||||
});
|
||||
talkLayout.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
showTalkChooseDialog();
|
||||
}
|
||||
});
|
||||
timeLayout.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
showTimeChooseDialog();
|
||||
}
|
||||
});
|
||||
imgTextLayout.setOnClickListener(new View.OnClickListener() {
|
||||
@RequiresApi(api = Build.VERSION_CODES.TIRAMISU)
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
String permission1 = Manifest.permission.READ_EXTERNAL_STORAGE;
|
||||
String permission2 = Manifest.permission.WRITE_EXTERNAL_STORAGE;
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
permission1 = Manifest.permission.READ_MEDIA_IMAGES;
|
||||
permission2 = Manifest.permission.READ_MEDIA_VIDEO;
|
||||
}
|
||||
int isPermission1 = ContextCompat.checkSelfPermission(mContext, permission1);
|
||||
int isPermission2 = ContextCompat.checkSelfPermission(mContext, permission2);
|
||||
if (isPermission1 == PackageManager.PERMISSION_GRANTED && isPermission2 == PackageManager.PERMISSION_GRANTED) {
|
||||
openImageChooserActivity();
|
||||
} else {
|
||||
//申请权限
|
||||
ActivityCompat.requestPermissions(CommunitySendActivity.this, new String[]{permission1, permission2}, PERMISSION_REQUEST_CODE_IMG);
|
||||
}
|
||||
}
|
||||
});
|
||||
videoLayout.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
String permission1 = Manifest.permission.READ_EXTERNAL_STORAGE;
|
||||
String permission2 = Manifest.permission.WRITE_EXTERNAL_STORAGE;
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
permission1 = Manifest.permission.READ_MEDIA_IMAGES;
|
||||
permission2 = Manifest.permission.READ_MEDIA_VIDEO;
|
||||
}
|
||||
int isPermission1 = ContextCompat.checkSelfPermission(mContext, permission1);
|
||||
int isPermission2 = ContextCompat.checkSelfPermission(mContext, permission2);
|
||||
if (isPermission1 == PackageManager.PERMISSION_GRANTED && isPermission2 == PackageManager.PERMISSION_GRANTED) {
|
||||
openVideoChooserActivity();
|
||||
} else {
|
||||
//申请权限
|
||||
ActivityCompat.requestPermissions(CommunitySendActivity.this, new String[]{permission1, permission2}, PERMISSION_REQUEST_CODE_VIDEO);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
mRecyclerViewImage = findViewById(R.id.recyclerView_image);
|
||||
mRecyclerViewImage.setLayoutManager(new GridLayoutManager(mContext, 3, GridLayoutManager.VERTICAL, false));
|
||||
ItemDecoration decoration = new ItemDecoration(mContext, 0x00000000, 15, 15);
|
||||
decoration.setOnlySetItemOffsetsButNoDraw(true);
|
||||
mRecyclerViewImage.addItemDecoration(decoration);
|
||||
activeImageAdapter = new ActiveImageAdapter(CommunitySendActivity.this);
|
||||
mRecyclerViewImage.setAdapter(activeImageAdapter);
|
||||
mRecyclerViewImage.setVisibility(View.VISIBLE);
|
||||
activeImageAdapter.setActionListener(new ActiveImageAdapter.ActionListener() {
|
||||
@Override
|
||||
public void onAddClick() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemClick(int position) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDeleteAll() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDel(int position) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void submit() {
|
||||
if (isImage) {
|
||||
if (imgUrlList.size() == 0) {
|
||||
ToastUtil.show("请选择图片或者视频");
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
if (StringUtil.isEmpty(videoUrl)) {
|
||||
ToastUtil.show("请选择图片或者视频");
|
||||
return;
|
||||
}
|
||||
}
|
||||
String imgUrl = "";
|
||||
if (isImage) {
|
||||
imgUrl = new Gson().toJson(imgUrlList);
|
||||
}
|
||||
String tempTime = "";
|
||||
if (!chooseTime.getText().toString().equals("立即发表")) {
|
||||
tempTime = chooseTime.getText().toString();
|
||||
}
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("msg", content.getText().toString());
|
||||
CommonHttpUtil.pushCommunity(isImage, jsonObject.toString(), String.valueOf(talkId), imgUrl, videoUrl, tempTime, new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
if (code == 0) {
|
||||
ToastUtil.show("发布成功");
|
||||
finish();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void showTalkChooseDialog() {
|
||||
talkList = new ArrayList<>();
|
||||
for (int i = 0; i < newCommunityTypeList.size(); i++) {
|
||||
talkList.add(newCommunityTypeList.get(i).getTalk_name());
|
||||
}
|
||||
OptionsPickerView pickerView = new OptionsPickerBuilder(CommunitySendActivity.this, new OnOptionsSelectListener() {
|
||||
@Override
|
||||
public void onOptionsSelect(int options1, int options2, int options3, View v) {
|
||||
talkId = newCommunityTypeList.get(options1).getId();
|
||||
talkContent.setText(talkList.get(options1));
|
||||
talkContent.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}).setTitleText("选择话题").setContentTextSize(16).build();
|
||||
pickerView.setPicker(talkList, null, null);
|
||||
pickerView.show();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
|
||||
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
||||
if (requestCode == PERMISSION_REQUEST_CODE_IMG) {
|
||||
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
|
||||
openImageChooserActivity();
|
||||
} else {
|
||||
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, PERMISSION_REQUEST_CODE_IMG);
|
||||
}
|
||||
}
|
||||
if (requestCode == PERMISSION_REQUEST_CODE_VIDEO) {
|
||||
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
|
||||
openVideoChooserActivity();
|
||||
} else {
|
||||
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, PERMISSION_REQUEST_CODE_VIDEO);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void showTimeChooseDialog() {
|
||||
TimePickerView timePickerView = new TimePickerBuilder(CommunitySendActivity.this, new OnTimeSelectListener() {
|
||||
@SuppressLint("SetTextI18n")
|
||||
@Override
|
||||
public void onTimeSelect(Date date, View v) {
|
||||
chooseTime.setText(DateFormatUtil.getTimeStrings(date.getTime()));
|
||||
}
|
||||
}).setType(new boolean[]{true, true, true, true, true, false})// 默认全部显示
|
||||
.setCancelText("Cancel")//取消按钮文字
|
||||
.setSubmitText("Sure")//确认按钮文字
|
||||
.setTitleSize(20)//标题文字大小
|
||||
.setTitleText("Title")//标题文字
|
||||
.setOutSideCancelable(false)//点击屏幕,点在控件外部范围时,是否取消显示
|
||||
.isCyclic(true)//是否循环滚动
|
||||
.setLabel("年", "月", "日", "时", "分", "")//默认设置为年月日时分秒
|
||||
.isCenterLabel(false) //是否只显示中间选中项的label文字,false则每项item全部都带有label。
|
||||
.build();
|
||||
timePickerView.show();
|
||||
timePickerView.setOnDismissListener(new OnDismissListener() {
|
||||
@Override
|
||||
public void onDismiss(Object o) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void openImageChooserActivity() {
|
||||
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
|
||||
intent.setType("image/*");
|
||||
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
|
||||
startActivityForResult(intent, CHOOSE_IMG);
|
||||
}
|
||||
|
||||
private void openVideoChooserActivity() {
|
||||
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
|
||||
intent.setType("video/*");
|
||||
startActivityForResult(intent, CHOOSE_VIDEO);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
if (resultCode == RESULT_OK && requestCode == CHOOSE_IMG) {
|
||||
// 获取用户选择的图片 URI
|
||||
Uri[] imageUris = null;
|
||||
if (data != null) {
|
||||
ClipData clipData = data.getClipData();
|
||||
if (clipData != null) {
|
||||
// 如果支持多选,则通过 getItemAt() 方法获取每个被选中的图片 URI
|
||||
imageUris = new Uri[clipData.getItemCount()];
|
||||
List<String> tempList = new ArrayList<>();
|
||||
for (int i = 0; i < clipData.getItemCount(); i++) {
|
||||
imageUris[i] = clipData.getItemAt(i).getUri();
|
||||
File file = new File(Objects.requireNonNull(FilesUtils.getPath(mContext, imageUris[i])));
|
||||
tempList.add(file.getPath());
|
||||
L.e("imageUris:" + imageUris[i].getPath() + "_" + imageUris[i].getEncodedPath());
|
||||
}
|
||||
activeImageAdapter.insertList(tempList);
|
||||
} else {
|
||||
// 单选情况下直接获取图片 URI
|
||||
imageUris = new Uri[]{data.getData()};
|
||||
uriList.add(imageUris[0]);
|
||||
List<String> tempList = new ArrayList<>();
|
||||
File file = new File(Objects.requireNonNull(FilesUtils.getPath(mContext, imageUris[0])));
|
||||
tempList.add(file.getPath());
|
||||
activeImageAdapter.insertList(tempList);
|
||||
}
|
||||
}
|
||||
isImage = true;
|
||||
} else if (requestCode == CHOOSE_VIDEO && resultCode == RESULT_OK && data != null) {
|
||||
Uri uri = data.getData();
|
||||
videoFile = new File(Objects.requireNonNull(FilesUtils.getPath(mContext, uri)));
|
||||
videoView.setVideoURI(uri);
|
||||
videoView.start();
|
||||
videoViewLayout.setVisibility(View.VISIBLE);
|
||||
isImage = false;
|
||||
}
|
||||
}
|
||||
|
||||
private void uploadFile(List<UploadBean> uploadBeans, boolean isImg) {
|
||||
if (mUploadStrategy == null) {
|
||||
mUploadStrategy = new UploadQnImpl(mContext);
|
||||
}
|
||||
mUploadStrategy.upload(uploadBeans, true, new UploadCallback() {
|
||||
@Override
|
||||
public void onFinish(List<UploadBean> list, boolean success) {
|
||||
if (!success) {
|
||||
return;
|
||||
}
|
||||
if (isImage) {
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
imgUrlList.add(list.get(i).getRemoteAccessUrl());
|
||||
}
|
||||
} else {
|
||||
videoUrl = list.get(0).getRemoteAccessUrl();
|
||||
}
|
||||
submit();
|
||||
L.e(new Gson().toJson(list));
|
||||
}
|
||||
}, isImg);
|
||||
}
|
||||
}
|
||||
@@ -1,83 +1,765 @@
|
||||
package com.yunbao.main.activity;
|
||||
|
||||
import android.Manifest;
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Intent;
|
||||
import android.text.TextUtils;
|
||||
import android.view.ViewGroup;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.database.Cursor;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.Outline;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.provider.MediaStore;
|
||||
import android.util.SparseArray;
|
||||
import android.view.View;
|
||||
import android.view.ViewOutlineProvider;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.ScrollView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.core.app.ActivityCompat;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.google.gson.Gson;
|
||||
import com.makeramen.roundedimageview.RoundedImageView;
|
||||
import com.ms.banner.Banner;
|
||||
import com.xuexiang.xui.widget.flowlayout.FlowTagLayout;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.R;
|
||||
import com.yunbao.common.activity.AbsActivity;
|
||||
import com.yunbao.common.bean.UserBean;
|
||||
import com.yunbao.common.adapter.LabelTagAdapter;
|
||||
import com.yunbao.common.adapter.UserCommunityAdapter;
|
||||
import com.yunbao.common.adapter.UserHomeImgAdapter;
|
||||
import com.yunbao.common.bean.ActiveBean;
|
||||
import com.yunbao.common.bean.ActiveOtherBean;
|
||||
import com.yunbao.common.bean.HomeUserExhibitInfoBean;
|
||||
import com.yunbao.common.bean.HomeUserInfoBean;
|
||||
import com.yunbao.common.bean.LabelBean;
|
||||
import com.yunbao.common.bean.UserHomeImgBean;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.CommonHttpUtil;
|
||||
import com.yunbao.common.http.base.HttpCallback;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.interfaces.CommonCallback;
|
||||
import com.yunbao.common.upload.UploadBean;
|
||||
import com.yunbao.common.upload.UploadCallback;
|
||||
import com.yunbao.common.upload.UploadQnImpl;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.FilesUtils;
|
||||
import com.yunbao.common.utils.L;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.live.activity.LiveAddImpressActivity;
|
||||
import com.yunbao.main.R;
|
||||
import com.yunbao.main.http.MainHttpUtil;
|
||||
import com.yunbao.main.views.UserHomeViewHolder2;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.views.UserHomeImgsViewHolder;
|
||||
|
||||
/**
|
||||
* Created by cxf on 2018/9/25.
|
||||
*/
|
||||
//@Route(path = RouteUtil.PATH_USER_HOME)
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
import pl.droidsonroids.gif.GifImageView;
|
||||
|
||||
@Route(path = RouteUtil.PATH_USER_HOME)
|
||||
public class UserHomeActivity extends AbsActivity {
|
||||
|
||||
private UserHomeViewHolder2 mUserHomeViewHolder;
|
||||
private final int CHOOSE_IMG = 100;//Android 5.0以下的
|
||||
public static final int PERMISSION_REQUEST_CODE_IMG = 0;
|
||||
private String uid;
|
||||
private Banner mBanner;
|
||||
private RecyclerView imgsRecyclerView;
|
||||
private UserHomeImgAdapter userHomeImgAdapter;
|
||||
private List<String> bannerImgList = new ArrayList<>();
|
||||
private List<UserHomeImgBean> tempList;
|
||||
private RoundedImageView avatar;
|
||||
private TextView userName;
|
||||
private TextView fansCount;
|
||||
private TextView likeCount;
|
||||
private LinearLayout followLayout;
|
||||
private ImageView followIcon;
|
||||
private TextView followName;
|
||||
private TextView userId;
|
||||
private TextView userStatus;
|
||||
private ImageView userStatusIcon;
|
||||
private ImageView user_sex;
|
||||
private ImageView authorIcon;
|
||||
private ImageView levelIcon;
|
||||
private LinearLayout authenticationLayout;
|
||||
private TextView signature;
|
||||
private LinearLayout moreLayout;
|
||||
private TextView moreText;
|
||||
private ImageView moreIcon;
|
||||
private HomeUserInfoBean userInfo;
|
||||
private RecyclerView communityRecyclerView;
|
||||
private LinearLayout itemLayout01;
|
||||
private LinearLayout itemLayout02;
|
||||
private LinearLayout itemLayout03;
|
||||
private LinearLayout itemLayout04;
|
||||
private FlowTagLayout myFlowTag; //我的标签
|
||||
private LabelTagAdapter myAdapter;
|
||||
private boolean isShowcase;
|
||||
private boolean isAnchor;
|
||||
private boolean isMe;
|
||||
private RelativeLayout userPresidentLayout;
|
||||
private TextView userPresidentName;
|
||||
private RoundedImageView fansImg1;
|
||||
private RoundedImageView fansImg2;
|
||||
private RoundedImageView fansImg3;
|
||||
private List<RoundedImageView> fansImgViewList = new ArrayList<>();
|
||||
private RoundedImageView guardImg1;
|
||||
private RoundedImageView guardImg2;
|
||||
private RoundedImageView guardImg3;
|
||||
private List<RoundedImageView> guardImgViewList = new ArrayList<>();
|
||||
private RoundedImageView giftImg1;
|
||||
private RoundedImageView giftImg2;
|
||||
private RoundedImageView giftImg3;
|
||||
private List<RoundedImageView> giftImgViewList = new ArrayList<>();
|
||||
private RoundedImageView honorImg1;
|
||||
private RoundedImageView honorImg2;
|
||||
private RoundedImageView honorImg3;
|
||||
private List<RoundedImageView> honorImgViewList = new ArrayList<>();
|
||||
private TextView giftCount;
|
||||
private List<String> tagList;
|
||||
private GifImageView liveStatus;
|
||||
private TextView topName;
|
||||
private LinearLayout topLayout;
|
||||
private ScrollView scrollView;
|
||||
private RelativeLayout topImgLayout;
|
||||
private ImageView imgUp;
|
||||
private ImageView imgLabel;
|
||||
private LinearLayout bottomEditLayout;
|
||||
private UploadQnImpl mUploadStrategy;
|
||||
private List<ActiveBean> videoList = new ArrayList<>();
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.activity_empty;
|
||||
return R.layout.activity_user_home;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isStatusBarWhite() {
|
||||
return true;
|
||||
protected void create() {
|
||||
super.create();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void main() {
|
||||
Intent intent = getIntent();
|
||||
String toUid = intent.getStringExtra(Constants.TO_UID);
|
||||
if (TextUtils.isEmpty(toUid)) {
|
||||
uid = getIntent().getStringExtra(Constants.TO_UID);
|
||||
if (StringUtil.isEmpty(uid)) {
|
||||
ToastUtil.show("用户不存在");
|
||||
finish();
|
||||
return;
|
||||
}
|
||||
boolean fromLiveRoom = intent.getBooleanExtra(Constants.FROM_LIVE_ROOM, false);
|
||||
String fromLiveUid = fromLiveRoom ? intent.getStringExtra(Constants.LIVE_UID) : null;
|
||||
mUserHomeViewHolder = new UserHomeViewHolder2(mContext, (ViewGroup) findViewById(R.id.container), toUid, fromLiveRoom,fromLiveUid);
|
||||
mUserHomeViewHolder.addToParent();
|
||||
mUserHomeViewHolder.subscribeActivityLifeCycle();
|
||||
mUserHomeViewHolder.loadData();
|
||||
initView();
|
||||
getUseData();
|
||||
getCommunityList();
|
||||
}
|
||||
|
||||
MainHttpUtil.getBaseInfo(new CommonCallback<UserBean>() {
|
||||
private void getCommunityList() {
|
||||
CommonHttpUtil.getOtherDynamicList(uid, new com.yunbao.common.http.HttpCallback() {
|
||||
@Override
|
||||
public void callback(UserBean bean) {
|
||||
UserBean userBean = CommonAppConfig.getInstance().getUserBean();
|
||||
userBean = bean;
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
List<ActiveOtherBean> beanList = JSONArray.parseArray(Arrays.toString(info), ActiveOtherBean.class);
|
||||
UserCommunityAdapter userCommunityAdapter = new UserCommunityAdapter(mContext, beanList);
|
||||
userCommunityAdapter.setOnItemClickListener(new UserCommunityAdapter.onItemClickListener() {
|
||||
@Override
|
||||
public void onImgItem(ActiveOtherBean bean, int position) {
|
||||
if (bean.getImg_or_video().equals("1")) {
|
||||
RouteUtil.forwardCommunity(bean.getId());
|
||||
} else {
|
||||
int playPosition = 0;
|
||||
for (int i = 0; i < videoList.size(); i++) {
|
||||
if (videoList.get(i).getId().equals(bean.getId())) {
|
||||
playPosition = i;
|
||||
}
|
||||
}
|
||||
RouteUtil.forwardVideoActivity();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onVideoItem(String activeBean, int position) {
|
||||
|
||||
}
|
||||
});
|
||||
communityRecyclerView.setAdapter(userCommunityAdapter);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@SuppressLint({"SetTextI18n", "UseCompatLoadingForDrawables"})
|
||||
private void initData(HomeUserInfoBean userInfoBean) {
|
||||
userInfo = userInfoBean;
|
||||
if (!userInfo.getCheckBlack().get(0).getU2t().equals("0")) {
|
||||
ToastUtil.show("已拉黑,无法查看");
|
||||
finish();
|
||||
return;
|
||||
}
|
||||
if (!StringUtil.isEmpty(userInfo.getUserHomeTopInfo().getUser_president_name())) {
|
||||
userPresidentLayout.setVisibility(View.VISIBLE);
|
||||
userPresidentName.setText(userInfo.getUserHomeTopInfo().getUser_president_name());
|
||||
}
|
||||
isAnchor = userInfo.getUserHomeTopInfo().getIs_anchor() == 1;
|
||||
isMe = CommonAppConfig.getInstance().getUserBean().getId().equals(String.valueOf(userInfo.getUserHomeTopInfo().getUser_id()));
|
||||
ImgLoader.display(UserHomeActivity.this, userInfo.getUserHomeTopInfo().getUser_avatar(), avatar);
|
||||
topName.setText(userInfo.getUserHomeTopInfo().getUser_name()); //用户名称-顶部
|
||||
userName.setText(userInfo.getUserHomeTopInfo().getUser_name());//用户名称
|
||||
fansCount.setText(String.valueOf(userInfo.getUserHomeTopInfo().getUser_fans_num()));//粉丝数量
|
||||
likeCount.setText(String.valueOf(userInfo.getUserHomeTopInfo().getUser_love_num()));//关注数量
|
||||
|
||||
public void addImpress(String toUid) {
|
||||
Intent intent = new Intent(mContext, LiveAddImpressActivity.class);
|
||||
intent.putExtra(Constants.TO_UID, toUid);
|
||||
startActivityForResult(intent, 100);
|
||||
if (isMe) {
|
||||
bottomEditLayout.setVisibility(View.VISIBLE);
|
||||
imgUp.setVisibility(View.VISIBLE);
|
||||
imgLabel.setVisibility(View.VISIBLE);
|
||||
followLayout.setVisibility(View.GONE);
|
||||
}
|
||||
if (!StringUtil.isEmpty(userInfo.getUserHomeTopInfo().getUser_goodnum())) {
|
||||
userId.setText("靓号:" + userInfo.getUserHomeTopInfo().getUser_goodnum());//用户靓号
|
||||
} else {
|
||||
userId.setText("ID:" + userInfo.getUserHomeTopInfo().getUser_id());//用户ID
|
||||
}
|
||||
|
||||
if (userInfo.getUserHomeTopInfo().getRong_online().equals("0")) {
|
||||
userStatus.setText("在线");
|
||||
userStatusIcon.setImageDrawable(getResources().getDrawable(R.mipmap.icon_green));
|
||||
} else {
|
||||
userStatus.setText("离线");
|
||||
userStatusIcon.setImageDrawable(getResources().getDrawable(R.mipmap.icon_gray));
|
||||
}
|
||||
if (userInfo.getUserHomeTopInfo().getIs_live() == 1) {
|
||||
liveStatus.setVisibility(View.VISIBLE);
|
||||
avatar.setBackground(getResources().getDrawable(R.drawable.bg_live_1));
|
||||
}
|
||||
ImgLoader.display(UserHomeActivity.this, Integer.parseInt(String.valueOf(userInfo.getUserHomeTopInfo().getUser_sex())) == 0 ? R.mipmap.icon_man_new : R.mipmap.icon_wumen, user_sex);
|
||||
ImgLoader.display(UserHomeActivity.this, userInfo.getUserHomeTopInfo().getUser_level_anchor_img(), authorIcon);
|
||||
ImgLoader.display(UserHomeActivity.this, userInfo.getUserHomeTopInfo().getUser_level_img(), levelIcon);
|
||||
|
||||
if (isAnchor) {//是否是主播
|
||||
authorIcon.setVisibility(View.VISIBLE);
|
||||
authenticationLayout.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
authorIcon.setVisibility(View.GONE);
|
||||
authenticationLayout.setVisibility(View.GONE);
|
||||
}
|
||||
signature.setText(userInfo.getUserHomeTopInfo().getUser_signature());//个性签名
|
||||
//标签
|
||||
myAdapter = new LabelTagAdapter(mContext, new LabelTagAdapter.OnSureOnClickListener() {
|
||||
@Override
|
||||
public void sure(LabelBean.Children labelBean) {
|
||||
|
||||
}
|
||||
});
|
||||
tagList = new ArrayList<>();
|
||||
if (!StringUtil.isEmpty(userInfo.getUserHomeTopInfo().getAge())) {
|
||||
tagList.add(userInfo.getUserHomeTopInfo().getAge() + "岁");
|
||||
}
|
||||
if (!StringUtil.isEmpty(userInfo.getUserHomeTopInfo().getHeight())) {
|
||||
tagList.add(userInfo.getUserHomeTopInfo().getHeight());
|
||||
}
|
||||
if (!StringUtil.isEmpty(userInfo.getUserHomeTopInfo().getCareer())) {
|
||||
tagList.add(userInfo.getUserHomeTopInfo().getCareer());
|
||||
}
|
||||
if (userInfo.getUserHomeTopInfo().getCn_label() != null) {
|
||||
if (userInfo.getUserHomeTopInfo().getCn_label().size() > 0) {
|
||||
for (int i = 0; i < userInfo.getUserHomeTopInfo().getCn_label().size(); i++) {
|
||||
if (!StringUtil.isEmpty(userInfo.getUserHomeTopInfo().getCn_label().get(i))) {
|
||||
tagList.add(userInfo.getUserHomeTopInfo().getCn_label().get(i));
|
||||
}
|
||||
}
|
||||
myFlowTag.setAdapter(myAdapter);
|
||||
myFlowTag.setTagCheckedMode(FlowTagLayout.FLOW_TAG_CHECKED_NONE);
|
||||
myAdapter.setData(tagList);
|
||||
}
|
||||
}
|
||||
mBanner.setOutlineProvider(new ViewOutlineProvider() {
|
||||
@Override
|
||||
public void getOutline(View view, Outline outline) {
|
||||
outline.setRoundRect(0, 0, 0, 0, 0);
|
||||
}
|
||||
});
|
||||
mBanner.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
|
||||
@Override
|
||||
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageSelected(int position) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageScrollStateChanged(int state) {
|
||||
|
||||
}
|
||||
});
|
||||
bannerImgList = userInfo.getUserHomeTopInfo().getUser_home_banner();
|
||||
tempList = new ArrayList<>();
|
||||
for (int i = 0; i < bannerImgList.size(); i++) {
|
||||
tempList.add(new UserHomeImgBean(bannerImgList.get(i)));
|
||||
}
|
||||
if (tempList.size() > 0) {
|
||||
tempList.get(0).setShow(true);
|
||||
}
|
||||
userHomeImgAdapter = new UserHomeImgAdapter(UserHomeActivity.this, tempList, isMe);
|
||||
imgsRecyclerView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false));
|
||||
imgsRecyclerView.setAdapter(userHomeImgAdapter);
|
||||
|
||||
userHomeImgAdapter.setOnItemClickListener(new UserHomeImgAdapter.onItemClickListener() {
|
||||
@Override
|
||||
public void onImgItem(UserHomeImgBean activeBean, int position) {
|
||||
L.e("onImgItem:" + position);
|
||||
mBanner.setCurrentPage(position).start();
|
||||
for (int i = 0; i < tempList.size(); i++) {
|
||||
if (i == position) {
|
||||
tempList.get(i).setShow(true);
|
||||
} else {
|
||||
tempList.get(i).setShow(false);
|
||||
}
|
||||
}
|
||||
userHomeImgAdapter.setCommentBeanList(tempList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onImgDel(UserHomeImgBean activeBean, int position) {
|
||||
bannerImgList.remove(position);
|
||||
uploadImg(false);
|
||||
}
|
||||
});
|
||||
mBanner.setAutoPlay(false).setPages(bannerImgList, new UserHomeImgsViewHolder()).setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
|
||||
@Override
|
||||
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageSelected(int position) {
|
||||
L.e("onPageSelected:" + position);
|
||||
for (int i = 0; i < tempList.size(); i++) {
|
||||
if (i == position) {
|
||||
tempList.get(i).setShow(true);
|
||||
} else {
|
||||
tempList.get(i).setShow(false);
|
||||
}
|
||||
}
|
||||
userHomeImgAdapter.setCommentBeanList(tempList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageScrollStateChanged(int state) {
|
||||
|
||||
}
|
||||
});
|
||||
mBanner.start();
|
||||
}
|
||||
|
||||
private void initView() {
|
||||
bottomEditLayout = findViewById(R.id.bottomEditLayout);
|
||||
imgUp = findViewById(R.id.imgUp);
|
||||
imgLabel = findViewById(R.id.imgLabel);
|
||||
topImgLayout = findViewById(R.id.topImgLayout);
|
||||
|
||||
topLayout = findViewById(R.id.topLayout);
|
||||
scrollView = findViewById(R.id.scrollView);
|
||||
|
||||
topName = findViewById(R.id.topName);
|
||||
liveStatus = findViewById(R.id.liveStatus);
|
||||
giftCount = findViewById(R.id.giftCount);
|
||||
|
||||
fansImg1 = findViewById(R.id.fansImg1);
|
||||
fansImg2 = findViewById(R.id.fansImg2);
|
||||
fansImg3 = findViewById(R.id.fansImg3);
|
||||
fansImgViewList = new ArrayList<>();
|
||||
fansImgViewList.add(fansImg1);
|
||||
fansImgViewList.add(fansImg2);
|
||||
fansImgViewList.add(fansImg3);
|
||||
|
||||
guardImg1 = findViewById(R.id.guardImg1);
|
||||
guardImg2 = findViewById(R.id.guardImg2);
|
||||
guardImg3 = findViewById(R.id.guardImg3);
|
||||
guardImgViewList = new ArrayList<>();
|
||||
guardImgViewList.add(guardImg1);
|
||||
guardImgViewList.add(guardImg2);
|
||||
guardImgViewList.add(guardImg3);
|
||||
|
||||
giftImg1 = findViewById(R.id.giftImg1);
|
||||
giftImg2 = findViewById(R.id.giftImg2);
|
||||
giftImg3 = findViewById(R.id.giftImg3);
|
||||
giftImgViewList = new ArrayList<>();
|
||||
giftImgViewList.add(giftImg1);
|
||||
giftImgViewList.add(giftImg2);
|
||||
giftImgViewList.add(giftImg3);
|
||||
|
||||
honorImg1 = findViewById(R.id.honorImg1);
|
||||
honorImg2 = findViewById(R.id.honorImg2);
|
||||
honorImg3 = findViewById(R.id.honorImg3);
|
||||
honorImgViewList = new ArrayList<>();
|
||||
honorImgViewList.add(honorImg1);
|
||||
honorImgViewList.add(honorImg2);
|
||||
honorImgViewList.add(honorImg3);
|
||||
|
||||
userPresidentLayout = findViewById(R.id.userPresidentLayout);
|
||||
userPresidentName = findViewById(R.id.userPresidentName);
|
||||
itemLayout01 = findViewById(R.id.itemLayout01);
|
||||
itemLayout02 = findViewById(R.id.itemLayout02);
|
||||
itemLayout03 = findViewById(R.id.itemLayout03);
|
||||
itemLayout04 = findViewById(R.id.itemLayout04);
|
||||
communityRecyclerView = findViewById(R.id.communityRecyclerView);
|
||||
myFlowTag = findViewById(R.id.myFlowTag);
|
||||
avatar = findViewById(R.id.avatar);
|
||||
userName = findViewById(R.id.name);
|
||||
fansCount = findViewById(R.id.fansCount);
|
||||
likeCount = findViewById(R.id.likeCount);
|
||||
followLayout = findViewById(R.id.followLayout);
|
||||
followName = findViewById(R.id.followName);
|
||||
followIcon = findViewById(R.id.followIcon);
|
||||
userId = findViewById(R.id.userId);
|
||||
userStatus = findViewById(R.id.userStatus);
|
||||
userStatusIcon = findViewById(R.id.userStatusIcon);
|
||||
user_sex = findViewById(R.id.user_sex);
|
||||
|
||||
levelIcon = findViewById(R.id.levelIcon);
|
||||
authorIcon = findViewById(R.id.authorlIcon);
|
||||
|
||||
authenticationLayout = findViewById(R.id.authenticationLayout);
|
||||
signature = findViewById(R.id.signature);
|
||||
moreLayout = findViewById(R.id.moreLayout);
|
||||
moreText = findViewById(R.id.moreText);
|
||||
moreIcon = findViewById(R.id.moreIcon);
|
||||
|
||||
mBanner = findViewById(R.id.banner);
|
||||
imgsRecyclerView = findViewById(R.id.imgsRecyclerView);
|
||||
|
||||
communityRecyclerView = findViewById(R.id.communityRecyclerView);
|
||||
communityRecyclerView.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.VERTICAL, false));
|
||||
communityRecyclerView.setOverScrollMode(View.OVER_SCROLL_NEVER);
|
||||
|
||||
findViewById(R.id.back).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
finish();
|
||||
}
|
||||
});
|
||||
followLayout.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
CommonHttpUtil.setAttention(String.valueOf(userInfo.getUserHomeTopInfo().getUser_id()), new CommonCallback<Integer>() {
|
||||
@Override
|
||||
public void callback(Integer isAttention) {
|
||||
if (isAttention == 1) {
|
||||
ImgLoader.display(UserHomeActivity.this, R.mipmap.icon_like_followed, followIcon);
|
||||
followName.setText("已关注");
|
||||
followName.setTextColor(Color.parseColor("#777777"));
|
||||
followLayout.setBackground(getResources().getDrawable(R.drawable.bg_main_com_type_1));
|
||||
} else {
|
||||
ImgLoader.display(UserHomeActivity.this, R.mipmap.icon_like_follow, followIcon);
|
||||
followName.setText("关注");
|
||||
followName.setTextColor(getResources().getColor(R.color.white));
|
||||
followLayout.setBackground(getResources().getDrawable(R.drawable.bg_main_com_type));
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
moreLayout.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (isShowcase) {
|
||||
if (isAnchor) {
|
||||
itemLayout01.setVisibility(View.GONE);
|
||||
itemLayout02.setVisibility(View.GONE);
|
||||
itemLayout03.setVisibility(View.GONE);
|
||||
itemLayout04.setVisibility(View.GONE);
|
||||
} else {
|
||||
itemLayout03.setVisibility(View.GONE);
|
||||
itemLayout04.setVisibility(View.GONE);
|
||||
}
|
||||
moreText.setText("查看更多");
|
||||
ImgLoader.display(mContext, R.mipmap.icon_down, moreIcon);
|
||||
} else {
|
||||
if (isAnchor) {
|
||||
itemLayout01.setVisibility(View.VISIBLE);
|
||||
itemLayout02.setVisibility(View.VISIBLE);
|
||||
itemLayout03.setVisibility(View.VISIBLE);
|
||||
itemLayout04.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
itemLayout01.setVisibility(View.GONE);
|
||||
itemLayout02.setVisibility(View.GONE);
|
||||
}
|
||||
moreText.setText("收起");
|
||||
ImgLoader.display(mContext, R.mipmap.icon_up, moreIcon);
|
||||
}
|
||||
isShowcase = !isShowcase;
|
||||
}
|
||||
});
|
||||
findViewById(R.id.back).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
finish();
|
||||
}
|
||||
});
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
scrollView.setOnScrollChangeListener(new View.OnScrollChangeListener() {
|
||||
@Override
|
||||
public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
|
||||
int height = (int) (topImgLayout.getMeasuredHeight() * 1.2);
|
||||
if (scrollY <= 0) {
|
||||
//滑动之前,标题栏布局背景颜色为完全透明,标题文字完全透明
|
||||
topLayout.setBackgroundColor(Color.argb(0, 0, 0, 0));
|
||||
topName.setTextColor(Color.argb(0, 255, 255, 255));
|
||||
//让mScrollView滑动的距离在0~height之间时颜色发生渐变
|
||||
} else if (scrollY > 0 && scrollY <= height) {
|
||||
//获取渐变率
|
||||
float scale = (float) scrollY / height;
|
||||
//获取渐变数值
|
||||
float alpha = (255 * scale);
|
||||
//布局文本颜色逐渐发生变化
|
||||
topLayout.setBackgroundColor(Color.argb((int) alpha, 0, 0, 0));
|
||||
topName.setTextColor(Color.argb((int) alpha, 255, 255, 255));
|
||||
} else {
|
||||
//当滑动距离超过height,布局文本颜色完全不透明
|
||||
topLayout.setBackgroundColor(Color.argb(255, 0, 0, 0));
|
||||
topName.setTextColor(Color.argb(255, 255, 255, 255));
|
||||
}
|
||||
}
|
||||
});
|
||||
topLayout.setBackgroundColor(Color.argb(0, 0, 0, 0));
|
||||
topName.setTextColor(Color.argb(0, 255, 255, 255));
|
||||
}
|
||||
imgUp.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (bannerImgList.size() < 9) {
|
||||
selectImg();
|
||||
}
|
||||
}
|
||||
});
|
||||
bottomEditLayout.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
RouteUtil.forwardEditProfileActivity();
|
||||
}
|
||||
});
|
||||
findViewById(R.id.setting).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
SparseArray<String> array = new SparseArray<>();
|
||||
array.append(1, "不感兴趣");
|
||||
array.append(0, "举报");
|
||||
array.append(2, "加入黑名单");
|
||||
DialogUitl.showStringArrayDialog(UserHomeActivity.this, array, new DialogUitl.StringArrayDialogCallback() {
|
||||
@Override
|
||||
public void onItemClick(String text, int tag) {
|
||||
if (tag == 0) {
|
||||
RouteUtil.forwardLiveReportActivity(String.valueOf(userInfo.getUserHomeTopInfo().getUser_id()));
|
||||
} else if (tag == 1) {
|
||||
CommonHttpUtil.noInterest(String.valueOf(userInfo.getUserHomeTopInfo().getUser_id()), new com.yunbao.common.http.HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
ToastUtil.show(msg);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
CommonHttpUtil.noInterest(String.valueOf(userInfo.getUserHomeTopInfo().getUser_id()), new com.yunbao.common.http.HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
ToastUtil.show(msg);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void selectImg() {
|
||||
String permission1 = Manifest.permission.READ_EXTERNAL_STORAGE;
|
||||
String permission2 = Manifest.permission.WRITE_EXTERNAL_STORAGE;
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
permission1 = Manifest.permission.READ_MEDIA_IMAGES;
|
||||
permission2 = Manifest.permission.READ_MEDIA_VIDEO;
|
||||
}
|
||||
int isPermission1 = ContextCompat.checkSelfPermission(mContext, permission1);
|
||||
int isPermission2 = ContextCompat.checkSelfPermission(mContext, permission2);
|
||||
if (isPermission1 == PackageManager.PERMISSION_GRANTED && isPermission2 == PackageManager.PERMISSION_GRANTED) {
|
||||
openImageChooserActivity();
|
||||
} else {
|
||||
//申请权限
|
||||
ActivityCompat.requestPermissions(UserHomeActivity.this, new String[]{permission1, permission2}, PERMISSION_REQUEST_CODE_IMG);
|
||||
}
|
||||
}
|
||||
|
||||
private void openImageChooserActivity() {
|
||||
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
|
||||
intent.setType("image/*");
|
||||
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, false);
|
||||
startActivityForResult(intent, CHOOSE_IMG);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
if (requestCode == 100 && resultCode == RESULT_OK) {
|
||||
if (mUserHomeViewHolder != null) {
|
||||
mUserHomeViewHolder.refreshImpress();
|
||||
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
|
||||
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
||||
if (requestCode == PERMISSION_REQUEST_CODE_IMG) {
|
||||
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
|
||||
openImageChooserActivity();
|
||||
} else {
|
||||
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, PERMISSION_REQUEST_CODE_IMG);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void getUseData() {
|
||||
LiveNetManager.get(mContext).getUserHomeInfo(uid, new HttpCallback<HomeUserInfoBean>() {
|
||||
@Override
|
||||
public void onSuccess(HomeUserInfoBean data) {
|
||||
initData(data);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
|
||||
}
|
||||
});
|
||||
LiveNetManager.get(mContext).getUserExhibitInfoInfo(uid, new HttpCallback<HomeUserExhibitInfoBean>() {
|
||||
@SuppressLint("SetTextI18n")
|
||||
@Override
|
||||
public void onSuccess(HomeUserExhibitInfoBean data) {
|
||||
//主播粉丝团
|
||||
if (data.getUserHomeTopInfo().getFans().getList() != null) {
|
||||
if (data.getUserHomeTopInfo().getFans().getList().size() >= 3) {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
ImgLoader.display(mContext, data.getUserHomeTopInfo().getFans().getList().get(i).getAvatar(), fansImgViewList.get(i));
|
||||
}
|
||||
} else {
|
||||
for (int i = 0; i < data.getUserHomeTopInfo().getFans().getList().size(); i++) {
|
||||
ImgLoader.display(mContext, data.getUserHomeTopInfo().getFans().getList().get(i).getAvatar(), fansImgViewList.get(i));
|
||||
}
|
||||
}
|
||||
}
|
||||
//主播守护团
|
||||
if (data.getUserHomeTopInfo().getGuard() != null) {
|
||||
if (data.getUserHomeTopInfo().getGuard().size() >= 3) {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
ImgLoader.display(mContext, data.getUserHomeTopInfo().getGuard().get(i).getAvatar(), guardImgViewList.get(i));
|
||||
}
|
||||
} else {
|
||||
for (int i = 0; i < data.getUserHomeTopInfo().getGuard().size(); i++) {
|
||||
ImgLoader.display(mContext, data.getUserHomeTopInfo().getGuard().get(i).getAvatar(), guardImgViewList.get(i));
|
||||
}
|
||||
}
|
||||
}
|
||||
//礼物墙
|
||||
if (data.getGiftAlreadyWall().getGift_wall() != null) {
|
||||
if (data.getGiftAlreadyWall().getGift_wall().size() >= 3) {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
ImgLoader.display(mContext, data.getGiftAlreadyWall().getGift_wall().get(i).getGifticon(), giftImgViewList.get(i));
|
||||
}
|
||||
} else {
|
||||
for (int i = 0; i < data.getGiftAlreadyWall().getGift_wall().size(); i++) {
|
||||
ImgLoader.display(mContext, data.getGiftAlreadyWall().getGift_wall().get(i).getGifticon(), giftImgViewList.get(i));
|
||||
}
|
||||
}
|
||||
giftCount.setText(data.getGiftAlreadyWall().getGift_wall().size() + "/36");
|
||||
}
|
||||
//荣誉墙
|
||||
if (data.getUserHomeTopInfo().getDress() != null) {
|
||||
if (data.getUserHomeTopInfo().getDress().size() >= 3) {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
ImgLoader.display(mContext, data.getUserHomeTopInfo().getDress().get(i).getDisplay_src(), honorImgViewList.get(i));
|
||||
}
|
||||
} else {
|
||||
for (int i = 0; i < data.getUserHomeTopInfo().getDress().size(); i++) {
|
||||
ImgLoader.display(mContext, data.getUserHomeTopInfo().getDress().get(i).getDisplay_src(), honorImgViewList.get(i));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
if (mUserHomeViewHolder != null) {
|
||||
mUserHomeViewHolder.release();
|
||||
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
if (resultCode == RESULT_OK && requestCode == CHOOSE_IMG) {
|
||||
// 获取用户选择的图片 URI
|
||||
Uri[] imageUris = null;
|
||||
if (data != null) {
|
||||
imageUris = new Uri[]{data.getData()};
|
||||
File file = new File(Objects.requireNonNull(FilesUtils.getPath(mContext, imageUris[0])));
|
||||
uploadFile(file);
|
||||
}
|
||||
}
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
private void uploadFile(File file) {
|
||||
if (mUploadStrategy == null) {
|
||||
mUploadStrategy = new UploadQnImpl(mContext);
|
||||
}
|
||||
List<UploadBean> uploadBeans = new ArrayList<>();
|
||||
UploadBean upVideoBean = new UploadBean(file, UploadBean.IMG);
|
||||
uploadBeans.add(upVideoBean);
|
||||
mUploadStrategy.upload(uploadBeans, true, new UploadCallback() {
|
||||
@Override
|
||||
public void onFinish(List<UploadBean> list, boolean success) {
|
||||
if (!success) {
|
||||
return;
|
||||
}
|
||||
bannerImgList.add("https://downs.yaoulive.com/" + list.get(0).getRemoteAccessUrl());
|
||||
uploadImg(true);
|
||||
L.e(new Gson().toJson(list));
|
||||
}
|
||||
}, true);
|
||||
}
|
||||
|
||||
private void uploadImg(boolean isUp) {
|
||||
CommonHttpUtil.uploadUserInfoImg(new Gson().toJson(bannerImgList), new com.yunbao.common.http.HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
if (code == 0 && info != null) {
|
||||
if (isUp) {
|
||||
ToastUtil.show("上传成功");
|
||||
} else {
|
||||
ToastUtil.show("删除成功");
|
||||
}
|
||||
mBanner.setPages(bannerImgList, new UserHomeImgsViewHolder()).start();
|
||||
tempList = new ArrayList<>();
|
||||
for (int i = 0; i < bannerImgList.size(); i++) {
|
||||
tempList.add(new UserHomeImgBean(bannerImgList.get(i)));
|
||||
}
|
||||
if (tempList.size() > 0) {
|
||||
tempList.get(0).setShow(true);
|
||||
}
|
||||
userHomeImgAdapter.setCommentBeanList(tempList);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private File uri2File(Uri uri) {
|
||||
String img_path;
|
||||
String[] proj = {MediaStore.Images.Media.DATA};
|
||||
Cursor actualimagecursor = this.managedQuery(uri, proj, null, null, null);
|
||||
if (actualimagecursor == null) {
|
||||
img_path = uri.getPath();
|
||||
} else {
|
||||
int actual_image_column_index = actualimagecursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
|
||||
actualimagecursor.moveToFirst();
|
||||
img_path = actualimagecursor.getString(actual_image_column_index);
|
||||
}
|
||||
File file = new File(img_path);
|
||||
return file;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
package com.yunbao.main.activity;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.text.TextUtils;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.activity.AbsActivity;
|
||||
import com.yunbao.common.bean.UserBean;
|
||||
import com.yunbao.common.interfaces.CommonCallback;
|
||||
import com.yunbao.live.activity.LiveAddImpressActivity;
|
||||
import com.yunbao.main.R;
|
||||
import com.yunbao.main.http.MainHttpUtil;
|
||||
import com.yunbao.main.views.UserHomeViewHolder2;
|
||||
|
||||
/**
|
||||
* Created by cxf on 2018/9/25.
|
||||
*/
|
||||
//@Route(path = RouteUtil.PATH_USER_HOME)
|
||||
public class UserHomeActivityOld extends AbsActivity {
|
||||
|
||||
private UserHomeViewHolder2 mUserHomeViewHolder;
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.activity_empty;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isStatusBarWhite() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void main() {
|
||||
Intent intent = getIntent();
|
||||
String toUid = intent.getStringExtra(Constants.TO_UID);
|
||||
if (TextUtils.isEmpty(toUid)) {
|
||||
return;
|
||||
}
|
||||
boolean fromLiveRoom = intent.getBooleanExtra(Constants.FROM_LIVE_ROOM, false);
|
||||
String fromLiveUid = fromLiveRoom ? intent.getStringExtra(Constants.LIVE_UID) : null;
|
||||
mUserHomeViewHolder = new UserHomeViewHolder2(mContext, (ViewGroup) findViewById(R.id.container), toUid, fromLiveRoom,fromLiveUid);
|
||||
mUserHomeViewHolder.addToParent();
|
||||
mUserHomeViewHolder.subscribeActivityLifeCycle();
|
||||
mUserHomeViewHolder.loadData();
|
||||
|
||||
MainHttpUtil.getBaseInfo(new CommonCallback<UserBean>() {
|
||||
@Override
|
||||
public void callback(UserBean bean) {
|
||||
UserBean userBean = CommonAppConfig.getInstance().getUserBean();
|
||||
userBean = bean;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
public void addImpress(String toUid) {
|
||||
Intent intent = new Intent(mContext, LiveAddImpressActivity.class);
|
||||
intent.putExtra(Constants.TO_UID, toUid);
|
||||
startActivityForResult(intent, 100);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
if (requestCode == 100 && resultCode == RESULT_OK) {
|
||||
if (mUserHomeViewHolder != null) {
|
||||
mUserHomeViewHolder.refreshImpress();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
if (mUserHomeViewHolder != null) {
|
||||
mUserHomeViewHolder.release();
|
||||
}
|
||||
super.onDestroy();
|
||||
}
|
||||
}
|
||||
@@ -9,10 +9,10 @@ import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.umeng.analytics.MobclickAgent;
|
||||
import com.yunbao.common.activity.CommunitySendActivity;
|
||||
import com.yunbao.common.event.FloatWarOrderEvent;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.main.R;
|
||||
import com.yunbao.main.activity.CommunitySendActivity;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
|
||||
|
||||
@@ -33,7 +33,6 @@ import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.CommonAppContext;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.HtmlConfig;
|
||||
import com.yunbao.common.activity.UserHomeActivity;
|
||||
import com.yunbao.common.activity.WebViewActivity;
|
||||
import com.yunbao.common.bean.GoogleBean;
|
||||
import com.yunbao.common.bean.UserBean;
|
||||
|
||||
@@ -6,7 +6,6 @@ import android.text.TextUtils;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
@@ -14,10 +13,7 @@ import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.bean.UserBean;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.utils.StringUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.live.activity.LiveContributeActivity;
|
||||
import com.yunbao.live.activity.LiveGuardListActivity;
|
||||
import com.yunbao.live.bean.ImpressBean;
|
||||
@@ -26,8 +22,7 @@ import com.yunbao.live.custom.MyTextView;
|
||||
import com.yunbao.live.views.AbsUserHomeViewHolder;
|
||||
import com.yunbao.main.R;
|
||||
import com.yunbao.main.activity.MyImpressActivity;
|
||||
import com.yunbao.main.activity.UserHomeActivity;
|
||||
import com.yunbao.main.bean.UserHomeConBean;
|
||||
import com.yunbao.main.activity.UserHomeActivityOld;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -128,8 +123,8 @@ public class UserHomeDetailViewHolder extends AbsUserHomeViewHolder implements V
|
||||
* 添加印象
|
||||
*/
|
||||
private void addImpress() {
|
||||
if (mContext instanceof UserHomeActivity) {
|
||||
((UserHomeActivity) mContext).addImpress(mToUid);
|
||||
if (mContext instanceof UserHomeActivityOld) {
|
||||
((UserHomeActivityOld) mContext).addImpress(mToUid);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@ import com.yunbao.live.views.LiveRecordViewHolder;
|
||||
import com.yunbao.main.R;
|
||||
import com.yunbao.main.activity.FansActivity;
|
||||
import com.yunbao.main.activity.FollowActivity;
|
||||
import com.yunbao.main.activity.UserHomeActivity;
|
||||
import com.yunbao.main.activity.UserHomeActivityOld;
|
||||
import com.yunbao.main.bean.UserHomeConBean;
|
||||
import com.yunbao.main.http.MainHttpConsts;
|
||||
import com.yunbao.main.http.MainHttpUtil;
|
||||
@@ -543,8 +543,8 @@ public class UserHomeViewHolder extends AbsLivePageViewHolder implements AppBarL
|
||||
}
|
||||
|
||||
private void back() {
|
||||
if (mContext instanceof UserHomeActivity) {
|
||||
((UserHomeActivity) mContext).onBackPressed();
|
||||
if (mContext instanceof UserHomeActivityOld) {
|
||||
((UserHomeActivityOld) mContext).onBackPressed();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -591,8 +591,8 @@ public class UserHomeViewHolder extends AbsLivePageViewHolder implements AppBarL
|
||||
* 添加印象
|
||||
*/
|
||||
private void addImpress() {
|
||||
if (mContext instanceof UserHomeActivity) {
|
||||
((UserHomeActivity) mContext).addImpress(mToUid);
|
||||
if (mContext instanceof UserHomeActivityOld) {
|
||||
((UserHomeActivityOld) mContext).addImpress(mToUid);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -24,16 +24,12 @@ import androidx.viewpager.widget.ViewPager;
|
||||
|
||||
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.yunbao.common.CommonAppConfig;
|
||||
import com.yunbao.common.Constants;
|
||||
import com.yunbao.common.activity.AbsActivity;
|
||||
import com.yunbao.common.adapter.ViewPagerAdapter;
|
||||
import com.yunbao.common.bean.ConfigBean;
|
||||
import com.yunbao.common.bean.LevelBean;
|
||||
import com.yunbao.common.bean.LiveBean;
|
||||
import com.yunbao.common.bean.NewLevelModel;
|
||||
import com.yunbao.common.event.FollowEvent;
|
||||
@@ -52,7 +48,6 @@ import com.yunbao.common.utils.DpUtil;
|
||||
import com.yunbao.common.utils.LiveRoomCheckLivePresenter;
|
||||
import com.yunbao.common.utils.MicStatusManager;
|
||||
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.live.activity.LiveReportActivity;
|
||||
@@ -68,7 +63,7 @@ import com.yunbao.main.R;
|
||||
import com.yunbao.main.activity.EditProfileActivity;
|
||||
import com.yunbao.main.activity.FansActivity;
|
||||
import com.yunbao.main.activity.FollowActivity;
|
||||
import com.yunbao.main.activity.UserHomeActivity;
|
||||
import com.yunbao.main.activity.UserHomeActivityOld;
|
||||
import com.yunbao.main.http.MainHttpConsts;
|
||||
import com.yunbao.main.http.MainHttpUtil;
|
||||
|
||||
@@ -86,8 +81,6 @@ import org.greenrobot.eventbus.EventBus;
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
@@ -635,8 +628,8 @@ public class UserHomeViewHolder2 extends AbsLivePageViewHolder implements LiveSh
|
||||
}
|
||||
|
||||
private void back() {
|
||||
if (mContext instanceof UserHomeActivity) {
|
||||
((UserHomeActivity) mContext).onBackPressed();
|
||||
if (mContext instanceof UserHomeActivityOld) {
|
||||
((UserHomeActivityOld) mContext).onBackPressed();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -801,7 +794,7 @@ public class UserHomeViewHolder2 extends AbsLivePageViewHolder implements LiveSh
|
||||
MicStatusManager.getInstance().showDownMicDialog(mContext);
|
||||
return;
|
||||
}
|
||||
((UserHomeActivity) mContext).onBackPressed();
|
||||
((UserHomeActivityOld) mContext).onBackPressed();
|
||||
EventBus.getDefault().post(new LiveRoomChangeEvent(liveBean, liveType, Integer.parseInt(liveTypeVal)));
|
||||
} else {
|
||||
RouteUtil.forwardLiveAudienceActivity(liveBean, liveType, Integer.parseInt(liveTypeVal), Integer.parseInt(liveSdk));
|
||||
|
||||
Reference in New Issue
Block a user