diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 49ae515..e5d85d5 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -12,6 +12,7 @@
+
diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/net/Api.kt b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/net/Api.kt
index ad94601..ccc4cdc 100644
--- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/net/Api.kt
+++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/net/Api.kt
@@ -435,7 +435,7 @@ interface Api {
*根据手机号查询司机
* */
@GET(BASE_URL + "driver/captain/selectDriverList")
- fun selectDriverList(@Query("phone") phone: String): Observable>>
+ fun selectDriverList(@Query("phone") phone: String,@Query("pageNum") pageNum: Int,@Query("pageSize") pageSize: Int): Observable>>
/**
diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/oss/OssServiceUtil.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/oss/OssServiceUtil.java
index e6331ba..58d603d 100644
--- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/oss/OssServiceUtil.java
+++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/oss/OssServiceUtil.java
@@ -1,6 +1,10 @@
package com.arpa.hndahesudintocctmsdriver.oss;
+import android.content.ContentResolver;
+import android.database.Cursor;
import android.graphics.Bitmap;
+import android.net.Uri;
+import android.provider.MediaStore;
import android.util.Log;
import android.widget.ImageView;
import android.widget.ProgressBar;
@@ -22,11 +26,13 @@ import com.alibaba.sdk.android.oss.model.PutObjectRequest;
import com.alibaba.sdk.android.oss.model.PutObjectResult;
import com.arpa.hndahesudintocctmsdriver.base.App;
import com.arpa.mylibrary.utils.LoadingUtils;
+import com.arpa.mylibrary.utils.TimeUtil;
import com.lxj.xpopup.impl.LoadingPopupView;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
+import java.net.URI;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
@@ -110,7 +116,10 @@ public class OssServiceUtil {
});
}
+
File file = new File(localFile);
+
+
if (!file.exists()) {
return;
}
@@ -382,4 +391,29 @@ public class OssServiceUtil {
public interface PicsResultCallback {
void onOssSuccess(List success, List failure);
}
+
+
+
+ /**
+ * Gets the corresponding path to a file from the given content:// URI
+ * @param selectedVideoUri The content:// URI to find the file path from
+ * @param contentResolver The content resolver to use to perform the query.
+ * @return the file path as a string
+ */
+ public String getFilePathFromContentUri(Uri selectedVideoUri,
+ ContentResolver contentResolver) {
+ String filePath;
+ String[] filePathColumn = {MediaStore.MediaColumns.DATA};
+
+ Cursor cursor = contentResolver.query(selectedVideoUri, filePathColumn, null, null, null);
+// 也可用下面的方法拿到cursor
+// Cursor cursor = this.context.managedQuery(selectedVideoUri, filePathColumn, null, null, null);
+
+ cursor.moveToFirst();
+
+ int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
+ filePath = cursor.getString(columnIndex);
+ cursor.close();
+ return filePath;
+ }
}
diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/HomeActivity.kt b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/HomeActivity.kt
index 8c7664e..b3058d1 100644
--- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/HomeActivity.kt
+++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/HomeActivity.kt
@@ -35,7 +35,6 @@ class HomeActivity : BaseActivity(), OnTabSelectListener,
private val mNormalRes = mutableListOf(
R.drawable.tab_home_normal,
- R.drawable.tab_message_normal,
R.drawable.tab_waybill_normal,
R.drawable.tab_mine_normal
)
diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/account/authperson/AuthPersonActivity.kt b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/account/authperson/AuthPersonActivity.kt
index 4976a49..4aff29e 100644
--- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/account/authperson/AuthPersonActivity.kt
+++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/account/authperson/AuthPersonActivity.kt
@@ -1,12 +1,17 @@
package com.arpa.hndahesudintocctmsdriver.ui.account.authperson
+import android.content.Context
+import android.content.Intent
import android.os.Bundle
import android.view.View
import com.alibaba.idst.nui.DateUtil.DEFAULT_FORMAT_DATE
import com.arpa.hndahesudintocctmsdriver.R
import com.arpa.hndahesudintocctmsdriver.base.AppConfig
+import com.arpa.hndahesudintocctmsdriver.bean.OcrPersonBean
import com.arpa.hndahesudintocctmsdriver.bean.UpPersonInfoBean
+import com.arpa.hndahesudintocctmsdriver.callback.PicPath
import com.arpa.hndahesudintocctmsdriver.databinding.ActivityAuthPersonBinding
+import com.arpa.hndahesudintocctmsdriver.mypop.PopNorBottomPic2
import com.arpa.hndahesudintocctmsdriver.net.BaseObserver
import com.arpa.hndahesudintocctmsdriver.net.DataManager
import com.arpa.hndahesudintocctmsdriver.net.RxHttpCallBack
@@ -22,8 +27,18 @@ import com.arpa.mylibrary.utils.ImageLoader
import com.arpa.mylibrary.utils.PickerUtils
import com.arpa.mylibrary.utils.TimeUtil
import com.arpa.mylibrary.utils.ToastUtils
+import com.arpa.mylibrary.weight.GlideEngine
+import com.arpa.mylibrary.weight.ImageFileCompressEngine
+import com.baidu.ocr.ui.camera.CameraActivity
+import com.luck.picture.lib.basic.PictureSelectionModel
+import com.luck.picture.lib.basic.PictureSelector
+import com.luck.picture.lib.config.SelectMimeType
+import com.luck.picture.lib.entity.LocalMedia
+import com.luck.picture.lib.interfaces.OnResultCallbackListener
+import com.lxj.xpopup.XPopup
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.schedulers.Schedulers
+import java.io.File
import java.text.SimpleDateFormat
import java.util.Locale
@@ -69,7 +84,11 @@ class AuthPersonActivity : BaseActivity() {
}
if (!tvEnd.text.toString().contains("长期")) {
- if (TimeUtil.compareDate(tvEnd.text.toString(), SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()))) {
+ if (TimeUtil.compareDate(
+ tvEnd.text.toString(),
+ SimpleDateFormat("yyyy-MM-dd", Locale.getDefault())
+ )
+ ) {
ToastUtils.showToast(mContext, "身份证已过期,请及时更换最新证件")
}
}
@@ -80,7 +99,7 @@ class AuthPersonActivity : BaseActivity() {
.subscribe(BaseObserver(mContext, object : RxHttpCallBack() {
override fun onSuccess(t: CommonResponseBean) {
super.onSuccess(t)
- BaseSPUtils.put(mContext,AppConfig.USER_CARID,perInfoBean.idcardNo)
+ BaseSPUtils.put(mContext, AppConfig.USER_CARID, perInfoBean.idcardNo)
ActivityUtils.startActivity(mContext, AuthDriverActivity::class.java)
// finish()
}
@@ -105,35 +124,17 @@ class AuthPersonActivity : BaseActivity() {
}
ivFront.setOnClickListener {
- if (perInfoBean.idcardFrontUrl.isNullOrBlank()){
- OcrUtils.getInstance()
- .ocrPerson(mContext, this@AuthPersonActivity) { picPath, result ->
- if (result?.data?.face == null) {
- ToastUtils.showToast(mContext, "请选择正确证件照片")
- return@ocrPerson
- }
+ if (perInfoBean.idcardFrontUrl.isNullOrBlank()) {
- ImageLoader.getInstance()
- .loadRoundImage(mContext, picPath.locPic, 12, ivFront)
- tvFrontSeeBig.visibility = View.VISIBLE
- perInfoBean.idcardFrontUrl = picPath.picPath
- result?.data?.face?.data.let {
- it?.run {
- perInfoBean.run {
- idcardNo = idNumber
- idcardName = name
- idcardAddress = address
- idcardEthnicity = ethnicity
- idcardSex = if (sex == "男") "0" else "1"
- }
- }
- binding.run {
- etName.setText(it?.name)
- etId.setText(it?.idNumber)
- }
- }
- }
- }else{
+ XPopup.Builder(mContext)
+ .dismissOnTouchOutside(true)
+ .asCustom(PopNorBottomPic2(
+ mContext,
+ ) {
+ dealPic(it, true)
+ })
+ .show()
+ } else {
CommonPopUtils.getInstance().showOnePic(
mContext,
ivFront, perInfoBean.idcardFrontUrl
@@ -143,44 +144,16 @@ class AuthPersonActivity : BaseActivity() {
}
ivBack.setOnClickListener {
- if (perInfoBean.idcardBackUrl.isNullOrBlank()){
- OcrUtils.getInstance()
- .ocrPerson(mContext, this@AuthPersonActivity) { picPath, result ->
-
- if (result?.data?.back == null) {
- ToastUtils.showToast(mContext, "请选择正确证件照片")
- return@ocrPerson
- }
-
- perInfoBean.idcardBackUrl = picPath.picPath
- ImageLoader.getInstance()
- .loadRoundImage(mContext, picPath.locPic, 12, ivBack)
- tvBackSeeBig.visibility = View.VISIBLE
- result?.data?.back?.let {
- if (it.data.validPeriod?.contains("-") == true) {
- val split = it.data.validPeriod.split("-")
- binding.run {
- tvStart.text =
- TimeUtil.changeDateFormat(split[0])
- tvEnd.text =
- if (split.size == 2) TimeUtil.changeDateFormat(
- split[1]
- ) else ""
- }
- }
-
- if (it.data.validPeriod?.contains("长期") == true) {
- val split = it.data.validPeriod.split("长期")
- binding.run {
- tvStart.text =
- TimeUtil.changeDateFormat(split[0])
- tvEnd.text = "长期"
- }
- }
- }
-
- }
- }else{
+ if (perInfoBean.idcardBackUrl.isNullOrBlank()) {
+ XPopup.Builder(mContext)
+ .dismissOnTouchOutside(true)
+ .asCustom(PopNorBottomPic2(
+ mContext,
+ ) {
+ dealPic(it, false)
+ })
+ .show()
+ } else {
CommonPopUtils.getInstance().showOnePic(
mContext,
ivBack, perInfoBean.idcardBackUrl
@@ -188,6 +161,20 @@ class AuthPersonActivity : BaseActivity() {
}
}
+
+ tvFrontSeeBig.setOnClickListener {
+ CommonPopUtils.getInstance().showOnePic(
+ mContext,
+ ivFront, perInfoBean.idcardFrontUrl
+ )
+ }
+
+ tvBackSeeBig.setOnClickListener {
+ CommonPopUtils.getInstance().showOnePic(
+ mContext,
+ ivBack, perInfoBean.idcardBackUrl
+ )
+ }
}
}
@@ -234,4 +221,132 @@ class AuthPersonActivity : BaseActivity() {
//
// }
}
+
+ override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+ super.onActivityResult(requestCode, resultCode, data)
+ if (requestCode == 102 && resultCode == RESULT_OK) {
+ if (data != null) {
+// binding.ivBack.setImageBitmap(BitmapFactory.decodeFile(getSaveFile(application).absolutePath));
+// ImageLoader.getInstance()
+// .loadRoundImage(mContext, getSaveFile(application).absolutePath, 12, binding.ivBack)
+ val contentType = data.getStringExtra(CameraActivity.KEY_CONTENT_TYPE)
+ if (contentType == CameraActivity.CONTENT_TYPE_ID_CARD_FRONT) {
+ OcrUtils.getInstance().onlyOcrPerson(
+ mContext,
+ getSaveFile(application).absolutePath,
+ this@AuthPersonActivity
+ ) { picPath, result ->
+ dealOcrResult(picPath, result, true)
+ }
+ } else {
+ OcrUtils.getInstance().onlyOcrPerson(
+ mContext,
+ getSaveFile(application).absolutePath,
+ this@AuthPersonActivity
+ ) { picPath, result ->
+ dealOcrResult(picPath, result, false)
+ }
+ }
+
+ }
+ }
+ }
+
+ fun getSaveFile(context: Context): File {
+ return File(context.filesDir, "pic1.jpg")
+ }
+
+ private fun dealPic(isPhoto: Boolean, isFront: Boolean) {
+ if (isPhoto) {
+ val intent = Intent(this@AuthPersonActivity, CameraActivity::class.java)
+ intent.putExtra(
+ CameraActivity.KEY_OUTPUT_FILE_PATH,
+ getSaveFile(application).absolutePath
+ )
+ intent.putExtra(
+ CameraActivity.KEY_CONTENT_TYPE,
+ if (isFront) CameraActivity.CONTENT_TYPE_ID_CARD_FRONT else CameraActivity.CONTENT_TYPE_ID_CARD_BACK
+ )
+ startActivityForResult(intent, 102)
+
+ } else {
+ // 进入相册
+ val selectionModel: PictureSelectionModel = PictureSelector.create(mContext)
+ .openGallery(SelectMimeType.TYPE_IMAGE)
+ .isDisplayCamera(false)//关闭拍照
+ .setImageEngine(GlideEngine.createGlideEngine())
+ .setCompressEngine(ImageFileCompressEngine())
+ .isPreviewImage(true)
+ .setMaxSelectNum(1)
+ .isMaxSelectEnabledMask(true)
+ .isGif(false)
+ selectionModel.forResult(object : OnResultCallbackListener {
+ override fun onResult(result: ArrayList) {
+ OcrUtils.getInstance().onlyOcrPerson(
+ mContext,
+ result[0].availablePath,
+ this@AuthPersonActivity
+ ) { picPath, result ->
+ dealOcrResult(picPath, result, isFront)
+ }
+ }
+
+ override fun onCancel() {
+
+ }
+ })
+ }
+ }
+
+ private fun dealOcrResult(picPath: PicPath, ocrPersonBean: OcrPersonBean?, isFront: Boolean) {
+ if (isFront) {
+ ocrPersonBean?.data?.face?.data.let {
+ ImageLoader.getInstance()
+ .loadRoundImage(mContext, picPath.picPath, 12, binding.ivFront)
+ perInfoBean.idcardFrontUrl = picPath.picPath
+ it?.run {
+ perInfoBean.run {
+ idcardNo = idNumber
+ idcardName = name
+ idcardAddress = address
+ idcardEthnicity = ethnicity
+ idcardSex = if (sex == "男") "0" else "1"
+ }
+ }
+ binding.run {
+ tvFrontSeeBig.visibility = View.VISIBLE
+ etName.setText(it?.name)
+ etId.setText(it?.idNumber)
+ }
+ }
+ } else {
+ ocrPersonBean?.data?.back?.let {
+ perInfoBean.idcardBackUrl = picPath.picPath
+ ImageLoader.getInstance()
+ .loadRoundImage(mContext, picPath.picPath, 12, binding.ivBack)
+
+ if (it.data.validPeriod?.contains("-") == true) {
+ val split = it.data.validPeriod.split("-")
+ binding.run {
+ tvStart.text =
+ TimeUtil.changeDateFormat(split[0])
+ tvEnd.text =
+ if (split.size == 2) TimeUtil.changeDateFormat(
+ split[1]
+ ) else ""
+ }
+ }
+ binding.tvBackSeeBig.visibility = View.VISIBLE
+ if (it.data.validPeriod?.contains("长期") == true) {
+ val split = it.data.validPeriod.split("长期")
+ binding.run {
+ tvStart.text =
+ TimeUtil.changeDateFormat(split[0])
+ tvEnd.text = "长期"
+ }
+ }
+ }
+ }
+
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/account/authperson/EditBankCardActivity.kt b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/account/authperson/EditBankCardActivity.kt
index 8a2b36f..1102a1e 100644
--- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/account/authperson/EditBankCardActivity.kt
+++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/account/authperson/EditBankCardActivity.kt
@@ -47,12 +47,16 @@ class EditBankCardActivity : BaseActivity() {
subMit()
}
ivFront.setOnClickListener {
- if (!perInfoBean.driverBankcardPhotoUrl.isNullOrEmpty())
+ if (!perInfoBean.driverBankcardPhotoUrl.isNullOrEmpty()){
CommonPopUtils.getInstance().seeBigPic(
mContext,
binding.ivFront,
perInfoBean.driverBankcardPhotoUrl
)
+ }else{
+ selBankPic()
+ }
+
}
tvChangeFront.setOnClickListener {
selBankPic()
@@ -119,6 +123,7 @@ class EditBankCardActivity : BaseActivity() {
binding.let {
it.etId.setText(cardNumber)
it.tvBankName.setText(bankName)
+ it.tvChangeFront.visibility = View.VISIBLE
}
}
}
diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/account/authperson/EditDriverActivity.kt b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/account/authperson/EditDriverActivity.kt
index 26c5656..8d939ee 100644
--- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/account/authperson/EditDriverActivity.kt
+++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/account/authperson/EditDriverActivity.kt
@@ -71,12 +71,22 @@ class EditDriverActivity : BaseActivity() {
ivFront.setOnClickListener {
- seeBigPic(binding.ivFront, driverInfoBean.licensePhotoFaceUrl)
+ if (driverInfoBean.licensePhotoFaceUrl.isNullOrEmpty()){
+ selFrontPic()
+ }else{
+ seeBigPic(binding.ivFront, driverInfoBean.licensePhotoFaceUrl)
+ }
+
}
ivBack.setOnClickListener {
- seeBigPic(binding.ivBack, driverInfoBean.licensePhotoBackUrl)
+ if (driverInfoBean.licensePhotoBackUrl.isNullOrEmpty()){
+ selBackPic()
+ }else{
+ seeBigPic(binding.ivBack, driverInfoBean.licensePhotoBackUrl)
+ }
+
}
tvChangeFront.setOnClickListener {
@@ -219,6 +229,7 @@ class EditDriverActivity : BaseActivity() {
issueAuthority //发证机关
}
binding.run {
+ tvChangeFront.visibility = View.VISIBLE
etName.setText(it.name)
etId.setText(it.licenseNumber)
tvCarType.text = it.approvedType
@@ -248,6 +259,7 @@ class EditDriverActivity : BaseActivity() {
ImageLoader.getInstance()
.loadRoundImage(mContext, picPath.locPic, 12, binding.ivBack)
driverInfoBean.licensePhotoBackUrl = picPath.picPath
+ binding.tvChangeBack.visibility = View.VISIBLE
it?.run {
backLicName = it.name
driverInfoBean.licenseRecordNumber = recordNumber
diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/account/authperson/EditPersonActivity.kt b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/account/authperson/EditPersonActivity.kt
index 43a2f18..e51479a 100644
--- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/account/authperson/EditPersonActivity.kt
+++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/account/authperson/EditPersonActivity.kt
@@ -218,18 +218,40 @@ class EditPersonActivity : BaseActivity() {
}
ivFront.setOnClickListener {
- CommonPopUtils.getInstance().showOnePic(
- mContext,
- ivFront, perInfoBean.idcardFrontUrl
- )
-
+ if (perInfoBean.idcardFrontUrl.isNullOrEmpty()) {
+ XPopup.Builder(mContext)
+ .dismissOnTouchOutside(true)
+ .asCustom(PopNorBottomPic2(
+ mContext,
+ ) {
+ dealPic(it, true)
+ })
+ .show()
+ } else {
+ CommonPopUtils.getInstance().showOnePic(
+ mContext,
+ ivFront, perInfoBean.idcardFrontUrl
+ )
+ }
}
ivBack.setOnClickListener {
- CommonPopUtils.getInstance().showOnePic(
- mContext,
- ivBack, perInfoBean.idcardBackUrl
- )
+ if (perInfoBean.idcardBackUrl.isNullOrEmpty()) {
+ XPopup.Builder(mContext)
+ .dismissOnTouchOutside(true)
+ .asCustom(PopNorBottomPic2(
+ mContext,
+ ) {
+ dealPic(it, false)
+ })
+ .show()
+ } else {
+ CommonPopUtils.getInstance().showOnePic(
+ mContext,
+ ivBack, perInfoBean.idcardBackUrl
+ )
+ }
+
}
}
@@ -245,7 +267,7 @@ class EditPersonActivity : BaseActivity() {
// ImageLoader.getInstance()
// .loadRoundImage(mContext, getSaveFile(application).absolutePath, 12, binding.ivBack)
val contentType = data.getStringExtra(CameraActivity.KEY_CONTENT_TYPE)
- if (contentType == CameraActivity.CONTENT_TYPE_ID_CARD_FRONT){
+ if (contentType == CameraActivity.CONTENT_TYPE_ID_CARD_FRONT) {
OcrUtils.getInstance().onlyOcrPerson(
mContext,
getSaveFile(application).absolutePath,
@@ -253,7 +275,7 @@ class EditPersonActivity : BaseActivity() {
) { picPath, result ->
dealOcrResult(picPath, result, true)
}
- }else{
+ } else {
OcrUtils.getInstance().onlyOcrPerson(
mContext,
getSaveFile(application).absolutePath,
@@ -333,7 +355,7 @@ class EditPersonActivity : BaseActivity() {
)
intent.putExtra(
CameraActivity.KEY_CONTENT_TYPE,
- if(isFront) CameraActivity.CONTENT_TYPE_ID_CARD_FRONT else CameraActivity.CONTENT_TYPE_ID_CARD_BACK
+ if (isFront) CameraActivity.CONTENT_TYPE_ID_CARD_FRONT else CameraActivity.CONTENT_TYPE_ID_CARD_BACK
)
startActivityForResult(intent, 102)
@@ -345,6 +367,7 @@ class EditPersonActivity : BaseActivity() {
.setImageEngine(GlideEngine.createGlideEngine())
.setCompressEngine(ImageFileCompressEngine())
.isPreviewImage(true)
+ .setMaxSelectNum(1)
.isMaxSelectEnabledMask(true)
.isGif(false)
selectionModel.forResult(object : OnResultCallbackListener {
@@ -381,6 +404,7 @@ class EditPersonActivity : BaseActivity() {
}
}
binding.run {
+ tvFrontSeeBig.visibility = View.VISIBLE
etName.setText(it?.name)
etId.setText(it?.idNumber)
}
@@ -402,6 +426,7 @@ class EditPersonActivity : BaseActivity() {
) else ""
}
}
+ binding.tvBackSeeBig.visibility = View.VISIBLE
if (it.data.validPeriod?.contains("长期") == true) {
val split = it.data.validPeriod.split("长期")
binding.run {
diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/account/authperson/EditQualificationActivity.kt b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/account/authperson/EditQualificationActivity.kt
index 814cb2a..ac46901 100644
--- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/account/authperson/EditQualificationActivity.kt
+++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/account/authperson/EditQualificationActivity.kt
@@ -54,12 +54,22 @@ class EditQualificationActivity : BaseActivity
}
ivFront.setOnClickListener {
- if (!upQuaInfo.qualificationCertificatePhotoUrl.isNullOrEmpty())
+ if (!upQuaInfo.qualificationCertificatePhotoUrl.isNullOrEmpty()) {
CommonPopUtils.getInstance().seeBigPic(
mContext,
binding.ivFront,
upQuaInfo.qualificationCertificatePhotoUrl
)
+ } else {
+ OcrUtils.getInstance()
+ .noOcrUpPic(mContext, this@EditQualificationActivity) { picPath, _ ->
+ ImageLoader.getInstance()
+ .loadRoundImage(mContext, picPath.locPic, 12, ivFront)
+ upQuaInfo.qualificationCertificatePhotoUrl = picPath.picPath
+ binding.tvChangeFront.visibility = View.VISIBLE
+ }
+ }
+
}
tvChangeFront.setOnClickListener {
@@ -68,6 +78,7 @@ class EditQualificationActivity : BaseActivity
ImageLoader.getInstance()
.loadRoundImage(mContext, picPath.locPic, 12, ivFront)
upQuaInfo.qualificationCertificatePhotoUrl = picPath.picPath
+ binding.tvChangeFront.visibility = View.VISIBLE
}
}
}
diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/account/authperson/EditRoadActivity.kt b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/account/authperson/EditRoadActivity.kt
index 29459a2..2cbfeab 100644
--- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/account/authperson/EditRoadActivity.kt
+++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/account/authperson/EditRoadActivity.kt
@@ -79,7 +79,7 @@ class EditRoadActivity : BaseActivity() {
}
binding.run {
ImageLoader.getInstance()
- .loadRoundImage(mContext, data.licenseFaceUrl, 12, ivFront)
+ .loadRoundImage(mContext, data.roadLicensePhotoUrl, 12, ivFront)
etID.setText(data.roadLicense)
tvDate.text = data.roadLicenseValidity
@@ -93,7 +93,7 @@ class EditRoadActivity : BaseActivity() {
roadLicense = binding.etID.text.trim().toString()
roadLicenseValidity = binding.tvDate.text.toString()
- if (upRoad.roadLicense.isNullOrEmpty() || upRoad.roadLicenseValidity.isNullOrEmpty() || upRoad.roadLicensePhotoUrl.isNullOrEmpty()) {
+ if (upRoad.roadLicensePhotoUrl.isNullOrEmpty()) {
showToast("请完善信息")
return
}
diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/mine/InviteDriverActivity.kt b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/mine/InviteDriverActivity.kt
index 9ad0251..950f136 100644
--- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/mine/InviteDriverActivity.kt
+++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/mine/InviteDriverActivity.kt
@@ -91,7 +91,7 @@ class InviteDriverActivity : BaseActivity(), Refres
if (phone.isNullOrEmpty()) {
return
}
- DataManager.getInstance().selectDriverList(phone).subscribeOn(Schedulers.io())
+ DataManager.getInstance().selectDriverList(phone, mRefreshPage,mRefreshCount).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(BaseObserver(mContext, object : RxHttpCallBack>() {
override fun onSuccess(t: CommonResponseBean>) {
diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/mine/MineFragment.kt b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/mine/MineFragment.kt
index 6546b94..8ae7809 100644
--- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/mine/MineFragment.kt
+++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/mine/MineFragment.kt
@@ -340,6 +340,7 @@ class MineFragment : BaseFragment(), View.OnClickListener,
val userInfo = SPUtils.instance.getUserInfo(mContext)
if (userInfo?.isCarCaptain == "1") {//是否是车队长(0=否,1=是,9=未选择)
binding.llNotic.visibility = View.GONE
+ binding.rlCars.visibility = View.GONE
} else {
//司机车辆显示
diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/utils/OcrUtils.kt b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/utils/OcrUtils.kt
index 9483e71..f6f575d 100644
--- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/utils/OcrUtils.kt
+++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/utils/OcrUtils.kt
@@ -17,9 +17,14 @@ import com.arpa.mylibrary.utils.LoadingUtils
import com.arpa.mylibrary.utils.PopsUtils
import com.arpa.mylibrary.utils.RegexpUtils
import com.arpa.mylibrary.utils.ToastUtils
+import com.luck.picture.lib.config.PictureMimeType
+import com.luck.picture.lib.utils.DateUtils
import com.lxj.xpopup.XPopup
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.schedulers.Schedulers
+import top.zibin.luban.Luban
+import top.zibin.luban.OnNewCompressListener
+import java.io.File
/**
* @ClassName OcrUtils
@@ -85,7 +90,7 @@ class OcrUtils private constructor() {
LoadingUtils.instance.showLoading(activity)
//上传oss得到图片地址
OssServiceUtil.getInstance().run {
- asyncPutImage(result[0].realPath, null)
+ asyncPutImage(result[0].availablePath, null)
setResultCallBack { data, oldPath ->
DataManager.getInstance().recognizeIdcard(oldPath)
.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
@@ -131,39 +136,64 @@ class OcrUtils private constructor() {
fun onlyOcrPerson(context: Context,picPath: String, activity: AppCompatActivity, listener: OnOcrPicResultListener){
//上传oss得到图片地址
LoadingUtils.instance.showLoading(activity)
- OssServiceUtil.getInstance().run {
- asyncPutImage(picPath, null)
- setResultCallBack { data, oldPath ->
- DataManager.getInstance().recognizeIdcard(oldPath)
- .subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
- .subscribe(BaseObserver(context, object : RxHttpCallBack() {
- override fun onSuccess(t: CommonResponseBean) {
- super.onSuccess(t)
- LoadingUtils.instance.dissLoading()
- t.data?.let {
- listener.onSuccResult(
- PicPath(picPath, oldPath), it
- )
- }
- }
- override fun onCodeError(
- mContext: Context?,
- t: CommonResponseBean
- ) {
+ //压缩
+ Luban.with(context).load(picPath).ignoreBy(30).setRenameListener { filePath ->
+ val indexOf = filePath.lastIndexOf(".")
+ val postfix = if (indexOf != -1) filePath.substring(indexOf) else ".jpg"
+ DateUtils.getCreateFileName("CMP_") + postfix
+ }.filter { path ->
+ if (PictureMimeType.isUrlHasImage(path) && !PictureMimeType.isHasHttp(path)) {
+ true
+ } else !PictureMimeType.isUrlHasGif(path)
+ }.setCompressListener(object : OnNewCompressListener {
+ override fun onStart() {}
+ override fun onSuccess(source: String, compressFile: File) {
+ OssServiceUtil.getInstance().run {
+ asyncPutImage(compressFile.absolutePath, null)
+ setResultCallBack { data, oldPath ->
+ DataManager.getInstance().recognizeIdcard(oldPath)
+ .subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
+ .subscribe(BaseObserver(context, object : RxHttpCallBack() {
+ override fun onSuccess(t: CommonResponseBean) {
+ super.onSuccess(t)
+ LoadingUtils.instance.dissLoading()
+ t.data?.let {
+ listener.onSuccResult(
+ PicPath(picPath, oldPath), it
+ )
+ }
+ }
+
+ override fun onCodeError(
+ mContext: Context?,
+ t: CommonResponseBean
+ ) {
// super.onCodeError(mContext, t)
- LoadingUtils.instance.dissLoading()
- if (t.code == 500) {
+ LoadingUtils.instance.dissLoading()
+ if (t.code == 500) {
// if (t.msg.contains("code: 400, The image type does not match the API operation")) {
- ToastUtils.showToast(mContext, "图片识别失败,请重新上传")
+ ToastUtils.showToast(mContext, "图片识别失败,请重新上传")
// } else {
// ToastUtils.showToast(mContext, t.msg)
// }
- }
- }
- }))
+ }
+ }
+ }))
+ }
+ }
+
}
- }
+
+ override fun onError(source: String, e: Throwable) {
+ LoadingUtils.instance.dissLoading()
+// call?.onCallback(source, null)
+ }
+ }).launch()
+
+
+
+
}
@@ -175,7 +205,7 @@ class OcrUtils private constructor() {
LoadingUtils.instance.showLoading(activity)
//上传oss得到图片地址
OssServiceUtil.getInstance().run {
- asyncPutImage(result[0].realPath, null)
+ asyncPutImage(result[0].availablePath, null)
setResultCallBack { data, oldPath ->
DataManager.getInstance().recognizeDrivingLicense(oldPath)
.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
@@ -233,7 +263,7 @@ class OcrUtils private constructor() {
LoadingUtils.instance.showLoading(activity)
//上传oss得到图片地址
OssServiceUtil.getInstance().run {
- asyncPutImage(result[0].realPath, null)
+ asyncPutImage(result[0].availablePath, null)
setResultCallBack { data, oldPath ->
DataManager.getInstance().recognizeVehicleLicense(oldPath)//行驶证识别
.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
@@ -290,7 +320,7 @@ class OcrUtils private constructor() {
PopsUtils.getInstance().showSimSelPic(context) { result ->
//上传oss得到图片地址
OssServiceUtil.getInstance().run {
- asyncPutImage(result[0].realPath, activity)
+ asyncPutImage(result[0].availablePath, activity)
setResultCallBack { data, oldPath ->
DataManager.getInstance().recognizeBankCard(oldPath)
.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
@@ -346,7 +376,7 @@ class OcrUtils private constructor() {
PopsUtils.getInstance().showSimSelPic(context) { result ->
//上传oss得到图片地址
OssServiceUtil.getInstance().run {
- asyncPutImage(result[0].realPath, activity)
+ asyncPutImage(result[0].availablePath, activity)
setResultCallBack { data, oldPath ->
DataManager.getInstance().recognizeBusinessLicense(oldPath)
.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
@@ -447,7 +477,7 @@ class OcrUtils private constructor() {
PopsUtils.getInstance().showSimSelPic(context) {
var data = it[0]
OssServiceUtil.getInstance().run {
- asyncPutImage(data.realPath, activity)
+ asyncPutImage(data.availablePath, activity)
setResultCallBack { data, oldPath ->
activity.runOnUiThread {
listener.onSuccResult(
diff --git a/app/src/main/res/layout/activity_auth_driving.xml b/app/src/main/res/layout/activity_auth_driving.xml
index 519729c..ed6cefe 100644
--- a/app/src/main/res/layout/activity_auth_driving.xml
+++ b/app/src/main/res/layout/activity_auth_driving.xml
@@ -433,6 +433,7 @@
+ />
diff --git a/mylibrary/src/main/java/com/arpa/mylibrary/pop/PopNorBottomPic.kt b/mylibrary/src/main/java/com/arpa/mylibrary/pop/PopNorBottomPic.kt
index 554d91d..3debc3a 100644
--- a/mylibrary/src/main/java/com/arpa/mylibrary/pop/PopNorBottomPic.kt
+++ b/mylibrary/src/main/java/com/arpa/mylibrary/pop/PopNorBottomPic.kt
@@ -57,6 +57,7 @@ class PopNorBottomPic(
// 单独拍照
val cameraModel: PictureSelectionCameraModel = PictureSelector.create(context)
.openCamera(SelectMimeType.TYPE_IMAGE)
+ .setCompressEngine(ImageFileCompressEngine())
// .setCameraInterceptListener(getCustomCameraEvent())//自定义相机
// .setRecordAudioInterceptListener(MainActivity.MeOnRecordAudioInterceptListener())//录音回调事件
// .setCropEngine(ImageFileCropEngine())//裁剪
diff --git a/mylibrary/src/main/java/com/arpa/mylibrary/weight/ImageFileCompressEngine.kt b/mylibrary/src/main/java/com/arpa/mylibrary/weight/ImageFileCompressEngine.kt
index 396cf95..bb1fab8 100644
--- a/mylibrary/src/main/java/com/arpa/mylibrary/weight/ImageFileCompressEngine.kt
+++ b/mylibrary/src/main/java/com/arpa/mylibrary/weight/ImageFileCompressEngine.kt
@@ -22,7 +22,7 @@ class ImageFileCompressEngine : CompressFileEngine {
source: ArrayList?,
call: OnKeyValueResultCallbackListener?
) {
- Luban.with(context).load(source).ignoreBy(100).setRenameListener { filePath ->
+ Luban.with(context).load(source).ignoreBy(30).setRenameListener { filePath ->
val indexOf = filePath.lastIndexOf(".")
val postfix = if (indexOf != -1) filePath.substring(indexOf) else ".jpg"
DateUtils.getCreateFileName("CMP_") + postfix