|
@ -53,7 +53,6 @@ import com.electric.chargingpile.data.RObject;
|
53
|
53
|
import com.electric.chargingpile.util.BarColorUtil;
|
54
|
54
|
import com.electric.chargingpile.util.Bimp;
|
55
|
55
|
import com.electric.chargingpile.util.DES3;
|
56
|
|
import com.electric.chargingpile.util.FileUtils;
|
57
|
56
|
import com.electric.chargingpile.util.ImageItem;
|
58
|
57
|
import com.electric.chargingpile.util.ImageUtils;
|
59
|
58
|
import com.electric.chargingpile.util.JsonUtils;
|
|
@ -69,10 +68,6 @@ import com.electric.chargingpile.view.HongBaoResultDialog;
|
69
|
68
|
import com.electric.chargingpile.view.REditText;
|
70
|
69
|
import com.electric.chargingpile.view.RatingBarView;
|
71
|
70
|
import com.qmuiteam.qmui.widget.dialog.QMUIBottomSheet;
|
72
|
|
import com.zhihu.matisse.Matisse;
|
73
|
|
import com.zhihu.matisse.MimeType;
|
74
|
|
import com.zhihu.matisse.engine.impl.GlideEngine;
|
75
|
|
import com.zhihu.matisse.internal.entity.CaptureStrategy;
|
76
|
71
|
import com.zhy.http.okhttp.OkHttpUtils;
|
77
|
72
|
import com.zhy.http.okhttp.callback.StringCallback;
|
78
|
73
|
import com.zhy.view.flowlayout.FlowLayout;
|
|
@ -108,6 +103,7 @@ import io.reactivex.Observer;
|
108
|
103
|
import io.reactivex.android.schedulers.AndroidSchedulers;
|
109
|
104
|
import io.reactivex.disposables.Disposable;
|
110
|
105
|
import io.reactivex.schedulers.Schedulers;
|
|
106
|
import me.iwf.photopicker.PhotoPicker;
|
111
|
107
|
import okhttp3.Call;
|
112
|
108
|
import pub.devrel.easypermissions.AfterPermissionGranted;
|
113
|
109
|
import pub.devrel.easypermissions.EasyPermissions;
|
|
@ -159,7 +155,6 @@ public class ChargingCommentActivity extends Activity implements View.OnClickLis
|
159
|
155
|
private String isShow = "0";
|
160
|
156
|
private HongBaoDialog hongBaoDialog;
|
161
|
157
|
private static final int RC_ALBUM_PERM = 123;
|
162
|
|
public static final int REQUEST_CODE_CHOOSE = 335;
|
163
|
158
|
//输入表情前EditText中的文本
|
164
|
159
|
// private String inputAfterText;
|
165
|
160
|
Handler handler = new Handler() {
|
|
@ -558,15 +553,16 @@ public class ChargingCommentActivity extends Activity implements View.OnClickLis
|
558
|
553
|
* 调用图库选择
|
559
|
554
|
*/
|
560
|
555
|
private void callGallery() {
|
561
|
|
Matisse.from(ChargingCommentActivity.this)
|
562
|
|
.choose(MimeType.of(MimeType.JPEG, MimeType.PNG, MimeType.GIF))
|
563
|
|
.showSingleMediaType(true)
|
564
|
|
.countable(true)
|
565
|
|
.maxSelectable(PIC_NUM - Bimp.tempSelectBitmap.size())
|
566
|
|
.capture(true)
|
567
|
|
.captureStrategy(new CaptureStrategy(true, "com.electric.chargingpile.provider"))
|
568
|
|
.imageEngine(new GlideEngine())
|
569
|
|
.forResult(REQUEST_CODE_CHOOSE);
|
|
556
|
Log.e(TAG, "callGallery: " + (Bimp.max - Bimp.tempSelectBitmap.size()));
|
|
557
|
//调用第三方图库选择
|
|
558
|
PhotoPicker.builder()
|
|
559
|
.setPhotoCount(PIC_NUM - Bimp.tempSelectBitmap.size())//可选择图片数量
|
|
560
|
.setShowCamera(true)//是否显示拍照按钮
|
|
561
|
.setShowGif(true)//是否显示动态图
|
|
562
|
.setPreviewEnabled(true)//是否可以预览
|
|
563
|
.start(this, PhotoPicker.REQUEST_CODE);
|
|
564
|
|
|
565
|
|
570
|
566
|
}
|
571
|
567
|
|
572
|
568
|
@Override
|
|
@ -576,7 +572,7 @@ public class ChargingCommentActivity extends Activity implements View.OnClickLis
|
576
|
572
|
if (data != null) {
|
577
|
573
|
if (requestCode == 1) {
|
578
|
574
|
//处理调用系统图库
|
579
|
|
} else if (requestCode == REQUEST_CODE_CHOOSE) {
|
|
575
|
} else if (requestCode == PhotoPicker.REQUEST_CODE) {
|
580
|
576
|
//异步方式插入图片
|
581
|
577
|
insertImagesSync(data);
|
582
|
578
|
}
|
|
@ -596,17 +592,22 @@ public class ChargingCommentActivity extends Activity implements View.OnClickLis
|
596
|
592
|
public void subscribe(ObservableEmitter<String> subscriber) throws Exception {
|
597
|
593
|
|
598
|
594
|
try {
|
599
|
|
List<Uri> uriList = Matisse.obtainResult(data);
|
600
|
|
for (Uri uri : uriList) {
|
601
|
|
Bitmap bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(uri));
|
602
|
|
File file = FileUtils.from(ChargingCommentActivity.this, uri);
|
603
|
|
|
604
|
|
bitmap = FileUtils.rotateIfRequired(file, bitmap);
|
605
|
|
bitmap = imageZoom(bitmap);
|
|
595
|
ArrayList<String> photos = data.getStringArrayListExtra(PhotoPicker.KEY_SELECTED_PHOTOS);
|
|
596
|
//可以同时插入多张图片
|
|
597
|
for (String imagePath : photos) {
|
|
598
|
|
|
599
|
Log.e(TAG, "call: imagePath " + imagePath);
|
|
600
|
Bitmap bitmap = BitmapFactory.decodeFile(imagePath);//压缩图片
|
|
601
|
if (ImageUtils.readPictureDegree(imagePath) != 0) {
|
|
602
|
bitmap = imageZoom(ImageUtils.toturn(bitmap));
|
|
603
|
} else {
|
|
604
|
bitmap = imageZoom(bitmap);
|
|
605
|
}
|
606
|
606
|
ImageItem takePhoto = new ImageItem();
|
607
|
607
|
takePhoto.setBitmap(bitmap);
|
|
608
|
takePhoto.setImagePath(imagePath);
|
608
|
609
|
Bimp.tempSelectBitmap.add(takePhoto);
|
609
|
|
subscriber.onNext("");
|
|
610
|
subscriber.onNext(imagePath);
|
610
|
611
|
}
|
611
|
612
|
subscriber.onComplete();
|
612
|
613
|
} catch (Exception e) {
|
|
@ -1045,21 +1046,23 @@ public class ChargingCommentActivity extends Activity implements View.OnClickLis
|
1045
|
1046
|
public void permissionTask() {
|
1046
|
1047
|
if (isPermissionOK()) {
|
1047
|
1048
|
callGallery();
|
|
1049
|
// Have permission, do the thing!
|
|
1050
|
// Toast.makeText(this, "TODO: Camera things", Toast.LENGTH_LONG).show();
|
|
1051
|
// ifTimeout();
|
1048
|
1052
|
} else {
|
|
1053
|
// Ask for one permission
|
1049
|
1054
|
EasyPermissions.requestPermissions(
|
1050
|
1055
|
this, "充电桩想要获取您的图片读取权限,是否允许?",
|
1051
|
1056
|
RC_ALBUM_PERM,
|
1052
|
1057
|
Manifest.permission.WRITE_EXTERNAL_STORAGE,
|
1053
|
|
Manifest.permission.READ_EXTERNAL_STORAGE,
|
1054
|
|
Manifest.permission.CAMERA);
|
|
1058
|
Manifest.permission.READ_EXTERNAL_STORAGE);
|
1055
|
1059
|
}
|
1056
|
1060
|
}
|
1057
|
1061
|
|
1058
|
1062
|
private boolean isPermissionOK() {
|
1059
|
1063
|
return EasyPermissions.hasPermissions(this,
|
1060
|
1064
|
Manifest.permission.WRITE_EXTERNAL_STORAGE,
|
1061
|
|
Manifest.permission.READ_EXTERNAL_STORAGE,
|
1062
|
|
Manifest.permission.CAMERA
|
|
1065
|
Manifest.permission.READ_EXTERNAL_STORAGE
|
1063
|
1066
|
);
|
1064
|
1067
|
}
|
1065
|
1068
|
|
|
@ -1447,6 +1450,7 @@ public class ChargingCommentActivity extends Activity implements View.OnClickLis
|
1447
|
1450
|
&& (codePoint <= 0x10FFFF));
|
1448
|
1451
|
}
|
1449
|
1452
|
|
|
1453
|
|
1450
|
1454
|
private void getShareIntegral() {
|
1451
|
1455
|
String url = MainApplication.url + "/zhannew/basic/web/index.php/member/insert-task?userid=" + MainApplication.userId + "&order_id=" + order_id;
|
1452
|
1456
|
OkHttpUtils.get().url(url).build().execute(new StringCallback() {
|
|
@ -1460,11 +1464,9 @@ public class ChargingCommentActivity extends Activity implements View.OnClickLis
|
1460
|
1464
|
LogUtils.e(response);
|
1461
|
1465
|
String rtnCode = JsonUtils.getKeyResult(response, "rtnCode");
|
1462
|
1466
|
String red_money = JsonUtils.getKeyResult(response, "red_money");
|
1463
|
|
try {
|
1464
|
|
int redMoney = Integer.parseInt(red_money);
|
1465
|
|
new HongBaoResultDialog(ChargingCommentActivity.this).builder().setCancelable(true).show(red_money);
|
1466
|
|
} catch (Exception e) {
|
1467
|
|
e.printStackTrace();
|
|
1467
|
int redMoney = Integer.valueOf(red_money);
|
|
1468
|
if (redMoney > 0) {
|
|
1469
|
new HongBaoResultDialog(ChargingCommentActivity.this).builder().setCancelable(true).show(redMoney);
|
1468
|
1470
|
}
|
1469
|
1471
|
|
1470
|
1472
|
if ("01".equals(rtnCode)) { // 成功
|