|
package com.electric.chargingpile.activity;
import android.Manifest;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.Editable;
import android.text.Html;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.util.Base64;
import android.util.Log;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.AnimationUtils;
import android.view.inputmethod.InputMethodManager;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.PopupWindow;
import android.widget.RelativeLayout;
import android.widget.ScrollView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.blankj.utilcode.util.CacheUtils;
import com.blankj.utilcode.util.EmptyUtils;
import com.blankj.utilcode.util.LogUtils;
import com.bumptech.glide.Glide;
import com.electric.chargingpile.R;
import com.electric.chargingpile.adapter.GridImageAdapter;
import com.electric.chargingpile.application.MainApplication;
import com.electric.chargingpile.data.AuthSignBean;
import com.electric.chargingpile.data.ChargingShareBean;
import com.electric.chargingpile.data.ChatRecommendBean;
import com.electric.chargingpile.data.CommentsBean;
import com.electric.chargingpile.data.RObject;
import com.electric.chargingpile.data.TopicBean;
import com.electric.chargingpile.engine.GlideEngine;
import com.electric.chargingpile.util.BarColorUtil;
import com.electric.chargingpile.util.Bimp;
import com.electric.chargingpile.util.CommonParams;
import com.electric.chargingpile.util.DES3;
import com.electric.chargingpile.util.DateUtils;
import com.electric.chargingpile.util.DensityUtil;
import com.electric.chargingpile.util.JsonUtils;
import com.electric.chargingpile.util.LoadingDialog;
import com.electric.chargingpile.util.Md5Util;
import com.electric.chargingpile.util.Res;
import com.electric.chargingpile.util.ScreenUtils;
import com.electric.chargingpile.util.StatusConstants;
import com.electric.chargingpile.util.ToastUtil;
import com.electric.chargingpile.util.UploadUtil;
import com.electric.chargingpile.util.Util;
import com.electric.chargingpile.view.CommentHintDialog;
import com.electric.chargingpile.view.HongBaoDialog;
import com.electric.chargingpile.view.HongBaoResultDialog;
import com.electric.chargingpile.view.REditText;
import com.electric.chargingpile.view.RatingBarView;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.luck.picture.lib.PictureSelector;
import com.luck.picture.lib.animators.AnimationType;
import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.config.PictureMimeType;
import com.luck.picture.lib.entity.LocalMedia;
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet;
import com.upyun.library.common.SerialUploader;
import com.upyun.library.listener.UpCompleteListener;
import com.zhy.http.okhttp.OkHttpUtils;
import com.zhy.http.okhttp.callback.StringCallback;
import com.zhy.view.flowlayout.FlowLayout;
import com.zhy.view.flowlayout.TagAdapter;
import com.zhy.view.flowlayout.TagFlowLayout;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import cn.jpush.android.api.JPushInterface;
import cn.sharesdk.framework.Platform;
import cn.sharesdk.framework.PlatformActionListener;
import cn.sharesdk.framework.ShareSDK;
import cn.sharesdk.tencent.qq.QQ;
import cn.sharesdk.wechat.friends.Wechat;
import cn.sharesdk.wechat.moments.WechatMoments;
import okhttp3.Call;
import okhttp3.ResponseBody;
import pub.devrel.easypermissions.AfterPermissionGranted;
import pub.devrel.easypermissions.EasyPermissions;
import static android.text.Html.FROM_HTML_MODE_LEGACY;
public class ChargingCommentActivity extends AppCompatActivity implements View.OnClickListener, PlatformActionListener, EasyPermissions.PermissionCallbacks, GridImageAdapter.GridImgListener {
private static final String TAG = "ChargingCommentActivity";
private static final int PIC_NUM = 3;
private ProgressDialog insertDialog;
public static CommentsBean commentsBean;
public static int commentType = 1;
Bitmap bm = null;
private PopupWindow popupWindow;
private View popupWindowView;
String zhan_id, zhuang_id, order_id;
public static REditText et_pinglun;
private TextView tv_make_sure, tv_huodong, tv_zhan_name;
private String star_level = "";
private String show_txt = "";
private RelativeLayout rl_huodong, rl_comment;
private RatingBarView ratingBarView;
private ImageView iv_back,imgAd;
private LoadingDialog dialog;
private String[] stringArr;
private String[] mValss = new String[]{MainApplication.huodonglabel};
private TagFlowLayout mFlowLayout, mFlowLayoutTwo;
List<String> list;
private String select_s = "";
private String select_ss = "";
private TextView tv_grade, topicText, commentHint;
public static Bitmap bimap;
private GridImageAdapter mAdapter;
private RecyclerView noScrollgridview;
private ScrollView sv;
private static final int PHOTO_REQUEST_CAMERA = 1;
private static final int PHOTO_REQUEST_GALLERY = 2;
private static final int PHOTO_REQUEST_CUT = 3;
private static final int REQUEST_TOPIC_CODE = 102;
private InputMethodManager imm = null;
private String url = "1", icon = "", title = "", text = " ";
private String money = "";
private TextView tv_point;
private RelativeLayout rl_point;
private LinearLayout layoutHint;
private android.view.animation.Animation animation;
private ChargingShareBean chargingShareBean;
private String isShow = "0";
private HongBaoDialog hongBaoDialog;
private static final int RC_ALBUM_PERM = 123;
public static final int REQUEST_CODE_CHOOSE = 335;
public static final int REQUEST_VIDEO_CODE_CHOOSE = 337;
public static final int IMG_ERROR = 12;
public static final int IMGRESLUT = 2;
private final Gson mGson = new Gson();
//输入表情前EditText中的文本
// private String inputAfterText;
Handler handler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case IMGRESLUT:
ArrayList<String> fileList =
mGson.fromJson(msg.obj.toString(),new TypeToken<ArrayList<String>>() {
}.getType());
try {
addComments(fileList, "");
} catch (Exception e) {
e.printStackTrace();
}
break;
case IMG_ERROR:
ToastUtil.showToast(getApplicationContext(), "图片上传失败", Toast.LENGTH_SHORT);
break;
case StatusConstants.REQUEST_WHAT_SUCCESS:
break;
}
super.handleMessage(msg);
}
};
private int mInsterType = -1; //1 插入图片 2 插入视频 -1 未插入数据
private TopicBean mTopicbean;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_charging_comment);
BarColorUtil.initStatusBarColor(ChargingCommentActivity.this);
dialog = new LoadingDialog(this);
dialog.setCanceledOnTouchOutside(false);
Res.init(this);
if (null == imm) {
imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
}
initViews();
getDatas();
Init();
}
private void initViews() {
insertDialog = new ProgressDialog(this);
insertDialog.setMessage("正在插入图片...");
insertDialog.setCanceledOnTouchOutside(false);
rl_point = (RelativeLayout) findViewById(R.id.rl_point);
tv_point = (TextView) findViewById(R.id.tv_point);
animation = AnimationUtils.loadAnimation(ChargingCommentActivity.this, R.anim.nn);
tv_zhan_name = (TextView) findViewById(R.id.tv_zhan_name);
// iv_hongbao = (ImageView) findViewById(R.id.iv_hongbao);
// iv_hongbao.setOnClickListener(this);
layoutHint = (LinearLayout) findViewById(R.id.layoutHint);
findViewById(R.id.imgUpload).setOnClickListener(this);
findViewById(R.id.videoUpLoad).setOnClickListener(this);
commentHint = (TextView) findViewById(R.id.commentHint);
imgAd = (ImageView) findViewById(R.id.imgAd);
commentHint.setText(Html.fromHtml("30字以上+图片或15s视频有机会被<font color='#3EC34C'>评为优质评论获得充电优惠券</font>", FROM_HTML_MODE_LEGACY));
topicText = (TextView) findViewById(R.id.topicText);
topicText.setText(Html.fromHtml("<font color='#6AB650'>╋</font> 话题", FROM_HTML_MODE_LEGACY));
rl_comment = (RelativeLayout) findViewById(R.id.rl_comment);
sv = (ScrollView) findViewById(R.id.sv);
rl_huodong = (RelativeLayout) findViewById(R.id.rl_huodong);
tv_grade = (TextView) findViewById(R.id.tv_grade);
tv_huodong = (TextView) findViewById(R.id.tv_huodong);
if (MainApplication.level_one.equals("")) {
String levellabel = getResources().getString(R.string.app_level_label);
CacheUtils.getInstance().put("levellabel", levellabel);
MainApplication.level_one = JsonUtils.getKeyResult(levellabel, "1");
MainApplication.level_two = JsonUtils.getKeyResult(levellabel, "2");
MainApplication.level_three = JsonUtils.getKeyResult(levellabel, "3");
MainApplication.level_four = JsonUtils.getKeyResult(levellabel, "4");
MainApplication.level_five = JsonUtils.getKeyResult(levellabel, "5");
}
if (MainApplication.huodonglabel.equals("")) {
tv_huodong.setVisibility(View.GONE);
}
et_pinglun = (REditText) findViewById(R.id.et_pinglun);
et_pinglun.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
String s1 = et_pinglun.getText().toString();
s1= s1.replace(" " ,"");
if (s1.length() > 0){
tv_make_sure.setTextColor(getResources().getColor(R.color.lvse));
tv_make_sure.setEnabled(true);
}else{
tv_make_sure.setTextColor(getResources().getColor(R.color.huise));
tv_make_sure.setEnabled(false);
}
/*if (containsEmoji(s.toString())) {
Toast.makeText(MainApplication.context, "不支持输入表情", Toast.LENGTH_SHORT).show();
}
if (et_pinglun.getText().toString().equals("") && NewZhanDetailsActivity.replaceBlank(et_pinglun.getText().toString()).equals("")) {
if (!star_level.equals("") && !select_s.equals("")) {
tv_make_sure.setTextColor(getResources().getColor(R.color.lvse));
tv_make_sure.setEnabled(true);
} else {
tv_make_sure.setTextColor(getResources().getColor(R.color.huise));
tv_make_sure.setEnabled(false);
}
} else {
Log.e("edit===", et_pinglun.getText().toString());
if (et_pinglun.getText().toString().equals("#" + MainApplication.huodonglabel + "# ")) {
if (!star_level.equals("") && !select_s.equals("")) {
tv_make_sure.setTextColor(getResources().getColor(R.color.lvse));
tv_make_sure.setEnabled(true);
} else {
tv_make_sure.setTextColor(getResources().getColor(R.color.huise));
tv_make_sure.setEnabled(false);
}
} else {
tv_make_sure.setTextColor(getResources().getColor(R.color.lvse));
tv_make_sure.setEnabled(true);
}
}*/
if (!et_pinglun.getText().toString().contains("#" + MainApplication.huodonglabel + "#")) {
final LayoutInflater mInflater = LayoutInflater.from(getApplicationContext());
mFlowLayoutTwo.setAdapter(new TagAdapter<String>(mValss) {
@Override
public View getView(FlowLayout parent, int position, String s) {
TextView tv = (TextView) mInflater.inflate(R.layout.tv,
mFlowLayoutTwo, false);
tv.setText(s);
return tv;
}
});
}
}
});
tv_make_sure = (TextView) findViewById(R.id.tv_make_sure);
tv_make_sure.setOnClickListener(this);
tv_make_sure.setTextColor(getResources().getColor(R.color.huise));
tv_make_sure.setEnabled(false);
ratingBarView = (RatingBarView) findViewById(R.id.custom_ratingbar);
ratingBarView.setOnRatingListener(new RatingBarView.OnRatingListener() {
@Override
public void onRating(Object bindObject, int RatingScore) {
star_level = String.valueOf(RatingScore);
mFlowLayout.setVisibility(View.VISIBLE);
select_s = "";
switch (RatingScore) {
case 1:
if (!MainApplication.level_one.equals("")) {
getLevelData(MainApplication.level_one);
}
tv_grade.setText(RatingScore + ".0");
break;
case 2:
if (!MainApplication.level_two.equals("")) {
getLevelData(MainApplication.level_two);
}
tv_grade.setText(RatingScore + ".0");
break;
case 3:
if (!MainApplication.level_three.equals("")) {
getLevelData(MainApplication.level_three);
}
tv_grade.setText(RatingScore + ".0");
break;
case 4:
if (!MainApplication.level_four.equals("")) {
getLevelData(MainApplication.level_four);
}
tv_grade.setText(RatingScore + ".0");
break;
case 5:
if (!MainApplication.level_five.equals("")) {
getLevelData(MainApplication.level_five);
}
tv_grade.setText(RatingScore + ".0");
break;
}
}
});
iv_back = (ImageView) findViewById(R.id.iv_back);
iv_back.setOnClickListener(this);
final LayoutInflater mInflater = LayoutInflater.from(this);
mFlowLayout = (TagFlowLayout) findViewById(R.id.id_flowlayout);
mFlowLayout.setOnSelectListener(new TagFlowLayout.OnSelectListener() {
@Override
public void onSelected(Set<Integer> selectPosSet) {
}
});
mFlowLayoutTwo = (TagFlowLayout) findViewById(R.id.id_flowlayout_activity);
if (MainApplication.huodonglabel.equals("")) {
mFlowLayoutTwo.setVisibility(View.GONE);
rl_huodong.setVisibility(View.GONE);
} else {
mFlowLayoutTwo.setVisibility(View.VISIBLE);
rl_huodong.setVisibility(View.VISIBLE);
}
mFlowLayoutTwo.setAdapter(new TagAdapter<String>(mValss) {
@Override
public View getView(FlowLayout parent, int position, String s) {
TextView tv = (TextView) mInflater.inflate(R.layout.tv_comment1,
mFlowLayoutTwo, false);
tv.setText(s);
return tv;
}
});
mFlowLayoutTwo.setOnTagClickListener(new TagFlowLayout.OnTagClickListener() {
@Override
public boolean onTagClick(View view, int position, FlowLayout parent) {
if (select_ss.equals(MainApplication.huodonglabel)) {
select_ss = "";
String s = et_pinglun.getText().toString();
String del_s = s.replace("#" + MainApplication.huodonglabel + "# ", "");
et_pinglun.setText(del_s);
} else {
select_ss = MainApplication.huodonglabel;
setTopic();
}
// Toast.makeText(getApplicationContext(), mVals[position], Toast.LENGTH_SHORT).show();
return true;
}
});
mFlowLayoutTwo.setOnSelectListener(new TagFlowLayout.OnSelectListener() {
@Override
public void onSelected(Set<Integer> selectPosSet) {
// Toast.makeText(getApplicationContext(), "choose:" + selectPosSet.toString(), Toast.LENGTH_SHORT).show();
}
});
tv_zhan_name.setOnClickListener(v -> {
CommentHintDialog.newInstart().show(getSupportFragmentManager());
});
topicText.setOnClickListener(v -> {
//跳转至话题页
SelectTopicActivity.actionStart(this, REQUEST_TOPIC_CODE);
});
if (MainApplication.mAdComment!=null){
String icon = MainApplication.mAdComment.getIcon();
String adUrl = MainApplication.mAdComment.getUrl();
Glide.with(this).load(MainApplication.url + "/zhannew/uploadfile/" + icon)
.into(imgAd);
imgAd.setVisibility(View.VISIBLE);
imgAd.setOnClickListener(v->{
Intent adfloatIntent = new Intent(this, MyWebViewActivity.class);
adfloatIntent.putExtra("url", adUrl);
startActivity(adfloatIntent);
});
}
}
public void Init() {
noScrollgridview = (RecyclerView) findViewById(R.id.noScrollgridview);
noScrollgridview.setLayoutManager(new GridLayoutManager(this, 4));
int screenWidth = ScreenUtils.getScreenWidth(this);
int rvMargin = (DensityUtil.dip2px(this, 15) * 2);//rv左右间距
int itemMargin = (DensityUtil.dip2px(this, 15) * 3);//item之间的间隙
int itemWidth = (screenWidth - rvMargin - itemMargin) / 4;
mAdapter = new GridImageAdapter(this, 3, itemWidth, 0);
mAdapter.setListener(this);
noScrollgridview.setAdapter(mAdapter);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, final Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (data != null) {
if (requestCode == 1) {
//处理调用系统图库
} else if (requestCode == REQUEST_CODE_CHOOSE) {
setLayoutHintVisible(1);
//异步方式插入图片
// insertImagesSync(data);
Bimp.tempSelectMedia = PictureSelector.obtainMultipleResult(data);
mAdapter.setMaxCount(3);
mInsterType = 1;
mAdapter.setDatas(Bimp.tempSelectMedia);
} else if (requestCode == REQUEST_VIDEO_CODE_CHOOSE) {
//异步方式插入视频
setLayoutHintVisible(2);
mInsterType = 2;
mAdapter.setMaxCount(1);
Bimp.tempSelectMedia = PictureSelector.obtainMultipleResult(data);
mAdapter.setDatas(Bimp.tempSelectMedia);
}
}
} else if (requestCode == REQUEST_TOPIC_CODE && resultCode == SelectTopicActivity.REESULT_CODE) {
String name = data.getStringExtra("topicBean");
mTopicbean = mGson.fromJson(name, TopicBean.class);
topicText.setText(Html.fromHtml("<font color='#6AB650'>#</font> "+mTopicbean.getMeg(), FROM_HTML_MODE_LEGACY));
}
}
/**
* @param type 1表示插入图片成功 2表示插入视频成功 -1表示 插入数据为null
*/
public void setLayoutHintVisible(int type) {
if (type == 1) {
noScrollgridview.setVisibility(View.VISIBLE);
layoutHint.setVisibility(View.GONE);
} else if (type == 2) {
noScrollgridview.setVisibility(View.VISIBLE);
layoutHint.setVisibility(View.GONE);
} else if (type == -1) {
layoutHint.setVisibility(View.VISIBLE);
noScrollgridview.setVisibility(View.GONE);
}
}
public void shite(String s) throws Exception {
ArrayList<String> fileList=new ArrayList<>();
for (int i = 0; i < Bimp.tempSelectMedia.size(); i++) {
LocalMedia media = Bimp.tempSelectMedia.get(i);
String path = "";
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.Q)
path = media.getAndroidQToPath();
else {
path = media.getPath();
}
bm = imageZoom(BitmapFactory.decodeFile(path));
String file = bitmapToBase64(bm);
Map<String, String> par = new HashMap<String, String>();
par.put("file", file);
par.put("filename", "androidapp" + i + ".jpg");
ResponseBody body = OkHttpUtils.post().url(MainApplication.url + "/zhannew/basic/web/index.php/fileupload/upload")
.addParams("file", file)
.addParams("filename", "androidapp" + i + ".jpg")
.build().execute().body();
if (body!=null){
String u = body.string();
JSONObject jsonObject = new JSONObject(u);
String code = jsonObject.getString("code");
if (code.equals("200")) {
String fileUrl = jsonObject.getString("fileUrl");
fileList.add(fileUrl);
}else{
Message msg = new Message();
msg.what = IMG_ERROR;
handler.sendMessage(msg);
return;
}
}else{
Message msg = new Message();
msg.what = IMG_ERROR;
handler.sendMessage(msg);
return;
}
}
Message msg = new Message();
msg.obj = mGson.toJson(fileList);
msg.what = IMGRESLUT;
handler.sendMessage(msg);
}
private void initData() {
// LogUtils.e(MainApplication.url+"zhannew/basic/web/index.php/fenxiang/show??thirdId="+order_id);
OkHttpUtils.get()
.url(MainApplication.url + "/zhannew/basic/web/index.php/fenxiang/show?thirdId=" + order_id)
.build()
.execute(new StringCallback() {
@Override
public void onError(Call call, Exception e) {
}
@Override
public void onResponse(String response) {
Log.e("response===", response);
String rtnCode = JsonUtils.getKeyResult(response, "rtnCode");
if ("01".equals(rtnCode)) {
String data = JsonUtils.getKeyResult(response, "data");
String is_share = JsonUtils.getKeyResult(data, "is_share");
if (EmptyUtils.isNotEmpty(data) && is_share.equals("1")) {
chargingShareBean = JsonUtils.parseToObjectBean(data, ChargingShareBean.class);
isShow = "1";
}
}
}
});
}
private void setTopic() {
MyTopic topic = new MyTopic();
int id = (int) (Math.random() * 100);
topic.setId("No." + id);
topic.setObjectText(MainApplication.huodonglabel);// 必须设置
switch (2) {
case 0:
topic.setObjectRule("*");// 开发者设置,默认#
break;
case 1:
topic.setObjectRule("$");// 开发者设置,默认#
break;
case 2:
topic.setObjectRule("#");// 开发者设置,默认#
break;
}
et_pinglun.setObject(topic);
}
private void getLevelData(final String level_data) {
final LayoutInflater mInflater = LayoutInflater.from(this);
stringArr = level_data.split(",");
mFlowLayout.setAdapter(new TagAdapter<String>(stringArr) {
@Override
public View getView(FlowLayout parent, int position, String s) {
TextView tv = (TextView) mInflater.inflate(R.layout.tv_comment,
mFlowLayout, false);
tv.setText(s);
return tv;
}
});
mFlowLayout.setOnTagClickListener(new TagFlowLayout.OnTagClickListener() {
@Override
public boolean onTagClick(View view, int position, FlowLayout parent) {
if (select_s.contains(stringArr[position])) {
String s = stringArr[position] + ",";
select_s = select_s.replaceAll(s, "");
// Log.e("select===",select_s);
} else {
select_s += stringArr[position] + ",";
}
// if (!select_s.equals("")) {
// select_s = select_s.substring(0, select_s.length() - 1);
// }
Log.e("select===", select_s);
return true;
}
});
}
private void getDatas() {
zhan_id = getIntent().getStringExtra("zhan_id");
zhuang_id = getIntent().getStringExtra("zhuang_id");
order_id = getIntent().getStringExtra("order_id");
if (EmptyUtils.isNotEmpty(order_id)) {
initData();
}
}
private void addComments(ArrayList<String> fileUrlList, String thumUrl) throws Exception {
long appTime1 = System.currentTimeMillis() / 1000;
long updatetime = appTime1 - MainMapActivity.cha - 2;
String token = String.valueOf(updatetime);
String url = MainApplication.url + "/zhannew/basic/web/index.php/tpappcomments/add";
Map<String,String> map=new HashMap<>();
map.put("userid",MainApplication.userId);
map.put("zhanid",zhan_id);
map.put("order_id",order_id);
map.put("comment",URLEncoder.encode(et_pinglun.getText().toString()));
map.put("tel",MainApplication.userPhone);
map.put("token",URLEncoder.encode(DES3.encode(token)));
if (mTopicbean!=null){
map.put("theme",mTopicbean.getMeg());
}
if (commentType == 1){
if (fileUrlList.size()>0){
for (int i = 0; i < fileUrlList.size(); i++) {
String value = fileUrlList.get(i);
if (i == 0){
map.put("fileUrl",value);
}else{
map.put("file"+(i+1)+"Url", value);
}
}
if (mInsterType == 1 || mInsterType == -1){
map.put("type", ChatRecommendBean.TARGET_TYPE_IMAGE_TEXT + "");
map.put("thumUrl",fileUrlList.get(0));
}else if (mInsterType == 2) {
map.put("type", ChatRecommendBean.TARGET_TYPE_VIDEO + "");
}
}
}
OkHttpUtils.get()
.params(map)
.url(url)
.build()
.execute(new StringCallback() {
@Override
public void onError(Call call, Exception e) {
dialog.cancel();
Toast.makeText(ChargingCommentActivity.this, "网络错误:"+e.getMessage(), Toast.LENGTH_SHORT).show();
}
@Override
public void onResponse(String response) {
dialog.cancel();
String rtnCode = JsonUtils.getKeyResult(response, "rtnCode");
String rtnMsg = JsonUtils.getKeyResult(response, "rtnMsg");
if (rtnCode.equals("01")) {
final String data = JsonUtils.getKeyResult(response, "data");
String plusScore = JsonUtils.getKeyResult(response, "plusScore");
if (!plusScore.equals("")) {
tv_point.setText(plusScore);
rl_point.setVisibility(View.VISIBLE);
rl_point.startAnimation(animation);
new Handler().postDelayed(new Runnable() {
public void run() {
rl_point.setVisibility(View.GONE);
}
}, 1500);
}
submitPF(data);
}else{
Toast.makeText(ChargingCommentActivity.this, rtnMsg+"", Toast.LENGTH_SHORT).show();
}
}
});
}
private void submitPF(String data) {
long appTime1 = System.currentTimeMillis() / 1000;
long updatetime = appTime1 - MainMapActivity.cha - 3;
String token = String.valueOf(updatetime);
if (!star_level.equals("")) {
if (Integer.parseInt(star_level) > 5) {
star_level = String.valueOf(5);
}
}
if (!select_s.equals("")) {
select_s = select_s.substring(0, select_s.length() - 1);
}
String url = MainApplication.url + "/zhannew/basic/web/index.php/zhanstar/staradd" +
"?commit_id=" + data + "&order_id=" + order_id + "&star_level=" + star_level + "&supplier=星星充电&tag=" + select_s + "&timer=" + token + "&user_id=" + MainApplication.userId + "&ver=1.0&zhan_id=" + zhan_id + "&sign="
+ Md5Util.md5("commit_id=" + data + "&order_id=" + order_id + "&star_level=" + star_level + "&supplier=星星充电&tag=" + select_s + "&timer=" + token + "&user_id=" + MainApplication.userId + "&zhan_id=" + zhan_id + "&key=661f9efdcb4f46fe7ab5f2e78a705a2a");
Log.e("PF_url", url);
OkHttpUtils.get()
.url(url)
.build()
.execute(new StringCallback() {
@Override
public void onError(Call call, Exception e) {
}
@Override
public void onResponse(String response) {
Log.e("PF=====", response);
String code = JsonUtils.getKeyResult(response, "code");
if (code.equals("200")) {
sv.setVisibility(View.GONE);
rl_comment.setVisibility(View.VISIBLE);
tv_zhan_name.setText("评价成功");
tv_make_sure.setVisibility(View.GONE);
if ("1".equals(isShow)) {
hongBaoDialog = new HongBaoDialog(ChargingCommentActivity.this).builder();
hongBaoDialog.setCancelable(true).show(new View.OnClickListener() {
@Override
public void onClick(View v) {
showSimpleBottomSheetGrid(chargingShareBean);
}
});
} else {
}
}
}
});
}
private void showSimpleBottomSheetGrid(final ChargingShareBean chargingShareBean) {
final int TAG_SHARE_WECHAT_FRIEND = 0;
final int TAG_SHARE_WECHAT_MOMENT = 1;
final int TAG_SHARE_QQ = 2;
QMUIBottomSheet.BottomGridSheetBuilder builder = new QMUIBottomSheet.BottomGridSheetBuilder(ChargingCommentActivity.this);
QMUIBottomSheet build = builder.addItem(R.drawable.icon_share_wechat, "微信", TAG_SHARE_WECHAT_FRIEND, QMUIBottomSheet.BottomGridSheetBuilder.FIRST_LINE)
.addItem(R.drawable.icon_share_wechatquan, "朋友圈", TAG_SHARE_WECHAT_MOMENT, QMUIBottomSheet.BottomGridSheetBuilder.FIRST_LINE)
.addItem(R.drawable.icon_share_qq, "QQ", TAG_SHARE_QQ, QMUIBottomSheet.BottomGridSheetBuilder.FIRST_LINE)
.setOnSheetItemClickListener(new QMUIBottomSheet.BottomGridSheetBuilder.OnSheetItemClickListener() {
@Override
public void onClick(QMUIBottomSheet dialog, View itemView) {
dialog.dismiss();
int tag = (int) itemView.getTag();
switch (tag) {
case TAG_SHARE_WECHAT_FRIEND:
share(Wechat.NAME, chargingShareBean);
break;
case TAG_SHARE_WECHAT_MOMENT:
share(WechatMoments.NAME, chargingShareBean);
break;
case TAG_SHARE_QQ:
share(QQ.NAME, chargingShareBean);
break;
}
}
}).build();
build.show();
}
private void share(final String name, ChargingShareBean chargingShareBean) {
Platform.ShareParams paramsToShare = new Platform.ShareParams();
paramsToShare.setText(chargingShareBean.getText());
paramsToShare.setTitle(chargingShareBean.getTitle());
paramsToShare.setTitleUrl(chargingShareBean.getUrl());
paramsToShare.setUrl(chargingShareBean.getUrl());
paramsToShare.setImageUrl(MainApplication.url + "/zhannew/uploadfile/" + chargingShareBean.getIcon());
paramsToShare.setShareType(Platform.SHARE_WEBPAGE);
Platform platform = ShareSDK.getPlatform(name);
platform.setPlatformActionListener(new PlatformActionListener() {
@Override
public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) {
try {
if (hongBaoDialog != null) {
hongBaoDialog.dismiss();
hongBaoDialog = null;
}
} catch (Exception e) {
e.printStackTrace();
}
getShareIntegral();
// ToastUtil.showToast(getApplicationContext(),"分享成功",Toast.LENGTH_SHORT);
}
@Override
public void onError(Platform platform, int i, Throwable throwable) {
LogUtils.e(throwable.getMessage());
}
@Override
public void onCancel(Platform platform, int i) {
}
});
platform.share(paramsToShare);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.tv_make_sure:
if (MainApplication.isLogin()) {
try {
if (Bimp.tempSelectMedia.size() > 0 && mInsterType == 1) {
dialog.show();
new Thread(() -> {
try {
shite("");
} catch (Exception e) {
Message msg = new Message();
msg.what = IMG_ERROR;
handler.sendMessage(msg);
e.printStackTrace();
}
}).start();
} else if (Bimp.tempSelectMedia.size() > 0 && mInsterType == 2) {
//进行视频验证
LocalMedia media = Bimp.tempSelectMedia.get(0);
String path = "";
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.Q)
path = media.getAndroidQToPath();
else {
path = media.getPath();
}
getYouPaiData(path);
} else {
if (containsEmoji(et_pinglun.getText().toString())) {
ToastUtil.showToast(MainApplication.context, "不支持输入表情", Toast.LENGTH_SHORT);
} else {
dialog.show();
addComments(new ArrayList<>(), "");
}
}
} catch (Exception e) {
e.printStackTrace();
}
} else {
Toast.makeText(getApplication(), "请先登录", Toast.LENGTH_SHORT).show();
startActivity(new Intent(getApplication(), LoginActivity.class));
}
break;
case R.id.iv_back:
finish();
break;
case R.id.videoUpLoad:
addVideo();
break;
case R.id.imgUpload:
addImg();
break;
}
}
private void getYouPaiData(String filePath) {
dialog.show();
// String url = MainApplication.urlNew + "/get-sign-rest";
String url = MainApplication.d1evUrl + "/api/topic/get-sign-rest2cdz";
if (TextUtils.isEmpty(filePath)) {
ToastUtil.showToast(getApplicationContext(), "请重新选择视频", Toast.LENGTH_SHORT);
return;
}
String deviceId = JPushInterface.getUdid(MainApplication.context);
String fileName = DateUtils.getSimpleCurrentDate();
if (TextUtils.isEmpty(deviceId)) {
fileName += "_" + Util.getRandom(15);
} else {
fileName += "_" + deviceId;
}
if (TextUtils.isEmpty(filePath)) {
fileName = "";
} else {
String suffix = filePath.substring(filePath.lastIndexOf(".") + 1);
fileName += "." + suffix;
}
Map<String, String> map = new HashMap<>();
map.put("fileName", fileName);
try {
FileInputStream fileInputStream = new FileInputStream(new File(filePath));
map.put("contentLength", String.valueOf(fileInputStream.available()));
} catch (Exception e) {
e.printStackTrace();
}
map.put("targetType", ChatRecommendBean.TARGET_TYPE_VIDEO + "");
CommonParams.addCommonParams(map);
String finalFileName = fileName;
OkHttpUtils.get()
.params(map)
.url(url)
.build()
.connTimeOut(6000)
.readTimeOut(6000)
.execute(new StringCallback() {
@Override
public void onError(Call call, Exception e) {
ToastUtil.showToast(getApplicationContext(), "发布失败,请重试", Toast.LENGTH_SHORT);
dialog.dismiss();
}
@Override
public void onResponse(String response) {
Log.e("hyc--", response);
String code = JsonUtils.getKeyResult(response, "code");
String desc = JsonUtils.getKeyResult(response, "desc");
if ("1000".equals(code)) {
String data = JsonUtils.getKeyResult(response, "data");
AuthSignBean signBeans = (AuthSignBean) JsonUtils.parseToObjectBean(data, AuthSignBean.class);
if (null != signBeans) {
String sign = signBeans.sign;
String policy = signBeans.policy;
formUpload(filePath, sign, policy, finalFileName);
} else {
ToastUtil.showToast(getApplicationContext(), desc, Toast.LENGTH_SHORT);
}
} else {
ToastUtil.showToast(getApplicationContext(), desc, Toast.LENGTH_SHORT);
dialog.dismiss();
}
}
});
}
/**
* 表单上传
*
* @param SAMPLE_PIC_FILE
* @param sign
* @param policyServer
*/
private void formUpload(String SAMPLE_PIC_FILE, String sign, String policyServer, String fileName) {
SerialUploader serialUploader = new SerialUploader();
serialUploader.setCheckMD5(false);
File temp = new File(SAMPLE_PIC_FILE);
serialUploader.setOnProgressListener((bytesWrite, contentLength) -> {
});
String decoder = new String(Base64.decode((policyServer), Base64.DEFAULT));
JSONObject jsonObject = null;
try {
jsonObject = new JSONObject(decoder);
} catch (JSONException e) {
e.printStackTrace();
}
String uri = jsonObject.optString("URI");
String date = jsonObject.optString("Date");
String operator = jsonObject.optString("Operator");
String saveKey = jsonObject.optString("save-key");
serialUploader.upload(
temp, uri, date, "UPYUN " + operator + ":" + sign, null, new UpCompleteListener() {
@Override
public void onComplete(boolean isSuccess, String result) {
if (isSuccess) {
try {
ArrayList<String> list = new ArrayList<>();
list.add(saveKey);
addComments(list, saveKey);
} catch (Exception e) {
e.printStackTrace();
}
} else {
ToastUtil.showToast(getApplicationContext(), "发布失败,请重试", Toast.LENGTH_SHORT);
dialog.dismiss();
}
}
});
}
private void addImg() {
PictureSelector.create(this)
.openGallery(PictureMimeType.ofImage())
.maxSelectNum(PIC_NUM)
.selectionMode(PictureConfig.MULTIPLE)
.selectionData(Bimp.tempSelectMedia)//是否传入已选图片
.isCompress(true)//是否压缩
.isPreviewEggs(true)//预览图片时是否增强左右滑动图片体验
.isGif(true)//是否显示gif
.isAndroidQTransform(true)
.imageEngine(GlideEngine.createGlideEngine())
.isWeChatStyle(false)// 是否开启微信图片选择风格
.isUseCustomCamera(false)// 是否使用自定义相机
.isPageStrategy(true)// 是否开启分页策略 & 每页多少条;默认开启
.setPictureStyle(Util.getWhiteStyle(this))// 动态自定义相册主题
.setRecyclerAnimationMode(AnimationType.SLIDE_IN_BOTTOM_ANIMATION)// 列表动画效果
.isMaxSelectEnabledMask(true)// 选择数到了最大阀值列表是否启用蒙层效果
.imageSpanCount(4)// 每行显示个数
.isReturnEmpty(false)// 未选择数据时点击按钮是否可以返回
.isAutomaticTitleRecyclerTop(true)//图片列表超过一屏连续点击顶部标题栏快速回滚至顶部
.forResult(REQUEST_CODE_CHOOSE);
}
private void addVideo() {
PictureSelector.create(this)
.openGallery(PictureMimeType.ofVideo())
.selectionMode(PictureConfig.SINGLE)
.isCompress(true)//是否压缩
.isPreviewEggs(true)//预览图片时是否增强左右滑动图片体验
.isAndroidQTransform(true)
.imageEngine(GlideEngine.createGlideEngine())
.isWeChatStyle(false)// 是否开启微信图片选择风格
.isUseCustomCamera(false)// 是否使用自定义相机
.isPageStrategy(true)// 是否开启分页策略 & 每页多少条;默认开启
.setPictureStyle(Util.getWhiteStyle(this))// 动态自定义相册主题
.setRecyclerAnimationMode(AnimationType.SLIDE_IN_BOTTOM_ANIMATION)// 列表动画效果
.isMaxSelectEnabledMask(true)// 选择数到了最大阀值列表是否启用蒙层效果
.imageSpanCount(4)// 每行显示个数
.isReturnEmpty(false)// 未选择数据时点击按钮是否可以返回
.isAutomaticTitleRecyclerTop(true)//图片列表超过一屏连续点击顶部标题栏快速回滚至顶部
.videoMaxSecond(16) // 查询多少秒以内的视频
.videoMinSecond(2) // 查询多少秒以内的视频
.recordVideoSecond(15)//录制视频秒数 默认60s
.isPreviewVideo(true)//是否预览视频
.isSingleDirectReturn(true)//PictureConfig.SINGLE模式下是否直接返回
.filterMaxFileSize( 100 * 1024 )//查询指定大小内的图片、视频、音频大小,单位 KB
.forResult(REQUEST_VIDEO_CODE_CHOOSE);
}
public boolean isEmoji(String string) {
Pattern p = Pattern.compile("[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[\u2600-\u27ff]",
Pattern.UNICODE_CASE | Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(string);
return m.find();
}
@Override
public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) {
}
@Override
public void onError(Platform platform, int i, Throwable throwable) {
}
@Override
public void onCancel(Platform platform, int i) {
}
@Override
public void onPermissionsGranted(int requestCode, List<String> perms) {
}
@Override
public void onPermissionsDenied(int requestCode, List<String> perms) {
}
@AfterPermissionGranted(RC_ALBUM_PERM)
public void permissionTask() {
if (isPermissionOK()) {
addImg();
// Have permission, do the thing!
// Toast.makeText(this, "TODO: Camera things", Toast.LENGTH_LONG).show();
// ifTimeout();
} else {
// Ask for one permission
EasyPermissions.requestPermissions(
this, "充电桩想要获取您的图片读取权限,是否允许?",
RC_ALBUM_PERM,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE);
}
}
private boolean isPermissionOK() {
return EasyPermissions.hasPermissions(this,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE
);
}
public class MyTopic extends RObject {
private String id;
// 其他属性...
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
@Override
protected void onResume() {
super.onResume();
mAdapter.notifyDataSetChanged();
if (mInsterType == 1 && mAdapter.getItemCount() == 1) {
setLayoutHintVisible(-1);
mInsterType = -1;
} else if (mInsterType == 2 && mAdapter.getItemCount() == 0) {
setLayoutHintVisible(-1);
mInsterType = -1;
}
}
protected void onRestart() {
super.onRestart();
}
@Override
protected void onDestroy() {
super.onDestroy();
Bimp.tempSelectBitmap.clear();
Bimp.max = 0;
Bimp.tempSelectMedia.clear();
}
private String bitmapToBase64(Bitmap bitmap) {
String result = null;
ByteArrayOutputStream baos = null;
try {
if (bitmap != null) {
baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
baos.flush();
baos.close();
byte[] bitmapBytes = baos.toByteArray();
result = Base64.encodeToString(bitmapBytes, Base64.DEFAULT);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (baos != null) {
baos.flush();
baos.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return result;
}
private Bitmap imageZoom(Bitmap bm) {
// 图片允许最大空间 单位:KB
double maxSize = 200.00;
// 将bitmap放至数组中,意在bitmap的大小(与实际读取的原文件要大)
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] b = baos.toByteArray();
// 将字节换成KB
double mid = b.length / 1024;
// 判断bitmap占用空间是否大于允许最大空间 如果大于则压缩 小于则不压缩
if (mid > maxSize) {
// 获取bitmap大小 是允许最大大小的多少倍
double i = mid / maxSize;
// 开始压缩 此处用到平方根 将宽带和高度压缩掉对应的平方根倍
// (1.保持刻度和高度和原bitmap比率一致,压缩后也达到了最大大小占用空间的大小)
bm = zoomImage(bm, bm.getWidth() / Math.sqrt(i), bm.getHeight()
/ Math.sqrt(i));
}
return bm;
}
public Bitmap zoomImage(Bitmap bgimage, double newWidth, double newHeight) {
// 获取这个图片的宽和高
float width = bgimage.getWidth();
float height = bgimage.getHeight();
// 创建操作图片用的matrix对象
Matrix matrix = new Matrix();
// 计算宽高缩放率
float scaleWidth = ((float) newWidth) / width;
float scaleHeight = ((float) newHeight) / height;
// 缩放图片动作
matrix.postScale(scaleWidth, scaleHeight);
Bitmap bitmap = Bitmap.createBitmap(bgimage, 0, 0, (int) width,
(int) height, matrix, true);
// iv_2.setImageBitmap(bitmap);
// tv_2.setText(bitmap.getRowBytes() * bitmap.getHeight() + "");
return bitmap;
}
private void showHongBaoView() {
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
popupWindowView = inflater.inflate(R.layout.view_share_hongbao, null);
popupWindow = new PopupWindow(popupWindowView,
ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT,
true);
popupWindow.setBackgroundDrawable(new BitmapDrawable());
// 设置PopupWindow的弹出和消失效果
popupWindow.setAnimationStyle(R.style.popupAnimation);
TextView tv_share_weixin = (TextView) popupWindowView.findViewById(R.id.tv_share_wechat);
tv_share_weixin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Platform.ShareParams wechat = new Platform.ShareParams();
wechat.setTitle(title);
wechat.setText(text);
wechat.setImageUrl(MainApplication.url + "/zhannew/uploadfile/" + icon);
wechat.setUrl(url);
wechat.setShareType(Platform.SHARE_WEBPAGE);
Platform weixin = ShareSDK.getPlatform(Wechat.NAME);
weixin.setPlatformActionListener(ChargingCommentActivity.this);
weixin.share(wechat);
popupWindow.dismiss();
}
});
TextView tv_share_friend = (TextView) popupWindowView.findViewById(R.id.tv_share_friend);
tv_share_friend.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Platform.ShareParams wechatMoments = new Platform.ShareParams();
wechatMoments.setTitle(title);
// wechatMoments.setText("分享文本");
wechatMoments.setUrl(url);
wechatMoments.setImageUrl(MainApplication.url + "/zhannew/uploadfile/" + icon);
// wechatMoments.setMusicUrl("http://www.zhlongyin.com/UploadFiles/xrxz/2011/5/201105051307513619.mp3");
wechatMoments.setShareType(Platform.SHARE_WEBPAGE);
Platform weixin1 = ShareSDK.getPlatform(WechatMoments.NAME);
weixin1.setPlatformActionListener(ChargingCommentActivity.this);
weixin1.share(wechatMoments);
popupWindow.dismiss();
}
});
TextView tv_cancle = (TextView) popupWindowView.findViewById(R.id.tv_cancle);
tv_cancle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// iv_hongbao.setVisibility(View.VISIBLE);
popupWindow.dismiss();
}
});
popupWindow.showAtLocation(tv_share_weixin, Gravity.CENTER, 0, 0);
}
/**
* 检测是否有emoji表情
*
* @param source
* @return
*/
public static boolean containsEmoji(String source) {
int len = source.length();
for (int i = 0; i < len; i++) {
char codePoint = source.charAt(i);
if (!isEmojiCharacter(codePoint)) { //如果不能匹配,则该字符是Emoji表情
return true;
}
}
return false;
}
/**
* 判断是否是Emoji
*
* @param codePoint 比较的单个字符
* @return
*/
private static boolean isEmojiCharacter(char codePoint) {
return (codePoint == 0x0) || (codePoint == 0x9) || (codePoint == 0xA) ||
(codePoint == 0xD) || ((codePoint >= 0x20) && (codePoint <= 0xD7FF)) ||
((codePoint >= 0xE000) && (codePoint <= 0xFFFD)) || ((codePoint >= 0x10000)
&& (codePoint <= 0x10FFFF));
}
private void getShareIntegral() {
String url = MainApplication.url + "/zhannew/basic/web/index.php/member/insert-task?userid=" + MainApplication.userId + "&order_id=" + order_id;
OkHttpUtils.get().url(url).build().execute(new StringCallback() {
@Override
public void onError(Call call, Exception e) {
e.printStackTrace();
}
@Override
public void onResponse(String response) {
LogUtils.e(response);
String rtnCode = JsonUtils.getKeyResult(response, "rtnCode");
String red_money = JsonUtils.getKeyResult(response, "red_money");
int redMoney = Integer.valueOf(red_money);
if (redMoney > 0) {
new HongBaoResultDialog(ChargingCommentActivity.this).builder().setCancelable(true).show(redMoney);
}
if ("01".equals(rtnCode)) { // 成功
String plusScore = JsonUtils.getKeyResult(response, "plusScore");
if (!plusScore.equals("")) {
tv_point.setText(plusScore);
rl_point.setVisibility(View.VISIBLE);
rl_point.startAnimation(animation);
new Handler().postDelayed(new Runnable() {
public void run() {
rl_point.setVisibility(View.GONE);
}
}, 1500);
}
} else {
ToastUtil.showToast(getApplicationContext(), "分享成功", Toast.LENGTH_SHORT);
}
}
});
}
@Override
public void add() {
if (mInsterType == 1) {
addImg();
} else if (mInsterType == 2) {
addVideo();
}
}
@Override
public void remove(int position) {
if (mAdapter.getItemCount() == 1) {
setLayoutHintVisible(-1);
mInsterType = -1;
}
}
@Override
public void open(int position, LocalMedia mLocalMedia) {
if (mInsterType == 1) {
ImageDisplayActivity.actionStart(this, position);
} else if (mInsterType == 2) {
PictureSelector.create(ChargingCommentActivity.this)
.themeStyle(com.luck.picture.lib.R.style.picture_default_style)
.setPictureStyle(Util.getWhiteStyle(ChargingCommentActivity.this))// 动态自定义相册主题
.externalPictureVideo(TextUtils.isEmpty(mLocalMedia.getAndroidQToPath()) ? mLocalMedia.getPath() : mLocalMedia.getAndroidQToPath());
}
}
}
|