|
@ -53,6 +53,7 @@ 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;
|
56
|
57
|
import com.electric.chargingpile.util.ImageItem;
|
57
|
58
|
import com.electric.chargingpile.util.ImageUtils;
|
58
|
59
|
import com.electric.chargingpile.util.JsonUtils;
|
|
@ -68,6 +69,10 @@ import com.electric.chargingpile.view.HongBaoResultDialog;
|
68
|
69
|
import com.electric.chargingpile.view.REditText;
|
69
|
70
|
import com.electric.chargingpile.view.RatingBarView;
|
70
|
71
|
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;
|
71
|
76
|
import com.zhy.http.okhttp.OkHttpUtils;
|
72
|
77
|
import com.zhy.http.okhttp.callback.StringCallback;
|
73
|
78
|
import com.zhy.view.flowlayout.FlowLayout;
|
|
@ -103,7 +108,6 @@ import io.reactivex.Observer;
|
103
|
108
|
import io.reactivex.android.schedulers.AndroidSchedulers;
|
104
|
109
|
import io.reactivex.disposables.Disposable;
|
105
|
110
|
import io.reactivex.schedulers.Schedulers;
|
106
|
|
import me.iwf.photopicker.PhotoPicker;
|
107
|
111
|
import okhttp3.Call;
|
108
|
112
|
import pub.devrel.easypermissions.AfterPermissionGranted;
|
109
|
113
|
import pub.devrel.easypermissions.EasyPermissions;
|
|
@ -155,6 +159,7 @@ public class ChargingCommentActivity extends Activity implements View.OnClickLis
|
155
|
159
|
private String isShow = "0";
|
156
|
160
|
private HongBaoDialog hongBaoDialog;
|
157
|
161
|
private static final int RC_ALBUM_PERM = 123;
|
|
162
|
public static final int REQUEST_CODE_CHOOSE = 335;
|
158
|
163
|
//输入表情前EditText中的文本
|
159
|
164
|
// private String inputAfterText;
|
160
|
165
|
Handler handler = new Handler() {
|
|
@ -553,16 +558,15 @@ public class ChargingCommentActivity extends Activity implements View.OnClickLis
|
553
|
558
|
* 调用图库选择
|
554
|
559
|
*/
|
555
|
560
|
private void callGallery() {
|
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
|
|
|
|
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);
|
566
|
570
|
}
|
567
|
571
|
|
568
|
572
|
@Override
|
|
@ -572,7 +576,7 @@ public class ChargingCommentActivity extends Activity implements View.OnClickLis
|
572
|
576
|
if (data != null) {
|
573
|
577
|
if (requestCode == 1) {
|
574
|
578
|
//处理调用系统图库
|
575
|
|
} else if (requestCode == PhotoPicker.REQUEST_CODE) {
|
|
579
|
} else if (requestCode == REQUEST_CODE_CHOOSE) {
|
576
|
580
|
//异步方式插入图片
|
577
|
581
|
insertImagesSync(data);
|
578
|
582
|
}
|
|
@ -590,24 +594,18 @@ public class ChargingCommentActivity extends Activity implements View.OnClickLis
|
590
|
594
|
Observable.create(new ObservableOnSubscribe<String>() {
|
591
|
595
|
@Override
|
592
|
596
|
public void subscribe(ObservableEmitter<String> subscriber) throws Exception {
|
593
|
|
|
594
|
597
|
try {
|
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
|
|
}
|
|
598
|
List<Uri> uriList = Matisse.obtainResult(data);
|
|
599
|
for (Uri uri : uriList) {
|
|
600
|
Bitmap bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(uri));
|
|
601
|
File file = FileUtils.from(ChargingCommentActivity.this, uri);
|
|
602
|
|
|
603
|
bitmap = FileUtils.rotateIfRequired(file, bitmap);
|
|
604
|
bitmap = imageZoom(bitmap);
|
606
|
605
|
ImageItem takePhoto = new ImageItem();
|
607
|
606
|
takePhoto.setBitmap(bitmap);
|
608
|
|
takePhoto.setImagePath(imagePath);
|
609
|
607
|
Bimp.tempSelectBitmap.add(takePhoto);
|
610
|
|
subscriber.onNext(imagePath);
|
|
608
|
subscriber.onNext("");
|
611
|
609
|
}
|
612
|
610
|
subscriber.onComplete();
|
613
|
611
|
} catch (Exception e) {
|