From 65994b8eda5968e419a424217e35ff699ca94e87 Mon Sep 17 00:00:00 2001 From: lijia Date: Thu, 21 Nov 2024 16:38:33 +0800 Subject: [PATCH 1/4] =?UTF-8?q?ocr=E8=AF=86=E5=88=AB=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/auth/CertificatesActivity.java | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/auth/CertificatesActivity.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/auth/CertificatesActivity.java index 6619f67..c0132ab 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/auth/CertificatesActivity.java +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/auth/CertificatesActivity.java @@ -499,7 +499,7 @@ public class CertificatesActivity extends BaseAppCompatActivity { EventBus.getDefault().postSticky(ve); finish(); ToastUtils.showToast(con, bb.getMsg()); - }else{ + } else { ToastUtils.showToast(con, bb.getMsg()); } CacheGroup.cacheList.remove("bindCarInfo"); @@ -976,16 +976,16 @@ public class CertificatesActivity extends BaseAppCompatActivity { if (CacheGroup.cacheList.get(TYPE_NAME[2]) != null) { Log.e("olb", CacheGroup.cacheList.get(TYPE_NAME[2])); olb = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME[2]), OCRVehicleLicenseBean.class); - if (2==index&&olb.getData().getVclN().contains("挂")){ - Toast.makeText(con,"该证件为挂车,请上传行驶证证件",Toast.LENGTH_SHORT).show(); - return; - } - - if (3==index&&!olb.getData().getVclN().contains("挂")){ - Toast.makeText(con,"未识别到挂车相关信息,请上传挂车行驶证证件",Toast.LENGTH_SHORT).show(); - return; - } if (olb.getCode() == 200 && olb.getData() != null) { + if (2 == index && olb.getData().getVclN().contains("挂")) { + Toast.makeText(con, "该证件为挂车,请上传行驶证证件", Toast.LENGTH_SHORT).show(); + return; + } + + if (3 == index && !olb.getData().getVclN().contains("挂")) { + Toast.makeText(con, "未识别到挂车相关信息,请上传挂车行驶证证件", Toast.LENGTH_SHORT).show(); + return; + } carExistCarId = ""; value1.setEnabled(true); value2.setEnabled(true); @@ -1002,7 +1002,7 @@ public class CertificatesActivity extends BaseAppCompatActivity { // Glide.with(con).load(url1).into(img1); Glide.with(con).load(path).into(img1); oCrcarId = olb.getData().getCarId() + ""; - if (!TextUtils.isEmpty(olb.getData().getVclN())&&!olb.getData().getVclN().contains("挂")) + if (!TextUtils.isEmpty(olb.getData().getVclN()) && !olb.getData().getVclN().contains("挂")) new AuthRequest().getCarInfo(con, hd, olb.getData().getVclN()); Log.e("-cardId-", oCrcarId); } else { From c6005ee9a115bb77da2c916efccf898a0ff00628 Mon Sep 17 00:00:00 2001 From: lijia Date: Fri, 22 Nov 2024 15:55:20 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E9=9A=90=E7=A7=81=E6=94=BF=E7=AD=96?= =?UTF-8?q?=E6=8B=A6=E6=88=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 55 +++-- .../hndahesudintocctmsdriver/H5Activity.java | 3 +- .../ui/alert/AgreementAlert.java | 5 +- .../ui/auth/CertificatesActivity.java | 133 ++++++---- .../ui/login/LoginActivity.java | 7 +- .../ui/login/WelcomeActivity.java | 4 +- .../ui/web/WebOnlyOneActivity.java | 227 ++++++++++++++++++ 7 files changed, 361 insertions(+), 73 deletions(-) create mode 100644 app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/web/WebOnlyOneActivity.java diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4ed4aa6..90f907f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,6 +2,7 @@ + @@ -71,14 +72,14 @@ android:configChanges="orientation|keyboardHidden|screenSize" android:exported="true" android:launchMode="singleTop" - android:screenOrientation="portrait" > + android:screenOrientation="portrait"> + android:screenOrientation="portrait" /> + android:screenOrientation="portrait" /> @@ -93,11 +94,11 @@ android:screenOrientation="portrait" /> + android:screenOrientation="portrait" + android:windowSoftInputMode="adjustPan|stateHidden" /> + android:screenOrientation="portrait" /> @@ -142,13 +143,13 @@ + android:screenOrientation="portrait" /> + android:screenOrientation="portrait" /> + android:screenOrientation="portrait" /> @@ -161,14 +162,14 @@ + android:screenOrientation="portrait" + android:windowSoftInputMode="adjustPan|stateHidden" /> + android:screenOrientation="portrait" /> + android:screenOrientation="portrait" /> + android:screenOrientation="portrait" /> + android:screenOrientation="portrait" /> @@ -203,17 +204,21 @@ + android:screenOrientation="portrait" /> + android:screenOrientation="portrait" /> + android:screenOrientation="portrait" /> + + android:windowSoftInputMode="stateAlwaysHidden" /> - + @@ -362,10 +367,11 @@ + android:launchMode="singleTask" + android:screenOrientation="portrait"> + @@ -383,10 +389,11 @@ + android:launchMode="singleTask" + android:screenOrientation="portrait"> + diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/H5Activity.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/H5Activity.java index 4664c87..cc72aea 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/H5Activity.java +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/H5Activity.java @@ -41,6 +41,7 @@ import androidx.appcompat.app.AppCompatActivity; import com.arpa.hndahesudintocctmsdriver.cuspop.SimCenterPop; import com.arpa.hndahesudintocctmsdriver.event.FaceEvent; import com.arpa.hndahesudintocctmsdriver.event.HomeEvent; +import com.arpa.hndahesudintocctmsdriver.request.UserRequset; import com.arpa.hndahesudintocctmsdriver.ui.MainActivity; import com.arpa.hndahesudintocctmsdriver.ui.UiAuxiliary; import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity; @@ -249,7 +250,7 @@ public class H5Activity extends AppCompatActivity { Uri uri = Uri.parse(url); Log.e("test", "要加载的地址:" + uri.getScheme() + " " + url + " "); if (uri.getScheme().equals("http") || uri.getScheme().equals("https")) { - if (isGoCar&&url.startsWith("http://agreement.dahehuoyun.com/#/1ba5c216/912f4c9587/5eb5184653/6ef9")){ + if (isGoCar&&url.startsWith("https://agreement.dahehuoyun.com/#/1ba5c216/912f4c9587/5eb5184653/6ef9")){ isOk = true; view.loadUrl(url); new MessageUtils().showSimCenPop(ctx, "个人信息上传成功,请添加车辆信息!", "去添加",() -> { diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/alert/AgreementAlert.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/alert/AgreementAlert.java index 98cb60f..9843d94 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/alert/AgreementAlert.java +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/alert/AgreementAlert.java @@ -14,6 +14,7 @@ import android.widget.TextView; import androidx.annotation.NonNull; +import com.arpa.hndahesudintocctmsdriver.ui.web.WebOnlyOneActivity; import com.lxj.xpopup.core.CenterPopupView; import com.arpa.hndahesudintocctmsdriver.R; import com.arpa.hndahesudintocctmsdriver.ui.web.WebActivity; @@ -68,7 +69,7 @@ public class AgreementAlert extends CenterPopupView { @Override public void onClick(View widget) { //用户服务协议点击事件 - Intent in=new Intent(getContext(), WebActivity.class); + Intent in=new Intent(getContext(), WebOnlyOneActivity.class); in.putExtra("url",url2); in.putExtra("title","用户服务协议"); getContext().startActivity(in); @@ -87,7 +88,7 @@ public class AgreementAlert extends CenterPopupView { @Override public void onClick(View widget) { //用户服务协议点击事件 - Intent in=new Intent(getContext(), WebActivity.class); + Intent in=new Intent(getContext(), WebOnlyOneActivity.class); in.putExtra("url",url); in.putExtra("title","隐私政策"); getContext().startActivity(in); diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/auth/CertificatesActivity.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/auth/CertificatesActivity.java index c0132ab..a80865c 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/auth/CertificatesActivity.java +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/auth/CertificatesActivity.java @@ -1,11 +1,13 @@ package com.arpa.hndahesudintocctmsdriver.ui.auth; +import android.Manifest; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.os.Message; +import android.provider.Settings; import android.text.TextUtils; import android.util.Log; import android.view.View; @@ -35,6 +37,7 @@ import com.arpa.hndahesudintocctmsdriver.event.VehicleEvent; import com.arpa.hndahesudintocctmsdriver.ui.wallet.UpBankActivity; import com.arpa.hndahesudintocctmsdriver.util.MessageUtils; import com.arpa.hndahesudintocctmsdriver.util.PickerUtils; +import com.arpa.hndahesudintocctmsdriver.util.PicturlUtil; import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil; import com.arpa.hndahesudintocctmsdriver.util.map.MapUtil; import com.bumptech.glide.Glide; @@ -85,6 +88,8 @@ import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity; import com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView; import com.lxj.xpopup.photoview.PhotoView; import com.lxj.xpopup.util.SmartGlideImageLoader; +import com.lxj.xpopup.util.XPermission; +import com.permissionx.guolindev.PermissionX; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; @@ -209,8 +214,6 @@ public class CertificatesActivity extends BaseAppCompatActivity { key = true; }, 3000); } - - } else { Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show(); } @@ -221,12 +224,25 @@ public class CertificatesActivity extends BaseAppCompatActivity { Log.e("url", CacheGroup.cacheList.get("authUrl")); BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("authUrl"), BaseBean.class); if (bb.getCode() == 200) { - Intent intent = new Intent(this, H5Activity.class); - intent.putExtra("url", (String) bb.getData()); - intent.putExtra("view_file", false); - intent.putExtra("title", "人脸识别"); - intent.putExtra("isGoCar", true); - startActivity(intent); + PermissionX.init(this) + .permissions(Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA) + .request((allGranted, grantedList, deniedList) -> { + if (allGranted) { + Intent intent = new Intent(this, H5Activity.class); + intent.putExtra("url", (String) bb.getData()); + intent.putExtra("view_file", false); + intent.putExtra("title", "人脸识别"); + intent.putExtra("isGoCar", true); + startActivity(intent); + } else { + new MessageUtils().showSimCenPop(act, "缺少相机,媒体权限,将无法为您提供服务,去开启!", "取消", "确认", () -> { + Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); + Uri uri = Uri.fromParts("package", getPackageName(), null); + intent.setData(uri); + act.startActivity(intent); + }); + } + }); // EsignSdk.getInstance().startH5Activity(act, StringUtil.isNull(String.valueOf(bb.getData()), "")); } else { Toast.makeText(con, bb.getMsg(), Toast.LENGTH_LONG).show(); @@ -280,22 +296,6 @@ public class CertificatesActivity extends BaseAppCompatActivity { con.startActivity(in); } finish(); -// if ("1".equals(needUpQCPhoto)) { -// //现逻辑:上传行驶证信息后 判断是否跳转从业资格证 -// Intent in = new Intent(con, AuthQualificationActivity.class); -// in.putExtra("type", "0"); -// in.putExtra("isOverCar", false); -// in.putExtra("carId", String.valueOf(czb.getData().getCarId())); -// startActivity(in); -// } else { -// //原逻辑:上传行驶证信息后 跳转车辆照片页面 -// Intent in = new Intent(con, PhotoCarActivity.class); -// in.putExtra("type", 0); -// in.putExtra("carId", String.valueOf(czb.getData().getCarId())); -// con.startActivity(in); -// } - - } else { Toast.makeText(con, czb.getMsg(), Toast.LENGTH_SHORT).show(); } @@ -459,12 +459,25 @@ public class CertificatesActivity extends BaseAppCompatActivity { Log.e("url", CacheGroup.cacheList.get("authUrl")); BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("authUrl"), BaseBean.class); if (bb.getCode() == 200) { - Intent intent = new Intent(this, H5Activity.class); - intent.putExtra("url", (String) bb.getData()); - intent.putExtra("view_file", false); - intent.putExtra("title", "人脸识别"); - intent.putExtra("isGoCar", true); - startActivity(intent); + PermissionX.init(this) + .permissions(Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA) + .request((allGranted, grantedList, deniedList) -> { + if (allGranted) { + Intent intent = new Intent(this, H5Activity.class); + intent.putExtra("url", (String) bb.getData()); + intent.putExtra("view_file", false); + intent.putExtra("title", "人脸识别"); + intent.putExtra("isGoCar", true); + startActivity(intent); + } else { + new MessageUtils().showSimCenPop(act, "缺少相机,媒体权限,将无法为您提供服务,去开启!", "取消", "确认", () -> { + Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); + Uri uri = Uri.fromParts("package", getPackageName(), null); + intent.setData(uri); + act.startActivity(intent); + }); + } + }); // EsignSdk.getInstance().startH5Activity(act, StringUtil.isNull(String.valueOf(bb.getData()), "")); } else { Toast.makeText(con, bb.getMsg(), Toast.LENGTH_LONG).show(); @@ -922,7 +935,7 @@ public class CertificatesActivity extends BaseAppCompatActivity { value3.setText(ocb.getData().getAddress()); Glide.with(con).load(path).into(img1); } else { - Toast.makeText(con, "识别失败", Toast.LENGTH_SHORT).show(); + Toast.makeText(con, "识别失败请重新上传", Toast.LENGTH_SHORT).show(); } CacheGroup.cacheList.remove(TYPE_NAME[0]); } @@ -935,7 +948,7 @@ public class CertificatesActivity extends BaseAppCompatActivity { //自动调取提交功能,实现页面自动跳转 subimt(); } else { - Toast.makeText(con, "识别失败", Toast.LENGTH_SHORT).show(); + Toast.makeText(con, "识别失败请重新上传", Toast.LENGTH_SHORT).show(); } CacheGroup.cacheList.remove(TYPE_NAME_BANK[0]); } @@ -954,7 +967,7 @@ public class CertificatesActivity extends BaseAppCompatActivity { value4.setText(StringUtil.isNull(od.getEndDate(), "识别异常")); Glide.with(con).load(path).into(img1); } else { - Toast.makeText(con, "识别失败", Toast.LENGTH_SHORT).show(); + Toast.makeText(con, "识别失败请重新上传", Toast.LENGTH_SHORT).show(); } CacheGroup.cacheList.remove(TYPE_NAME[1]); } @@ -965,7 +978,7 @@ public class CertificatesActivity extends BaseAppCompatActivity { //自动调取提交功能,实现页面自动跳转 subimt(); } else { - Toast.makeText(con, "识别失败", Toast.LENGTH_SHORT).show(); + Toast.makeText(con, "识别失败请重新上传", Toast.LENGTH_SHORT).show(); } CacheGroup.cacheList.remove(TYPE_NAME_BANK[1]); } @@ -1006,7 +1019,7 @@ public class CertificatesActivity extends BaseAppCompatActivity { new AuthRequest().getCarInfo(con, hd, olb.getData().getVclN()); Log.e("-cardId-", oCrcarId); } else { - Toast.makeText(con, "识别失败", Toast.LENGTH_SHORT).show(); + Toast.makeText(con, "识别失败请重新上传", Toast.LENGTH_SHORT).show(); } CacheGroup.cacheList.remove(TYPE_NAME[2]); } @@ -1020,7 +1033,7 @@ public class CertificatesActivity extends BaseAppCompatActivity { //自动调取提交功能,实现页面自动跳转实现页面自动跳转 subimt(); } else { - Toast.makeText(con, "识别失败", Toast.LENGTH_SHORT).show(); + Toast.makeText(con, "识别失败请重新上传", Toast.LENGTH_SHORT).show(); } CacheGroup.cacheList.remove(TYPE_NAME_BANK[2]); } @@ -1119,8 +1132,18 @@ public class CertificatesActivity extends BaseAppCompatActivity { switch (index) { case 0: if (ocb != null && ocbb != null) { + if (ocb.getData() == null) { + ToastUtils.showToast(con, "主页照片识别失败,请重新上传"); + return; + } + + if (ocbb == null || ocbb.getData() == null) { + ToastUtils.showToast(con, "副页照片识别失败,请重新上传"); + return; + } customDialog = new CustomDialog(con, "网络请求中..."); customDialog.show(); + IDInputBean ib = new IDInputBean(); ib.setIdcarName(str1); ib.setIdcard(str2); @@ -1143,8 +1166,20 @@ public class CertificatesActivity extends BaseAppCompatActivity { //olb //{"档案编号","初次领证日期","准驾车型","有效期限(止)"}, if (odl != null && odlb != null) { + + if (odl.getData() == null) { + ToastUtils.showToast(con, "主页照片识别失败,请重新上传"); + return; + } + + if (odlb == null || odlb.getData() == null) { + ToastUtils.showToast(con, "副页照片识别失败,请重新上传"); + return; + } + customDialog = new CustomDialog(con, "网络请求中..."); customDialog.show(); + Log.e("ocr", new Gson().toJson(odl)); LicenseInputBean iib = new LicenseInputBean(); iib.setArchivesName(odlb.getData().getFileNumber()); @@ -1182,6 +1217,17 @@ public class CertificatesActivity extends BaseAppCompatActivity { // Toast.makeText(con, "请完善内容", Toast.LENGTH_SHORT).show(); // return; // } + if (olb.getData() == null) { + ToastUtils.showToast(con, "主页照片识别失败,请重新上传"); + return; + } + + if (oblb == null || oblb.getData() == null) { + ToastUtils.showToast(con, "副页照片识别失败,请重新上传"); + return; + } + + customDialog = new CustomDialog(con, "网络请求中..."); customDialog.show(); HashMap map = new HashMap<>(); @@ -1194,6 +1240,7 @@ public class CertificatesActivity extends BaseAppCompatActivity { // map.put("ownerName", str3); // map.put("vin", str4);//车辆识别代号 + String carLong = ""; String carWidth = ""; String carHeight = ""; @@ -1288,10 +1335,15 @@ public class CertificatesActivity extends BaseAppCompatActivity { break; case 3: if (olb != null || (cdb != null && cdb.getRes() == 1)) { -// if (curEnergy==null){ -// Toast.makeText(con,"请完善内容",Toast.LENGTH_SHORT).show(); -// return; -// } + if (olb.getData() == null) { + ToastUtils.showToast(con, "主页照片识别失败,请重新上传"); + return; + } + + if (oblb == null || oblb.getData() == null) { + ToastUtils.showToast(con, "副页照片识别失败,请重新上传"); + return; + } customDialog = new CustomDialog(con, "网络请求中..."); customDialog.show(); // Map map = new HashMap<>(); @@ -1328,7 +1380,6 @@ public class CertificatesActivity extends BaseAppCompatActivity { // map.put("fileNumber", oblb.getData().getRecordId());//档案编号 // map.put("towAuality", oblb.getData().getVclDrwTn());//准牵引总质量 - String carLong = ""; String carWidth = ""; String carHeight = ""; diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/login/LoginActivity.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/login/LoginActivity.java index 177dbd6..989f3c9 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/login/LoginActivity.java +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/login/LoginActivity.java @@ -31,6 +31,7 @@ import com.arpa.hndahesudintocctmsdriver.parts.ConfigParts; import com.arpa.hndahesudintocctmsdriver.request.net.BaseObserver; import com.arpa.hndahesudintocctmsdriver.request.net.DataManager; import com.arpa.hndahesudintocctmsdriver.request.net.RxHttpCallBack; +import com.arpa.hndahesudintocctmsdriver.ui.web.WebOnlyOneActivity; import com.dahe.mylibrary.net.CommonResponseBean; import com.google.gson.Gson; import com.arpa.hndahesudintocctmsdriver.R; @@ -157,7 +158,7 @@ public class LoginActivity extends BaseActivity { ConfigBean cb = ConfigParts.getConfigParts(con); if (cb != null) { - url1 = cb.getData().getUserUrl(); + url1 = "https://agreement.dahehuoyun.com/#/user"; url2 = "https://agreement.dahehuoyun.com/currency/#/"; } TextView tv_content = findViewById(R.id.tv_content); @@ -171,7 +172,7 @@ public class LoginActivity extends BaseActivity { public void onClick(View widget) { Log.e("-用户服务协议-", url1); //用户服务协议点击事件 - Intent in = new Intent(con, WebActivity.class); + Intent in = new Intent(con, WebOnlyOneActivity.class); in.putExtra("title", "用户服务协议"); in.putExtra("url", url1); startActivity(in); @@ -191,7 +192,7 @@ public class LoginActivity extends BaseActivity { @Override public void onClick(View widget) { //隐私协议点击事件 - Intent in = new Intent(con, WebActivity.class); + Intent in = new Intent(con, WebOnlyOneActivity.class); in.putExtra("title", "隐私政策"); in.putExtra("url", url2); startActivity(in); diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/login/WelcomeActivity.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/login/WelcomeActivity.java index c261300..8a2f012 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/login/WelcomeActivity.java +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/login/WelcomeActivity.java @@ -140,8 +140,8 @@ public class WelcomeActivity extends BaseAppCompatActivity { new XPopup.Builder(con) .dismissOnBackPressed(false) .dismissOnTouchOutside(false) - .asCustom(new AgreementAlert(con, "http://agreement.dahehuoyun.com/currency/#/", - "http://agreement.dahehuoyun.com/rule/serviceAgreement/dist/index.html#/", hd)) + .asCustom(new AgreementAlert(con, "https://agreement.dahehuoyun.com/currency/#/", + "https://agreement.dahehuoyun.com/#/user", hd)) .show(); } Glide.with(con) diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/web/WebOnlyOneActivity.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/web/WebOnlyOneActivity.java new file mode 100644 index 0000000..d36b89e --- /dev/null +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/web/WebOnlyOneActivity.java @@ -0,0 +1,227 @@ +package com.arpa.hndahesudintocctmsdriver.ui.web; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.net.Uri; +import android.net.http.SslError; +import android.os.Build; +import android.os.Bundle; +import android.util.Log; +import android.webkit.JavascriptInterface; +import android.webkit.SslErrorHandler; +import android.webkit.WebResourceRequest; +import android.webkit.WebSettings; +import android.webkit.WebView; +import android.webkit.WebViewClient; +import android.widget.TextView; +import android.widget.Toast; + +import androidx.annotation.Nullable; + +import com.arpa.hndahesudintocctmsdriver.R; +import com.arpa.hndahesudintocctmsdriver.bean.UserBean; +import com.arpa.hndahesudintocctmsdriver.parts.UserParts; +import com.arpa.hndahesudintocctmsdriver.util.PaxWebChromeClient; +import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil; +import com.arpa.hndahesudintocctmsdriver.util.string.StringUtil; +import com.arpa.hndahesudintocctmsdriver.util.view.BaseActivity; + +/** + * @author hlh + * @version 1.0.0 + * @date 2021/8/6 16:48 + * @description:访问webview的activity + */ +public class WebOnlyOneActivity extends BaseActivity { + + private String url = ""; + private String title = ""; + private WebView wv; + private TextView title_tv; + private PaxWebChromeClient chromeClient; + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + StateStyleUtil.stateTextColor(this); + setContentView(R.layout.activity_web); + con = this; + initHardwareAccelerate(); + wv = findViewById(R.id.wv); + title_tv = findViewById(R.id.title); + Intent in = getIntent(); + url = in.getExtras().getString("url"); + title = in.getExtras().getString("title"); + chromeClient = new PaxWebChromeClient(this, null, null); + if ("咨询建议".equals(title)) { + initOpinion(); + } else { + initView(null); + } + } + + private void initHardwareAccelerate() { + try { + if (Integer.parseInt(Build.VERSION.SDK) >= 11) { + getWindow() + .setFlags( + android.view.WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED, + android.view.WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED); + } + } catch (Exception e) { + } + } + + @SuppressLint({"JavascriptInterface", "SetJavaScriptEnabled"}) + @Override + public void initView(Object obj) { + super.initView(obj); + WebSettings webSettings = wv.getSettings(); + //设置网页有缓存的时候也继续读取新的地址 + webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE); + webSettings.setJavaScriptEnabled(true); + webSettings.setDomStorageEnabled(true); + webSettings.setDefaultTextEncodingName("utf-8"); + // 特别注意:5.1以上默认禁止了https和http混用,以下方式是开启 + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW); + } + + wv.addJavascriptInterface(new JavaScriptObject(con), "webObj"); + //PaxWebChromeClient chromeClient=new PaxWebChromeClient(); + //WebView加载web资源 + //覆盖WebView默认使用第三方或系统默认浏览器打开网页的行为,使网页用WebView打开 + wv.setWebViewClient(new WebViewClient() { + @Override + public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { + return super.shouldOverrideUrlLoading(view, request); + } + + @Override + public boolean shouldOverrideUrlLoading(WebView view, String url1) { + //返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器 + Log.d("test", "webactivity..url:" + url); +// if(!url.startsWith("http")) +// { +// Log.d("test","非http开头..url:"+url); +// Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(url)); +// boolean isInstall = getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY).size()>0; +// Log.d("test","是否安装要跳转的app:"+isInstall); +// if(isInstall) +// { +// startActivity(intent); +// finish(); +// } +// return true; +// } + if (!url1.equals(url)) + return true; + wv.loadUrl(url1); + return true; + } + + @Override + public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { + super.onReceivedSslError(view, handler, error); + handler.proceed(); + } + }); + wv.setWebChromeClient(chromeClient); + wv.loadUrl(url); + title_tv.setText(title); + } + + public void initOpinion() { + if (findViewById(R.id.return_btn) != null) { + findViewById(R.id.return_btn).setOnClickListener(v -> { + finish(); + }); + } + title_tv.setText(title); + UserBean ub = UserParts.getUser(con); + wv.getSettings().setJavaScriptEnabled(true); + wv.getSettings().setDomStorageEnabled(true); // 这个要加上 + String openid = ub.getData().getUname(); // 用户的openid + String nickname = StringUtil.isNull(ub.getData().getRname(), "游客"); // 用户的nickname + String headimgurl = StringUtil.isNull(ub.getData().getHeadportraitUrl(), ""); // 用户的头像url + + /* 获得 webview url,请注意url单词是product而不是products,products是旧版本的参数,用错地址将不能成功提交 */ + String url = "https://support.qq.com/products/335639"; // 把1221数字换成你的产品ID,否则会不成功 + /* 准备post参数 */ + String postData = "nickname=" + nickname + "&avatar=" + headimgurl + "&openid=" + openid; + wv.postUrl(url, postData.getBytes()); + wv.setWebChromeClient(chromeClient); + wv.setWebViewClient(new WebViewClient() { + @Override + public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { + return super.shouldOverrideUrlLoading(view, request); + } + + @Override + public boolean shouldOverrideUrlLoading(WebView view, String url) { + //返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器 + view.loadUrl(url); + return true; + } + + @Override + public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { + super.onReceivedSslError(view, handler, error); + handler.proceed(); + } + }); + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + + chromeClient.onActivityResult(requestCode, resultCode, data); + + super.onActivityResult(requestCode, resultCode, data); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + } + + + public class JavaScriptObject { + + Context mContxt; + + public JavaScriptObject(Context mContxt) { + this.mContxt = mContxt; + + } + + @JavascriptInterface + public void getName() { + Log.e("eeee-", "name"); + Toast.makeText(con, "hello", Toast.LENGTH_SHORT).show(); + } + + @JavascriptInterface + public String getUserToken() { +// Log.e("-token-",UserParts.getUser(con).getData().getToken()); +// return "woshitoken-androidfasdf"; + return UserParts.getUser(con).getData().getToken(); + } + + @JavascriptInterface + public void isSuccess() { + finish(); + } + + @JavascriptInterface + public void isPdfSuccess() { + Toast.makeText(con, "签署成功", Toast.LENGTH_SHORT).show(); + finish(); + } + } + + +} + From 2da410bcd4ce2ef334f930144c203188cbefe0e9 Mon Sep 17 00:00:00 2001 From: lijia Date: Fri, 22 Nov 2024 16:35:54 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8C=82=E8=BD=A6?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hndahesudintocctmsdriver/bean/CarInfoBean2.java | 9 +++++++++ .../ui/auth/CertificatesActivity.java | 13 ++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/bean/CarInfoBean2.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/bean/CarInfoBean2.java index 5ce1f18..5ed4292 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/bean/CarInfoBean2.java +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/bean/CarInfoBean2.java @@ -99,10 +99,19 @@ public class CarInfoBean2 implements Serializable { private String threeImageStatus; private String towAuality; private String trailer; + private String trailerId; private String type; private String vehicleAxis; private String vehicleNumber; + public String getTrailerId() { + return trailerId; + } + + public void setTrailerId(String trailerId) { + this.trailerId = trailerId; + } + public String getAllAuality() { return allAuality; } diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/auth/CertificatesActivity.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/auth/CertificatesActivity.java index a80865c..8fd3292 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/auth/CertificatesActivity.java +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/auth/CertificatesActivity.java @@ -125,6 +125,7 @@ public class CertificatesActivity extends BaseAppCompatActivity { private int[] typeImgTwo = {R.mipmap.id_back, R.mipmap.license_back, R.mipmap.vehicle_license_back, R.mipmap.vehicle_license_back}; private int index = 0; private String carExistCarId = ""; + private String trailerId = ""; private DicBean.DataDTO curColor, curEnergy; private TextView zj_name, zjimg_name, zjimg2_name, zj_name2, zj_name3; private TextView name1, name2, name3, name4, value5, value6; @@ -489,6 +490,7 @@ public class CertificatesActivity extends BaseAppCompatActivity { if (bb.getCode() == 200 && bb.getData() != null) { if (!TextUtils.isEmpty(bb.getData().getCarId())) { carExistCarId = bb.getData().getCarId(); + trailerId = bb.getData().getTrailerId(); value1.setEnabled(false); value2.setEnabled(false); value3.setEnabled(false); @@ -510,7 +512,16 @@ public class CertificatesActivity extends BaseAppCompatActivity { if (bb.getCode() == 200) { VehicleEvent ve = new VehicleEvent(String.valueOf(carExistCarId)); EventBus.getDefault().postSticky(ve); - finish(); + if (("0".equals(trailerId)||TextUtils.isEmpty(trailerId)) && value2.getText().toString().contains("牵")) { + Intent in = new Intent(con, CertificatesActivity.class); + in.putExtra("index", 3); + in.putExtra("carId", carExistCarId); + startActivity(in); + finish(); + } else { + finish(); + } + ToastUtils.showToast(con, bb.getMsg()); } else { ToastUtils.showToast(con, bb.getMsg()); From 77481c73f6e0edb2de7fd61c661a5edadf510da1 Mon Sep 17 00:00:00 2001 From: lijia Date: Mon, 25 Nov 2024 09:48:59 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=B3=A8=E5=86=8C=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E6=B5=81=E8=BD=AC=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/auth/AuthQualificationActivity.java | 2 +- .../ui/auth/CertificatesActivity.java | 30 ++++++++++++------ .../ui/auth/PhotoCarActivity.java | 8 ++--- .../ui/my/MyFragment.java | 23 ++++++++++---- app/src/main/res/layout/item_my_new.xml | 2 +- .../main/res/mipmap-hdpi/icon_auth_wsh.png | Bin 0 -> 49780 bytes 6 files changed, 44 insertions(+), 21 deletions(-) create mode 100644 app/src/main/res/mipmap-hdpi/icon_auth_wsh.png diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/auth/AuthQualificationActivity.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/auth/AuthQualificationActivity.java index 56e978e..4bf5f8b 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/auth/AuthQualificationActivity.java +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/auth/AuthQualificationActivity.java @@ -143,7 +143,6 @@ public class AuthQualificationActivity extends BaseAppCompatActivity { }, 3000); } } else { - finish(); if (isOverCar) {//从业资格证=》道路运输许可证 Intent in = new Intent(con, PhotoCarActivity.class); in.putExtra("type", 3); @@ -154,6 +153,7 @@ public class AuthQualificationActivity extends BaseAppCompatActivity { in.putExtra("type", 3); con.startActivity(in); } + finish(); } diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/auth/CertificatesActivity.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/auth/CertificatesActivity.java index 8fd3292..cb448ac 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/auth/CertificatesActivity.java +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/auth/CertificatesActivity.java @@ -312,7 +312,7 @@ public class CertificatesActivity extends BaseAppCompatActivity { String needUpQCPhoto = bb.getData().getNeedUpQCPhoto(); String needUpRLPhoto = bb.getData().getNeedUpRLPhoto();//是否需要上传道路运输证到 Toast.makeText(con, "挂车信息保存成功", Toast.LENGTH_SHORT).show(); - finish(); + VehicleEvent ve = new VehicleEvent("挂"); EventBus.getDefault().post(ve); @@ -336,6 +336,8 @@ public class CertificatesActivity extends BaseAppCompatActivity { in.putExtra("carId", carId); con.startActivity(in); } + + finish(); } else { Toast.makeText(con, "挂车信息保存失败", Toast.LENGTH_SHORT).show(); } @@ -512,7 +514,7 @@ public class CertificatesActivity extends BaseAppCompatActivity { if (bb.getCode() == 200) { VehicleEvent ve = new VehicleEvent(String.valueOf(carExistCarId)); EventBus.getDefault().postSticky(ve); - if (("0".equals(trailerId)||TextUtils.isEmpty(trailerId)) && value2.getText().toString().contains("牵")) { + if (("0".equals(trailerId) || TextUtils.isEmpty(trailerId)) && value2.getText().toString().contains("牵")) { Intent in = new Intent(con, CertificatesActivity.class); in.putExtra("index", 3); in.putExtra("carId", carExistCarId); @@ -530,7 +532,7 @@ public class CertificatesActivity extends BaseAppCompatActivity { } else { pathOrcRes(); //重复代码? - initView(null); +// initView(null); if (!(CacheGroup.cacheList.get(TYPE_NAME_BANK[2]) != null || CacheGroup.cacheList.get(TYPE_NAME_BANK[3]) != null)) { initData(); } @@ -635,6 +637,7 @@ public class CertificatesActivity extends BaseAppCompatActivity { default: break; } + initView(null); } @Override @@ -939,12 +942,13 @@ public class CertificatesActivity extends BaseAppCompatActivity { case 0: if (CacheGroup.cacheList.get(TYPE_NAME[0]) != null) { ocb = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME[0]), OCRCardBean.class); + ImageLoader.getInstance().loadImage(con, path, img1, typeImgOne[index]); if (ocb.getCode() == 200 && ocb.getData() != null) { // url1 = ocb.getData().getUrl(); value1.setText(ocb.getData().getName()); value2.setText(ocb.getData().getIdcard()); value3.setText(ocb.getData().getAddress()); - Glide.with(con).load(path).into(img1); +// Glide.with(con).load(path).into(img1); } else { Toast.makeText(con, "识别失败请重新上传", Toast.LENGTH_SHORT).show(); } @@ -952,9 +956,10 @@ public class CertificatesActivity extends BaseAppCompatActivity { } if (CacheGroup.cacheList.get(TYPE_NAME_BANK[0]) != null) { ocbb = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME_BANK[0]), OCRCardBackBean.class); + ImageLoader.getInstance().loadImage(con, path, img2, typeImgTwo[index]); if (ocbb.getCode() == 200 && ocbb.getData() != null) { value4.setText(ocbb.getData().getValidTo()); - Glide.with(con).load(path).into(img2); +// Glide.with(con).load(path).into(img2); startTime = ocbb.getData().getValidFrom(); //自动调取提交功能,实现页面自动跳转 subimt(); @@ -968,6 +973,7 @@ public class CertificatesActivity extends BaseAppCompatActivity { //{"档案编号","初次领证日期","准驾车型","有效期限(止)"}, if (CacheGroup.cacheList.get(TYPE_NAME[1]) != null) { odl = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME[1]), OCRDrivingLicenseBean.class); + ImageLoader.getInstance().loadImage(con, path, img1, typeImgOne[index]); if (odl.getCode() == 200 && odl.getData() != null) { OCRDrivingLicenseBean.DataDTO od = odl.getData(); // url1 = odl.getData().getUrl(); @@ -976,7 +982,8 @@ public class CertificatesActivity extends BaseAppCompatActivity { value2.setText(StringUtil.isNull(od.getFirstGetDocDate(), "识别异常")); value3.setText(StringUtil.isNull(od.getQuasiDriveType(), "识别异常")); value4.setText(StringUtil.isNull(od.getEndDate(), "识别异常")); - Glide.with(con).load(path).into(img1); + +// Glide.with(con).load(path).into(img1); } else { Toast.makeText(con, "识别失败请重新上传", Toast.LENGTH_SHORT).show(); } @@ -984,8 +991,9 @@ public class CertificatesActivity extends BaseAppCompatActivity { } if (CacheGroup.cacheList.get(TYPE_NAME_BANK[1]) != null) { odlb = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME_BANK[1]), OCRDrivingLicenseBackBean.class); + ImageLoader.getInstance().loadImage(con, path, img2, typeImgTwo[index]); if (odlb.getCode() == 200 && odlb.getData() != null) { - Glide.with(con).load(path).into(img2); +// Glide.with(con).load(path).into(img2); //自动调取提交功能,实现页面自动跳转 subimt(); } else { @@ -1000,6 +1008,7 @@ public class CertificatesActivity extends BaseAppCompatActivity { if (CacheGroup.cacheList.get(TYPE_NAME[2]) != null) { Log.e("olb", CacheGroup.cacheList.get(TYPE_NAME[2])); olb = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME[2]), OCRVehicleLicenseBean.class); + ImageLoader.getInstance().loadImage(con, path, img1, typeImgOne[index]); if (olb.getCode() == 200 && olb.getData() != null) { if (2 == index && olb.getData().getVclN().contains("挂")) { Toast.makeText(con, "该证件为挂车,请上传行驶证证件", Toast.LENGTH_SHORT).show(); @@ -1024,7 +1033,8 @@ public class CertificatesActivity extends BaseAppCompatActivity { value4.setText(olb.getData().getVin()); // fontId = olb.getData().getId(); // Glide.with(con).load(url1).into(img1); - Glide.with(con).load(path).into(img1); +// Glide.with(con).load(path).into(img1); + oCrcarId = olb.getData().getCarId() + ""; if (!TextUtils.isEmpty(olb.getData().getVclN()) && !olb.getData().getVclN().contains("挂")) new AuthRequest().getCarInfo(con, hd, olb.getData().getVclN()); @@ -1036,11 +1046,13 @@ public class CertificatesActivity extends BaseAppCompatActivity { } if (CacheGroup.cacheList.get(TYPE_NAME_BANK[2]) != null) { oblb = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME_BANK[2]), OCRVehicleBackLicenseBean.class); + ImageLoader.getInstance().loadImage(con, path, img2, typeImgTwo[index]); if (oblb.getCode() == 200 && oblb.getData() != null) { // url2 = oblb.getData().getUrl(); // backId = oblb.getData().getId(); // Glide.with(con).load(url2).into(img2); - Glide.with(con).load(path).into(img2); + +// Glide.with(con).load(path).into(img2); //自动调取提交功能,实现页面自动跳转实现页面自动跳转 subimt(); } else { diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/auth/PhotoCarActivity.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/auth/PhotoCarActivity.java index 4103e21..af5075b 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/auth/PhotoCarActivity.java +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/auth/PhotoCarActivity.java @@ -186,11 +186,11 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl Log.e("is", CacheGroup.cacheList.get("saveCarRegisterNo")); IsAuthDriverAuthQualificationBean ib = gson.fromJson(CacheGroup.cacheList.get("saveCarRegisterNo"), IsAuthDriverAuthQualificationBean.class); if (ib.getCode() == 200) { - finish(); Intent in = new Intent(con, PhotoCarActivity.class); in.putExtra("type", 3); in.putExtra("carId", carId); con.startActivity(in); + finish(); } else { Toast.makeText(con, ib.getMsg(), Toast.LENGTH_SHORT).show(); } @@ -204,12 +204,11 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl //判断是否需要跳转挂车行驶证页面 if (!"".equals(carId) && cdb.getData() != null) { if (cdb.getData().getIsTrailer() == 1 && cdb.getData().getTrailerResVo() != null && !TextUtils.isEmpty(cdb.getData().getTrailerResVo().getCarNumber())) {//需要挂车,并且传过挂车直接结束 - finish(); Intent in = new Intent(con, AddCarSuccActivity.class); in.putExtra("type", 3); con.startActivity(in); - } else if (cdb.getData().getIsTrailer() == 1 && cdb.getData().getTrailerResVo() != null && TextUtils.isEmpty(cdb.getData().getTrailerResVo().getCarNumber())) {//需要挂车,没传过挂车,到挂车页面 finish(); + } else if (cdb.getData().getIsTrailer() == 1 && cdb.getData().getTrailerResVo() != null && TextUtils.isEmpty(cdb.getData().getTrailerResVo().getCarNumber())) {//需要挂车,没传过挂车,到挂车页面 Intent in = new Intent(con, CertificatesActivity.class); in.putExtra("index", 3); in.putExtra("carId", carId); @@ -217,6 +216,7 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl in.putExtra("cheData", new Gson().toJson(cdb)); } startActivity(in); + finish(); } else if (cdb.getData().getIsTrailer() == 0) {//不需要挂车 if ("1".equals(cdb.getData().getNeedUpQCPhoto())) {//需要从业资格证 Intent in = new Intent(con, AuthQualificationActivity.class); @@ -225,10 +225,10 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl in.putExtra("isOverCar", false); startActivity(in); } else { - finish(); Intent in = new Intent(con, AddCarSuccActivity.class); in.putExtra("type", 3); con.startActivity(in); + finish(); } } } else { diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/my/MyFragment.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/my/MyFragment.java index 5e3390b..f4df667 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/my/MyFragment.java +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/my/MyFragment.java @@ -282,13 +282,24 @@ public class MyFragment extends BaseFragment { if (!"".equals(userBean.getData().getHeadportraitUrl())) { Glide.with(con).load(userBean.getData().getHeadportraitUrl()).into(img_head); } - if (userBean != null && 100003 == userBean.getData().getAuditStatus()) { - auth_box.setVisibility(View.GONE); - no_auth.setVisibility(View.GONE); - } else { - auth_box.setVisibility(View.GONE); - no_auth.setVisibility(View.VISIBLE); + + if (userBean!=null){ + if ("0".equals(userBean.getData().getRealAuthentication())){ + no_auth.setVisibility(View.VISIBLE); + }else{ + if (100003 != userBean.getData().getAuditStatus()){ + no_auth.setBackgroundResource(R.mipmap.icon_auth_wsh); + } + } } + +// if (userBean != null && 100003 == userBean.getData().getAuditStatus()) { +// auth_box.setVisibility(View.GONE); +// no_auth.setVisibility(View.GONE); +// } else { +// auth_box.setVisibility(View.GONE); +// no_auth.setVisibility(View.VISIBLE); +// } } } diff --git a/app/src/main/res/layout/item_my_new.xml b/app/src/main/res/layout/item_my_new.xml index 7143fc1..823ab5c 100644 --- a/app/src/main/res/layout/item_my_new.xml +++ b/app/src/main/res/layout/item_my_new.xml @@ -80,7 +80,7 @@ android:layout_marginLeft="@dimen/dp_14" android:layout_width="@dimen/dp_143" android:layout_height="@dimen/dp_36" - android:src="@mipmap/icon_auth_new"/> + android:background="@mipmap/icon_auth_new"/> diff --git a/app/src/main/res/mipmap-hdpi/icon_auth_wsh.png b/app/src/main/res/mipmap-hdpi/icon_auth_wsh.png new file mode 100644 index 0000000000000000000000000000000000000000..7de975b28f42ca27814b81557b82f42d4291aade GIT binary patch literal 49780 zcmaHSWk6g@5-#rU9^7GYcXxLP?jGD-f(Lhk26xxN3GPnN5Zqnoad+?Cw?E##`7zU{ zr>eTD>#OQIHFKg=l%$an2oS))z>sBSB-FsbAOt?f-{4?A-jS5*sXspO-6VC~)SWEd zJWX6Iz(mcROf5)d9Zak&)GSQQy}yiFd~iTg+i2*x=_o4jnK?NyoBTz??B(G6!3_o` zAnfIAVrFOIMrvwdW#cGFe$fdeC$%vbB-iFtWKnb$x3IR6@o}+G_fgU?^RYAIH76Gq zA{FrB`w-w@;bubW%TkI*KZ!;!Z9Wq`b_m zOlB-BY^2=0%qCnWTm019+J@16Y|^{<7*HLPf>@ zKdFPmf2dvE)GYq5zW-0bt{UFX763I1S0{HDvk%`{Qv9`)GoQGNg^8P!i-wbv{XZM2 zV(sMSJqC8@(tgMn!qMYoKQtWKpV%)r}tej$O|L{sUnYlYyIJ*7AYyN+ECH^PxUvO}6 z{#aSU!o|kJ!d%M5$$|7=HuKs1Z(T(Hr@X&;&HuM9V*isD@SzOgFVFs$r~jGyfX`pU z|3LTS;y>WGaQr~L%LlZ%%3R*Szg#Gu2j`Mu4nNtXqlnN2{AdK%+E@B9%6qL-ighPA@$!QcNa zTW^`K*Ofs;iLgy}0&;S?F=(1GKN&GUIeSC_ZQ;L(8VSEa!nApjCTD$Dzwsde7sa_1 zL0n1frH&D>N(3JKxtaNIYIf8^ogj+fIKSHpY5Kf*IJkzL8oceR{Gkv+P)78D&F>5R zFh-S;=l>WDo<}=VPgao!&i#5AbI{{G2|?N^=-ovUw(?CAX5Ym!iWPC|Bx9tr+u0{yfMcf*l7b|7%x2_5@S| zo|iVGX&a=p6_iup)q;u`KzUieQw_CC#su$S4rgcD8y^@;o>1?VhX+PEVE(zR@*k%F z$AU(Jh$|Vap%P;*83qnvSl^-@F zAI5LSn1j?~@6|3L#LGtq8uZ>Gk7=+xA~%^z#(?`7 zfPXu)?^q|l(Hty3uqtcIEJ!+{srY^*Bv-d^AMY?R#DZ`tsn=3ofNS#N-JhSSx75t{ zpRMT>ul6MDi^rz&W!V*th6Rj6Y*c9qk4Hia$g}rORjDkI3kh&FVM7Y?qxUx2kPz

}#pkpcj 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 pgJb1Cl>ZHn{`2zL+W*2f1c?&x