Bladeren bron

feat: 图片上传替换

master
huting 2 jaren geleden
bovenliggende
commit
471a647f77

+ 0
- 4
app/src/main/java/com/huntersun/vkyes/etcopencard/project/api/bean/IFCode.java Bestand weergeven

@@ -1,10 +1,6 @@
package com.huntersun.vkyes.etcopencard.project.api.bean;

import android.util.Log;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**

+ 1
- 1
app/src/main/java/com/huntersun/vkyes/etcopencard/project/dialog/IDTypeDialog.java Bestand weergeven

@@ -12,7 +12,7 @@ import java.util.List;

/**
* Date :2023-03-25
* Description:证件类型dialog
* Description:证件类型、车辆用户类型 dialog
*/
public class IDTypeDialog {


+ 2
- 0
app/src/main/java/com/huntersun/vkyes/etcopencard/project/tool/OCRDistinguish.java Bestand weergeven

@@ -12,9 +12,11 @@ import com.huntersun.vkyes.etcopencard.project.api.bean.IFCode;
import com.huntersun.vkyes.etcopencard.project.api.bean.ResultBean;
import com.huntersun.vkyes.etcopencard.project.api.bean.SendTheVerificationCodeBean;
import com.huntersun.vkyes.etcopencard.project.ui.adapter.DataTypeAdaptor;
import com.huntersun.vkyes.etcopencard.project.utils.FileUtils;
import com.huntersun.vkyes.etcopencard.src.ui.activity.ImageSelectActivity;

import java.io.File;
import java.util.HashMap;
import java.util.Map;

import top.zibin.luban.Luban;

+ 83
- 6
app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/activity/IdentityInformationUploadActivity.java Bestand weergeven

@@ -34,6 +34,8 @@ import com.huntersun.vkyes.etcopencard.project.tool.MyShared;
import com.huntersun.vkyes.etcopencard.project.tool.QRCode;
import com.huntersun.vkyes.etcopencard.project.tool.ReaderUtils;
import com.huntersun.vkyes.etcopencard.project.tool.Utils;
import com.huntersun.vkyes.etcopencard.project.utils.FileUtils;
import com.huntersun.vkyes.etcopencard.project.utils.FunHelper;
import com.huntersun.vkyes.etcopencard.src.aop.Permissions;
import com.huntersun.vkyes.etcopencard.src.aop.SingleClick;
import com.huntersun.vkyes.etcopencard.src.app.AppActivity;
@@ -48,6 +50,7 @@ import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.time.format.DateTimeFormatter;
import java.util.HashMap;

import retrofit2.Response;
import top.zibin.luban.Luban;
@@ -304,7 +307,80 @@ public class IdentityInformationUploadActivity extends AppActivity {
@SuppressLint({"NewApi", "LogNotTimber"})
@SingleClick
public void onImage(View view) {
ImageSelectActivity.start(this, data -> {
if (view == binding.image5){//委托书
FileUtils.getInstance(this).uploadGeneralImage(true, null, new FileUtils.OnUploadCallback() {
@Override
public void onSuccess(ResultBean.ProductInfo bizContent) {
String url = bizContent.data.getUrl();
if (!FunHelper.isEmpty(url)){
GlideApp.with(getActivity()).load(url).into((ImageView) view);
imgUrl5 = url;
}
}
});
}else{//身份证件照
String str = "";
if (view == binding.image1 || view == binding.image3) {
str = "1";
} else if (view == binding.image2 || view == binding.image4) {
str = "2";
}
HashMap<String,String> params = new HashMap<>();
params.put("source","1");
params.put("agencyId","52010106004");
params.put("fileName",System.currentTimeMillis() + ".png");
params.put("imageType",str);//1正,2反
String finalStr = str;
FileUtils.getInstance(this).uploadOcrIDCard(true, params, new FileUtils.OnOcrUploadCallback() {
@Override
public void onSuccess(ResultBean.BizContent bizContent) {
if("1".equals(finalStr)){
identifyIdCard = bizContent.getIdno();
}
hideDialog();

if (view == binding.image1) {
setText(binding.text1, bizContent.getName());
setText(binding.text3, bizContent.getIdno());
setText(binding.text4, bizContent.getAddress());
if (!TextUtils.isEmpty(bizContent.getImageUrl())) {
imgUrl1 = bizContent.getImageUrl();
GlideApp.with(getActivity()).load(bizContent.getImageUrl()).into(binding.image1);
}
} else if (view == binding.image3) {
setText(binding.text6, bizContent.getName());
setText(binding.text7, bizContent.getIdno());
if (!TextUtils.isEmpty(bizContent.getImageUrl())) {
imgUrl3 = bizContent.getImageUrl();
GlideApp.with(getActivity()).load(bizContent.getImageUrl()).into(binding.image3);
}
} else if (view == binding.image2) {
//过期时间
if (bizContent.getEnddate().length() == 8) {
setText(binding.text5, bizContent.getEnddate().substring(0, 4) + "-" + bizContent.getEnddate().substring(4, 6)
+ "-" + bizContent.getEnddate().substring(6, 8));
}
if (!TextUtils.isEmpty(bizContent.getImageUrl())) {
imgUrl2 = bizContent.getImageUrl();
GlideApp.with(getActivity()).load(bizContent.getImageUrl()).into(binding.image2);
}
} else if (view == binding.image4) {
//过期时间
if (bizContent.getEnddate().length() == 8) {
setText(binding.text8, bizContent.getEnddate().substring(0, 4) + "-" + bizContent.getEnddate().substring(4, 6)
+ "-" + bizContent.getEnddate().substring(6, 8));
}
if (!TextUtils.isEmpty(bizContent.getImageUrl())) {
imgUrl4 = bizContent.getImageUrl();
GlideApp.with(getActivity()).load(bizContent.getImageUrl()).into(binding.image4);
}
}
}
});
}

//旧版本
/*ImageSelectActivity.start(this, data -> {
file = new File(data.get(0));
if (view != binding.image5) {
//cropImageFile(new File(data.get(0)), (ImageView) view); //裁剪功能
@@ -361,7 +437,7 @@ public class IdentityInformationUploadActivity extends AppActivity {
}
});
}
});
});*/
}

@Override
@@ -376,7 +452,7 @@ public class IdentityInformationUploadActivity extends AppActivity {
* 裁剪图片
*/
private void cropImageFile(File sourceFile, ImageView imageView) {
ImageCropActivity.start(this, sourceFile, 158, 100, new ImageCropActivity.OnCropListener() {
/* ImageCropActivity.start(this, sourceFile, 158, 100, new ImageCropActivity.OnCropListener() {
@SuppressLint({"LogNotTimber", "NewApi"})
@Override
public void onSucceed(Uri fileUri, String fileName) {
@@ -405,12 +481,13 @@ public class IdentityInformationUploadActivity extends AppActivity {
// 没有的话就不裁剪,直接上传原图片
// 但是这种情况极其少见,可以忽略不计
}
});
});*/
}

//旧版本
@SuppressLint({"LogNotTimber", "NewApi"})
public void OCRspot(String base64, ImageView imageView, String mAvatarUrl, File outputFile) {
String str = "";
/* String str = "";
if (imageView == binding.image1 || imageView == binding.image3) {
str = "1";
} else if (imageView == binding.image2 || imageView == binding.image4) {
@@ -491,7 +568,7 @@ public class IdentityInformationUploadActivity extends AppActivity {
}, 500);
}
}
});
});*/
}

public void setText(TextView text, String str) {

+ 79
- 33
app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/activity/VehicleInformationActivity.java Bestand weergeven

@@ -2,9 +2,6 @@ package com.huntersun.vkyes.etcopencard.project.ui.activity;

import android.annotation.SuppressLint;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.Gravity;
@@ -12,10 +9,7 @@ import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

import com.alibaba.fastjson.JSON;
import com.blankj.utilcode.util.LogUtils;
import com.google.gson.Gson;
import com.hjq.http.model.FileContentResolver;
import com.huntersun.vkyes.etcopencard.R;
import com.huntersun.vkyes.etcopencard.databinding.ActivityVehicleInformationBinding;
import com.huntersun.vkyes.etcopencard.project.api.Api;
@@ -28,33 +22,18 @@ import com.huntersun.vkyes.etcopencard.project.api.bean.EnumBean;
import com.huntersun.vkyes.etcopencard.project.api.bean.IFCode;
import com.huntersun.vkyes.etcopencard.project.api.bean.ResultBean;
import com.huntersun.vkyes.etcopencard.project.api.bean.SendTheVerificationCodeBean;
import com.huntersun.vkyes.etcopencard.project.dialog.ConfirmDialog;
import com.huntersun.vkyes.etcopencard.project.dialog.OrderCardListDialog;
import com.huntersun.vkyes.etcopencard.project.dialog.RechargeConfirmDialog;
import com.huntersun.vkyes.etcopencard.project.tool.FileSizeUtil;
import com.huntersun.vkyes.etcopencard.project.tool.MyShared;
import com.huntersun.vkyes.etcopencard.project.tool.QRCode;
import com.huntersun.vkyes.etcopencard.project.tool.ReaderUtils;
import com.huntersun.vkyes.etcopencard.project.ui.activity.after.CommonDealSuccessActivity;
import com.huntersun.vkyes.etcopencard.project.ui.activity.after.TopEntrapmentActivity;
import com.huntersun.vkyes.etcopencard.project.ui.activity.after.TransferOwnershipStep3Activity;
import com.huntersun.vkyes.etcopencard.project.utils.Constants;
import com.huntersun.vkyes.etcopencard.project.utils.FileUtils;
import com.huntersun.vkyes.etcopencard.project.utils.FunHelper;
import com.huntersun.vkyes.etcopencard.src.aop.SingleClick;
import com.huntersun.vkyes.etcopencard.src.app.AppActivity;
import com.huntersun.vkyes.etcopencard.src.http.glide.GlideApp;
import com.huntersun.vkyes.etcopencard.src.ui.activity.ImageCropActivity;
import com.huntersun.vkyes.etcopencard.src.ui.activity.ImageSelectActivity;
import com.huntersun.vkyes.etcopencard.src.ui.dialog.DateDialog;
import com.huntersun.vkyes.etcopencard.src.ui.dialog.MenuDialog;
import com.huntersun.vkyes.etcopencard.src.ui.dialog.SelectDialog;
import com.jeremyliao.liveeventbus.LiveEventBus;

import java.io.File;
import java.net.URI;
import java.net.URISyntaxException;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
@@ -62,8 +41,6 @@ import java.util.List;
import java.util.Map;

import retrofit2.Response;
import top.zibin.luban.Luban;
import top.zibin.luban.OnCompressListener;

/**
* 车辆信息上传
@@ -430,21 +407,89 @@ public class VehicleInformationActivity extends AppActivity {
@SuppressLint({"NewApi", "LogNotTimber"})
@SingleClick
public void onImage(View view) {
/*if (view != binding.image3){//车头照
if (view == binding.image3){//车头照
FileUtils.getInstance(this).uploadGeneralImage(true, null, new FileUtils.OnUploadCallback() {
@Override
public void onSuccess(ResultBean.ProductInfo bizContent) {
String url = bizContent.data.getUrl();
if (!TextUtils.isEmpty(url)) {
imgUrl3 = url;
GlideApp.with(getActivity()).load(url).into((ImageView) view);
}
}
});
}else{//行驶证识别
HashMap<String,String> params = new HashMap<>();
params.put("filename","CSMSN_OCR_VEHICLE_REQ_");
params.put("source","1");
params.put("agencyId","52010106004");
params.put("imageType", view == binding.image1 ? "1" : "2");//1正,2反
params.put("fileName", System.currentTimeMillis() + ".png");
FileUtils.uploadOcrDrivingLicense(this, true, params, new FileUtils.OnOcrUploadCallback() {
FileUtils.getInstance(this).uploadOcrDrivingLicense(true, params, new FileUtils.OnOcrUploadCallback() {
@Override
public void onSuccess(ResultBean.BizContent bizContent) {
public void onSuccess(ResultBean.BizContent bizContent1) {
if(!TextUtils.isEmpty(bizContent1.getPlate_a())){
inputVehiclePlate = bizContent1.getPlate_a();
}

//行驶证主页
if (view == binding.image1) {
if (!TextUtils.isEmpty(bizContent1.getPlate_a())) {
binding.text1.setText(bizContent1.getPlate_a()); //车牌号
}
if (!TextUtils.isEmpty(bizContent1.getVehicle())) {
binding.text2.setText(bizContent1.getVehicle()); //车辆类型
}
if (!TextUtils.isEmpty(bizContent1.getMan())) {
binding.text3.setText(bizContent1.getMan()); //所有人
}
if (!TextUtils.isEmpty(bizContent1.getModel())) {
binding.text8.setText(bizContent1.getModel()); //品牌型号
}
if (!TextUtils.isEmpty(bizContent1.getVin())) {
binding.text9.setText(bizContent1.getVin()); //车辆识别代码
}
if (!TextUtils.isEmpty(bizContent1.getEngine())) {
binding.text10.setText(bizContent1.getEngine()); //发动机号码
}
if (!TextUtils.isEmpty(bizContent1.getRegister())) {
binding.text14.setText(bizContent1.getRegister()); //发证日期
}
imgUrl1 = bizContent1.getImageUrl();
GlideApp.with(getActivity()).load(imgUrl1).into(binding.image1);
}

//行驶证副页面
if (view == binding.image2) {
if (!TextUtils.isEmpty(bizContent1.getApc())) {
binding.text4.setText(bizContent1.getApc().replaceAll("人", "")); //核定载人数
}
if (!TextUtils.isEmpty(bizContent1.getGross())) {
binding.text5.setText(bizContent1.getGross().replaceAll("kg", "")); //总质量
}
if (!TextUtils.isEmpty(bizContent1.getUnladen())) {
binding.text6.setText(bizContent1.getUnladen().replaceAll("kg", "")); //整备质量
}
if (!TextUtils.isEmpty(bizContent1.getOverall())) {
binding.text7.setText(bizContent1.getOverall().replaceAll("mm", "")); //尺寸
}
//大车专属
if (!TextUtils.isEmpty(bizContent1.getAlc())) {
binding.text11.setText(bizContent1.getAlc().replaceAll("kg", "")); //核定载质量
}

if (!TextUtils.isEmpty(bizContent1.getTowing())) {
binding.text12.setText(bizContent1.getTowing().replaceAll("kg", "")); //准牵引总质量
}
imgUrl2 = bizContent1.getImageUrl();
GlideApp.with(getActivity()).load(imgUrl2).into(binding.image2);
}
}
});
}*/
ImageSelectActivity.start(this, data -> {
}

//旧版本
/*ImageSelectActivity.start(this, data -> {
file = new File(data.get(0));
if (view != binding.image3) {
//cropImageFile(new File(data.get(0)), (ImageView) view); 裁剪图片
@@ -501,14 +546,14 @@ public class VehicleInformationActivity extends AppActivity {
}
});
}
});
});*/
}

/**
* 裁剪图片
*/
private void cropImageFile(File sourceFile, ImageView imageView) {
ImageCropActivity.start(this, sourceFile, 158, 100, new ImageCropActivity.OnCropListener() {
/*ImageCropActivity.start(this, sourceFile, 158, 100, new ImageCropActivity.OnCropListener() {

@SuppressLint({"LogNotTimber", "NewApi"})
@Override
@@ -539,12 +584,13 @@ public class VehicleInformationActivity extends AppActivity {
// 没有的话就不裁剪,直接上传原图片
// 但是这种情况极其少见,可以忽略不计
}
});
});*/
}

//旧版本
@SuppressLint({"LogNotTimber", "NewApi"})
public void OCRspot(String base64, ImageView imageView, String mAvatarUrl, File outputFile) {
FatherBean<SendTheVerificationCodeBean> fatherBean = new FatherBean<>();
/*FatherBean<SendTheVerificationCodeBean> fatherBean = new FatherBean<>();
fatherBean.bizContent = new SendTheVerificationCodeBean();
fatherBean.setFilename("CSMSN_OCR_VEHICLE_REQ_");
fatherBean.bizContent.setSource("1");
@@ -637,7 +683,7 @@ public class VehicleInformationActivity extends AppActivity {
}, 500);
}
}
});
});*/
}

}

+ 2
- 2
app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/activity/after/CheckRunningWaterStep3Activity.java Bestand weergeven

@@ -195,9 +195,9 @@ public class CheckRunningWaterStep3Activity extends AppActivity implements OnRef
if (!FunHelper.isEmpty(bizContent.ossFilePath)){
String downLoadUrl = MyRetrofit.URL_DOWNLOAD_FILE + bizContent.ossFilePath;
String fileName = "通行流水_" + FunHelper.getText(binding.tvStartTime) + "_" + FunHelper.getText(binding.tvEndTime) + "_" + bizContent.originalFileName;
FileUtils.downLoadFile(CheckRunningWaterStep3Activity.this,downLoadUrl,fileName);
FileUtils.getInstance(CheckRunningWaterStep3Activity.this).downLoadFile(downLoadUrl,fileName);

LogUtils.i(">>>>>下载链接",downLoadUrl);
//LogUtils.i(">>>>>下载链接",downLoadUrl);
}else{
toast("下载链接不存在");
}

+ 1
- 1
app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/activity/after/EditCarInfoStep2Activity.java Bestand weergeven

@@ -190,7 +190,7 @@ public class EditCarInfoStep2Activity extends AppActivity {
params.put("agencyId","52010106004");
params.put("imageType",String.valueOf(type));//1正,2反
params.put("fileName",System.currentTimeMillis() + ".png");//1正,2反
FileUtils.uploadOcrIDCard(this, false, params, new FileUtils.OnOcrUploadCallback() {
FileUtils.getInstance(this).uploadOcrIDCard(false, params, new FileUtils.OnOcrUploadCallback() {
@Override
public void onSuccess(ResultBean.BizContent bizContent) {
GlideApp.with(getActivity()).load(bizContent.getImageUrl()).into(imageView);

+ 7
- 7
app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/activity/after/EditUserInfoStep2Activity.java Bestand weergeven

@@ -272,14 +272,14 @@ public class EditUserInfoStep2Activity extends AppActivity {
curUserType = userTypeValue;
}
});
} else if (view == binding.ivUser1) {//用户正面照
} else if (view == binding.ivUser1) {//个人用户-用户正面照
onOCRImg(1, binding.ivUser1);
} else if (view == binding.ivUser2) {//用户反面照
} else if (view == binding.ivUser2) {//个人用户-用户反面照
onOCRImg(2, binding.ivUser2);
} else if (view == binding.ivUnit1) {//营业执照
} else if (view == binding.ivUnit1) {//单位用户-营业执照
//onImage(3, binding.ivUnit1);
onOCRImg(3, binding.ivUnit1);
} else if (view == binding.ivUnit2) {//用户证件照
} else if (view == binding.ivUnit2) {//单位用户-用户证件照
onOCRImg(4, binding.ivUnit2);
}
}
@@ -345,12 +345,12 @@ public class EditUserInfoStep2Activity extends AppActivity {
}

/**
* 图片上传
* 图片上传(暂时不用-接口没有上传营业执照,而是用户正面照)
*
* @param type 3-营业执照
*/
public void onImage(int type, ImageView imageView) {
FileUtils.uploadGeneralImage(this, false, null, new FileUtils.OnUploadCallback() {
FileUtils.getInstance(this).uploadGeneralImage( false, null, new FileUtils.OnUploadCallback() {
@Override
public void onSuccess(ResultBean.ProductInfo bizContent) {
if (!TextUtils.isEmpty(bizContent.data.getUrl())) {
@@ -382,7 +382,7 @@ public class EditUserInfoStep2Activity extends AppActivity {
}else{
params.put("imageType",String.valueOf(type));//1正,2反
}
FileUtils.uploadOcrIDCard(this, false, params, new FileUtils.OnOcrUploadCallback() {
FileUtils.getInstance(this).uploadOcrIDCard(false, params, new FileUtils.OnOcrUploadCallback() {
@Override
public void onSuccess(ResultBean.BizContent bizContent1) {
GlideApp.with(getActivity()).load(bizContent1.getImageUrl()).into(imageView);

+ 1
- 1
app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/activity/after/LogoutEtcStep2Activity.java Bestand weergeven

@@ -413,7 +413,7 @@ public class LogoutEtcStep2Activity extends AppActivity {
* 选择上传剪裁图片
*/
public void onImage() {
FileUtils.uploadGeneralImage(this, true, null, new FileUtils.OnUploadCallback() {
FileUtils.getInstance(this).uploadGeneralImage( true, null, new FileUtils.OnUploadCallback() {
@Override
public void onSuccess(ResultBean.ProductInfo bizContent) {
String url = bizContent.data.getUrl();

+ 1
- 1
app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/activity/obu/ObuActivationUploadActivity.java Bestand weergeven

@@ -144,7 +144,7 @@ public class ObuActivationUploadActivity extends AppActivity {
* @param type 1-车头照 2-车身45° 3-安装照
*/
public void onImage(ImageView imageView,int type) {
FileUtils.uploadGeneralImage(ObuActivationUploadActivity.this, false,null,new FileUtils.OnUploadCallback() {
FileUtils.getInstance(this).uploadGeneralImage( false,null,new FileUtils.OnUploadCallback() {
@Override
public void onSuccess(ResultBean.ProductInfo productInfo) {
if (!TextUtils.isEmpty(productInfo.data.getUrl())) {

+ 74
- 46
app/src/main/java/com/huntersun/vkyes/etcopencard/project/utils/FileUtils.java Bestand weergeven

@@ -28,6 +28,7 @@ import com.huntersun.vkyes.etcopencard.project.api.bean.IFCode;
import com.huntersun.vkyes.etcopencard.project.api.bean.ResultBean;
import com.huntersun.vkyes.etcopencard.project.dialog.ConfirmDialog;
import com.huntersun.vkyes.etcopencard.project.tool.FileSizeUtil;
import com.huntersun.vkyes.etcopencard.project.tool.OCRDistinguish;
import com.huntersun.vkyes.etcopencard.project.tool.QRCode;
import com.huntersun.vkyes.etcopencard.src.aop.CheckNet;
import com.huntersun.vkyes.etcopencard.src.aop.Permissions;
@@ -51,6 +52,16 @@ import top.zibin.luban.OnCompressListener;
* Description:文件上传、下载 工具类
*/
public class FileUtils {
private final BaseActivity mContext;

public FileUtils(BaseActivity mContext) {
this.mContext = mContext;
}

public static FileUtils getInstance(BaseActivity mContext) {
return new FileUtils(mContext);
}


//************************************图片上传***************************************//

@@ -63,10 +74,12 @@ public class FileUtils {
* @param callback 回调
*/
@CheckNet
public static void uploadGeneralImage(BaseActivity mContext, boolean isCompress, Map<String, String> params, OnUploadCallback callback) {
if (params == null) {params = new HashMap<>(); }
public void uploadGeneralImage(boolean isCompress, Map<String, String> params, OnUploadCallback callback) {
if (params == null) {
params = new HashMap<>();
}
Map<String, String> finalParams = params;
selectImgAndCompress(mContext, isCompress, new OnCompressCallback() {
selectImgAndCompress(isCompress, new OnCompressCallback() {
@Override
public void onCompressResult(String fileBase64, File file) {
BaseDialog mDialog = new WaitDialog.Builder(mContext).setCancelable(false).setMessage("图片文件上传中...").create();
@@ -106,10 +119,12 @@ public class FileUtils {
* @param callback 回调
*/
@CheckNet
public static void uploadOcrIDCard(BaseActivity mContext,boolean isCompress,Map<String, String> params, OnOcrUploadCallback callback){
if (params == null) {params = new HashMap<>(); }
public void uploadOcrIDCard( boolean isCompress, Map<String, String> params, OnOcrUploadCallback callback) {
if (params == null) {
params = new HashMap<>();
}
Map<String, String> finalParams = params;
selectImgAndCompress(mContext, isCompress, new OnCompressCallback() {
selectImgAndCompress(isCompress, new OnCompressCallback() {
@Override
public void onCompressResult(String fileBase64, File file) {
BaseDialog mDialog = new WaitDialog.Builder(mContext).setCancelable(false).setMessage("证件信息识别中...").create();
@@ -119,7 +134,7 @@ public class FileUtils {
@Override
public void onSuccess(ResultBean resultBean, ResultBean.BizContent bizContent) {
if (mDialog != null) mDialog.dismiss();
if (callback != null){
if (callback != null) {
callback.onSuccess(bizContent);
}
if (file != null && file.exists()) {
@@ -148,10 +163,12 @@ public class FileUtils {
* @param callback 回调
*/
@CheckNet
public static void uploadOcrDrivingLicense(BaseActivity mContext,boolean isCompress,Map<String, String> params, OnOcrUploadCallback callback){
if (params == null) {params = new HashMap<>(); }
public void uploadOcrDrivingLicense(boolean isCompress, Map<String, String> params, OnOcrUploadCallback callback) {
if (params == null) {
params = new HashMap<>();
}
Map<String, String> finalParams = params;
selectImgAndCompress(mContext, isCompress, new OnCompressCallback() {
selectImgAndCompress(isCompress, new OnCompressCallback() {
@Override
public void onCompressResult(String fileBase64, File file) {
BaseDialog mDialog = new WaitDialog.Builder(mContext).setCancelable(false).setMessage("证件信息识别中...").create();
@@ -162,7 +179,7 @@ public class FileUtils {
@Override
public void onSuccess(ResultBean resultBean, ResultBean.BizContent bizContent) {
if (mDialog != null) mDialog.dismiss();
if (callback != null){
if (callback != null) {
callback.onSuccess(bizContent);
}
if (file != null && file.exists()) {
@@ -191,10 +208,12 @@ public class FileUtils {
* @param callback
*/
@CheckNet
public static void uploadOcrBusinessLicense(BaseActivity mContext,boolean isCompress,Map<String, String> params, OnOcrUploadCallback callback){
if (params == null) {params = new HashMap<>(); }
public void uploadOcrBusinessLicense(boolean isCompress, Map<String, String> params, OnOcrUploadCallback callback) {
if (params == null) {
params = new HashMap<>();
}
Map<String, String> finalParams = params;
selectImgAndCompress(mContext, isCompress, new OnCompressCallback() {
selectImgAndCompress(isCompress, new OnCompressCallback() {
@Override
public void onCompressResult(String fileBase64, File file) {
BaseDialog mDialog = new WaitDialog.Builder(mContext).setCancelable(false).setMessage("证件信息识别中...").create();
@@ -206,7 +225,7 @@ public class FileUtils {
@Override
public void onSuccess(ResultBean resultBean, ResultBean.BizContent bizContent) {
if (mDialog != null) mDialog.dismiss();
if (callback != null){
if (callback != null) {
callback.onSuccess(bizContent);
}
if (file != null && file.exists()) {
@@ -234,10 +253,10 @@ public class FileUtils {
* @param callback
*/
@CheckNet
private static void selectImgAndCompress(BaseActivity mContext, boolean comPress,OnCompressCallback callback) {
private void selectImgAndCompress(boolean comPress, OnCompressCallback callback) {
ImageSelectActivity.start(mContext, data -> {
File file = new File(data.get(0));
if (!comPress){//不压缩
if (!comPress) {//不压缩
if (callback != null) {
mContext.postDelayed(() -> callback.onCompressResult(QRCode.imageToBase64(file.getPath()), file), 200);
}
@@ -270,20 +289,21 @@ public class FileUtils {
}

/*
* 上传回调
* 上传普通图片回调
*/
public interface OnUploadCallback {
void onSuccess(ResultBean.ProductInfo bizContent);
}

/*
* OCR识别成功
* OCR识别成功回调
*/
public interface OnOcrUploadCallback {
void onSuccess(ResultBean.BizContent bizContent);
}

/*
* 压缩回调
* 图片选取、压缩回调
*/
public interface OnCompressCallback {
void onCompressResult(String fileBase64, File file);
@@ -302,11 +322,13 @@ public class FileUtils {
@RequiresApi(api = Build.VERSION_CODES.M)
@CheckNet
@Permissions({Permission.READ_EXTERNAL_STORAGE, Permission.WRITE_EXTERNAL_STORAGE})
public static void downLoadFile(AppActivity activity, String downLoadUrl, String fileName) {
activity.showDialog("文件下载中...");
public void downLoadFile(String downLoadUrl, String fileName) {
BaseDialog mDialog = new WaitDialog.Builder(mContext).setCancelable(false).setMessage("文件下载中...").create();
mDialog.show();

// 创建要下载的文件对象
File file = new File(activity.getContext().getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), fileName);
EasyHttp.download(activity).method(HttpMethod.GET).file(file).url(downLoadUrl).listener(new OnDownloadListener() {
File file = new File(mContext.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), fileName);
EasyHttp.download(mContext).method(HttpMethod.GET).file(file).url(downLoadUrl).listener(new OnDownloadListener() {
@Override
public void onStart(File file) {
// 标记为下载中
@@ -323,11 +345,11 @@ public class FileUtils {
@SuppressLint("StringFormatInvalid")
@Override
public void onComplete(File file) {
activity.hideDialog();
if (mDialog != null) mDialog.dismiss();
LogUtils.e("下载完成>>>>>>", file.getAbsolutePath());

mDownloadComplete = true;
new ConfirmDialog.Builder(activity).setMsg("文件所在路径:" + file.getAbsolutePath(), "下载完成", "知道了", "", R.mipmap.icon_finish_order, 0, true)
new ConfirmDialog.Builder(mContext).setMsg("文件所在路径:" + file.getAbsolutePath(), "下载完成", "知道了", "", R.mipmap.icon_finish_order, 0, true)
.onClick(new ConfirmDialog.Result() {
@Override
public void confirm() {
@@ -339,14 +361,16 @@ public class FileUtils {
@SuppressWarnings("ResultOfMethodCallIgnored")
@Override
public void onError(File file, Exception e) {
activity.hideDialog();
if (mDialog != null) mDialog.dismiss();
// 删除下载的文件
file.delete();
if (file != null && file.exists()){
file.delete();
}
}

@Override
public void onEnd(File file) {
activity.hideDialog();
if (mDialog != null) mDialog.dismiss();
// 标记当前不是下载中
mDownloading = false;
}
@@ -359,14 +383,16 @@ public class FileUtils {
@RequiresApi(api = Build.VERSION_CODES.M)
@CheckNet
@Permissions({Permission.READ_EXTERNAL_STORAGE, Permission.WRITE_EXTERNAL_STORAGE})
public static void downLoadFileWithNotice(AppActivity activity, String downLoadUrl) {
activity.showDialog("文件下载中...");
NotificationManager notificationManager = activity.getSystemService(NotificationManager.class);
int notificationId = activity.getContext().getApplicationInfo().uid;
public void downLoadFileWithNotice(String downLoadUrl) {
BaseDialog mDialog = new WaitDialog.Builder(mContext).setCancelable(false).setMessage("文件下载中...").create();
mDialog.show();

NotificationManager notificationManager = mContext.getSystemService(NotificationManager.class);
int notificationId = mContext.getApplicationInfo().uid;
String channelId = "";
// 适配 Android 8.0 通知渠道新特性
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
NotificationChannel channel = new NotificationChannel(activity.getString(R.string.update_notification_channel_id), activity.getString(R.string.update_notification_channel_name), NotificationManager.IMPORTANCE_LOW);
NotificationChannel channel = new NotificationChannel(mContext.getString(R.string.update_notification_channel_id), mContext.getString(R.string.update_notification_channel_name), NotificationManager.IMPORTANCE_LOW);
channel.enableLights(false);
channel.enableVibration(false);
channel.setVibrationPattern(new long[]{0});
@@ -374,19 +400,19 @@ public class FileUtils {
notificationManager.createNotificationChannel(channel);
channelId = channel.getId();
}
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(activity.getContext(), channelId)
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(mContext.getContext(), channelId)
.setWhen(System.currentTimeMillis())
.setContentTitle(activity.getString(R.string.app_name))
.setContentTitle(mContext.getString(R.string.app_name))
.setSmallIcon(R.mipmap.launcher_ic)
.setLargeIcon(BitmapFactory.decodeResource(activity.getResources(), R.mipmap.icon_entrapment))
.setLargeIcon(BitmapFactory.decodeResource(mContext.getResources(), R.mipmap.icon_entrapment))
.setDefaults(NotificationCompat.FLAG_ONLY_ALERT_ONCE)
.setVibrate(new long[]{0})
.setSound(null)
.setPriority(NotificationCompat.PRIORITY_DEFAULT);

// 创建要下载的文件对象
File file = new File(activity.getContext().getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), "通行流水记录" + ".excel");
EasyHttp.download(activity).method(HttpMethod.GET).file(file).url(downLoadUrl).listener(new OnDownloadListener() {
File file = new File(mContext.getContext().getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), "通行流水记录" + ".excel");
EasyHttp.download(mContext).method(HttpMethod.GET).file(file).url(downLoadUrl).listener(new OnDownloadListener() {
@Override
public void onStart(File file) {
// 标记为下载中
@@ -399,7 +425,7 @@ public class FileUtils {
public void onProgress(File file, int progress) {
// 更新下载通知
notificationManager.notify(notificationId, notificationBuilder
.setContentText(String.format(activity.getString(R.string.update_status_running), progress))
.setContentText(String.format(mContext.getString(R.string.update_status_running), progress))
.setProgress(100, progress, false)
.setAutoCancel(false)
.setOngoing(true)
@@ -409,17 +435,17 @@ public class FileUtils {
@SuppressLint("StringFormatInvalid")
@Override
public void onComplete(File file) {
activity.hideDialog();
if (mDialog != null) mDialog.dismiss();
LogUtils.e("下载完成>>>>>>", file.getAbsolutePath());
notificationManager.notify(notificationId, notificationBuilder
.setContentText(String.format(activity.getString(R.string.down_status_successful), 100))
.setContentText(String.format(mContext.getString(R.string.down_status_successful), 100))
.setProgress(100, 100, false)
//.setContentIntent(PendingIntent.getActivity(getContext(), 1,FunHelper.getExcelFileIntent(file), Intent.FILL_IN_ACTION))
.setAutoCancel(false)
.setOngoing(false)
.build());
mDownloadComplete = true;
new ConfirmDialog.Builder(activity).setMsg("文件所在路径:" + file.getAbsolutePath(), "下载完成", "立即查看", "知道了", R.mipmap.icon_finish_order, 0, false)
new ConfirmDialog.Builder(mContext).setMsg("文件所在路径:" + file.getAbsolutePath(), "下载完成", "立即查看", "知道了", R.mipmap.icon_finish_order, 0, false)
.onClick(new ConfirmDialog.Result() {
@Override
public void confirm() {
@@ -431,16 +457,18 @@ public class FileUtils {
@SuppressWarnings("ResultOfMethodCallIgnored")
@Override
public void onError(File file, Exception e) {
activity.hideDialog();
if (mDialog != null) mDialog.dismiss();
// 清除通知
notificationManager.cancel(notificationId);
// 删除下载的文件
file.delete();
if (file != null && file.exists()){
file.delete();
}
}

@Override
public void onEnd(File file) {
activity.hideDialog();
if (mDialog != null) mDialog.dismiss();
// 标记当前不是下载中
mDownloading = false;
}

Laden…
Annuleren
Opslaan