From c39513ce134f09e6a1761ad79765d5920f47a977 Mon Sep 17 00:00:00 2001 From: lijia Date: Mon, 28 Aug 2023 15:42:27 +0800 Subject: [PATCH] =?UTF-8?q?3.2.7=E4=BA=BA=E8=BD=A6=E8=AE=A4=E8=AF=81?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 8 +- app/src/main/AndroidManifest.xml | 21 + .../hndahesudintocctmsdriver/H5Activity.java | 496 ++++++++++++++++++ .../bean/CarDelBean.java | 9 + .../bean/CarInfoBean.java | 150 ++++++ .../bean/CarZhengBean.java | 27 + .../cuspop/MessagePop.kt | 7 + .../cuspop/SimCenterPop.kt | 60 +++ .../event/FaceEvent.java | 22 + .../request/OCRRequest.java | 5 + .../request/RequestConstant.java | 11 +- .../request/net/Api.java | 4 +- .../ui/MainActivity.kt | 7 +- .../ui/auth/AuthQualificationActivity.java | 54 +- .../ui/auth/CertificatesActivity.java | 229 ++++++-- .../ui/auth/PersonalAuthActivity.java | 8 + .../ui/auth/PhotoCarActivity.java | 51 +- .../ui/home/HomeFragment.java | 15 + .../ui/home/HuoYunDelActivity.java | 60 ++- .../shangchuan/ShangChuangImgActivity.java | 38 +- .../util/MessageUtils.kt | 37 +- app/src/main/res/layout/activity_che_data.xml | 78 +-- .../res/layout/activity_shangchuan_xsz.xml | 2 +- .../main/res/layout/pop_message_center.xml | 1 + app/src/main/res/layout/pop_sim_center.xml | 71 +++ 25 files changed, 1357 insertions(+), 114 deletions(-) create mode 100644 app/src/main/java/com/arpa/hndahesudintocctmsdriver/H5Activity.java create mode 100644 app/src/main/java/com/arpa/hndahesudintocctmsdriver/bean/CarInfoBean.java create mode 100644 app/src/main/java/com/arpa/hndahesudintocctmsdriver/cuspop/SimCenterPop.kt create mode 100644 app/src/main/java/com/arpa/hndahesudintocctmsdriver/event/FaceEvent.java create mode 100644 app/src/main/res/layout/pop_sim_center.xml diff --git a/app/build.gradle b/app/build.gradle index e48b9a9..9514fc4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -35,8 +35,8 @@ android { applicationId "com.arpa.hndahesudintocctmsdriver" minSdkVersion 23 targetSdkVersion 30 - versionCode 54 - versionName "3.2.3" + versionCode 57 + versionName "3.2.7" flavorDimensions "CHANNEL_VALUE" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" javaCompileOptions { @@ -112,9 +112,9 @@ android { productFlavors { qa { - manifestPlaceholders = [CHANNEL_VALUE: "大河好运司机"] + manifestPlaceholders = [CHANNEL_VALUE: "好运司机测试"] buildConfigField("String", "OPEN_API_URL", "\"http://192.168.111.244:4009\"") - buildConfigField("String", "BASE_URL", "\"http://app.dahehuoyun.com/api/\"") + buildConfigField("String", "BASE_URL", "\"http://app.test.dahehuoyun.com/api/\"") } product { manifestPlaceholders = [CHANNEL_VALUE: "大河好运司机"] diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a56c1ef..e057f53 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -341,6 +341,27 @@ + + + + + + + + + + + + uploadMessage; + private ValueCallback uploadMessageAboveL; + private final static int FILE_CHOOSER_RESULT_CODE = 10000; + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + super.setContentView(R.layout.activity_h5); + + + mWebView = findViewById(R.id.webview); + ImageView back = findViewById(R.id.back); + TextView close = findViewById(R.id.close); + WebSettings webSetting = mWebView.getSettings(); + + back.setOnClickListener(v -> { + if (mWebView.canGoBack()) { + mWebView.goBack(); + } else { + finish(); + } + }); + + close.setOnClickListener(v -> { + if (mWebView.canGoBack()) { + mWebView.goBack(); + } else { + finish(); + } + }); + + webSetting.setJavaScriptEnabled(true); + webSetting.setDomStorageEnabled(true); + webSetting.setAppCacheMaxSize(1024 * 1024 * 8); + webSetting.setUseWideViewPort(true); + webSetting.setLoadWithOverviewMode(true); + webSetting.setAllowFileAccess(true); + webSetting.setAppCacheEnabled(true); + String appCachePath = getApplication().getCacheDir().getAbsolutePath(); + webSetting.setAppCachePath(appCachePath); + webSetting.setDatabaseEnabled(true); + webSetting.setCacheMode(LOAD_NO_CACHE); + webSetting.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + WebView.setWebContentsDebuggingEnabled(true); + } + + CookieSyncManager.createInstance(this); + CookieManager cookieManager = CookieManager.getInstance(); + if (Build.VERSION.SDK_INT >= 21) { + cookieManager.setAcceptThirdPartyCookies(mWebView, true); + } + cookieManager.setAcceptCookie(true); + + + mWebView.setWebViewClient(new MyWebViewClient()); + mWebView.setWebChromeClient(new H5FaceWebChromeClient(this)); + + WBH5FaceVerifySDK.getInstance().setWebViewSettings(mWebView, getApplicationContext()); + + processExtraData(); + } + + @Override + protected void onPause() { + super.onPause(); + mWebView.onPause(); + } + + @Override + protected void onResume() { + super.onResume(); + mWebView.onResume(); + } + + @Override + protected void onStop() { + super.onStop(); + mWebView.stopLoading(); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + try { + if (mWebView != null) { + mWebView.removeAllViews(); + mWebView.destroy(); + } + } catch (Exception e) { + } + } + + @Override + protected void onNewIntent(Intent intent) { + super.onNewIntent(intent); + setIntent(intent); + processExtraData(); + } + + private void processExtraData() { + + Intent intent = getIntent(); + Uri uri = intent.getData(); + Log.e("test", "===" + uri); + if (uri != null) { + // 芝麻认证刷脸结束返回获取后续操作页面地址 +// String callbackUrl = uri.getQueryParameter("callback"); + + String callbackUrl = uri.getQueryParameter("realnameUrl"); + if (!TextUtils.isEmpty(callbackUrl)) { + try { + mWebView.loadUrl(URLDecoder.decode(callbackUrl, "utf-8")); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + } + + } else { + String url = intent.getStringExtra("url"); + viewFile = intent.getBooleanExtra("view_file", false); + if (url.startsWith("alipay")) { + + try { + Intent intent2 = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); + startActivity(intent2); + return; + } catch (Exception e) { + } + } + if (curUrl == null) { + curUrl = url; + } + mWebView.loadUrl(url); + } + + } + + private class MyWebViewClient extends WebViewClient { + @Override + public boolean shouldOverrideUrlLoading(WebView view, String url) { + if (url == null) { + return false; + } + + Uri uri = Uri.parse(url); + Log.e("test", "要加载的地址:" + uri.getScheme() + " " + url + " "); + + + if (url.contains("callback")) { + // 实名认证结束 返回按钮/倒计时返回/暂不认证 + boolean status = uri.getBooleanQueryParameter("passed", false); + if (status) { + + new Handler().postDelayed(() -> { + FaceEvent he = new FaceEvent("刷脸成功"); + EventBus.getDefault().post(he); + finish(); + }, 4000); + }else{ + if (mWebView.canGoBack()) { + mWebView.goBack(); + } + Toast.makeText(H5Activity.this, "认证失败,请重新刷脸认证", Toast.LENGTH_SHORT).show(); + } + return true; + } + + if (uri.getScheme().equals("http") || uri.getScheme().equals("https")) { + view.loadUrl(url); + return true; + } else if (uri.getScheme().equals("js") || uri.getScheme().equals("jsbridge")) { + + // js://signCallback?signResult=true 签署结果 + if (uri.getAuthority().equals("signCallback")) { + if (viewFile) { + view.loadUrl(curUrl); + return true; + } else { + if (url.contains("signResult")) { + boolean signResult = uri.getBooleanQueryParameter("signResult", false); + Toast.makeText(H5Activity.this, "签署结果: " + " signResult = " + signResult, Toast.LENGTH_LONG).show(); + } else { + String tsignCode = uri.getQueryParameter("tsignCode"); + if ("0".equals(tsignCode)) { + tsignCode = "签署成功"; + } else { + tsignCode = "签署失败"; + } + Toast.makeText(H5Activity.this, "签署结果: " + tsignCode, Toast.LENGTH_LONG).show(); + } + } + finish(); + } + + //js://tsignRealBack?esignAppScheme=esign://app/callback&serviceId=854677892133554052&verifycode=4a52e2af0d0abfb7b285c4f05b5af133&status=true&passed=true + //实名结果 + if (uri.getAuthority().equals("tsignRealBack")) { + //实名结果字段 + if (uri.getQueryParameter("verifycode") != null) { + String realVerifyCode = uri.getQueryParameter("verifycode"); + } + // 实名认证结束 返回按钮/倒计时返回/暂不认证 + boolean status = uri.getBooleanQueryParameter("status", false); + if (status) { + //认证成功返回 + Toast.makeText(H5Activity.this, "认证成功", Toast.LENGTH_LONG).show(); + finish(); + } + } + return true; + } else if (url.startsWith(SCHEMA_REAL)) { + //esign://app/realBack&serviceId=854677892133554052&verifycode=4a52e2af0d0abfb7b285c4f05b5af133&status=true&passed=true + + //实名结果 + if (uri.getQueryParameter("verifycode") != null) { + String realVerifyCode = uri.getQueryParameter("verifycode"); + } + // 实名认证结束 返回按钮/倒计时返回/暂不认证 + boolean status = uri.getBooleanQueryParameter("status", false); + if (status) { + //认证成功返回 + Toast.makeText(H5Activity.this, "认证成功", Toast.LENGTH_LONG).show(); + finish(); + } + + return true; + } else if (url.startsWith(SCHEMA_SIGN)) { + // js://signCallback?signResult=true 签署结果 + if (url.contains("signResult")) { + boolean signResult = uri.getBooleanQueryParameter("signResult", false); + Toast.makeText(H5Activity.this, "签署结果: " + " signResult = " + signResult, Toast.LENGTH_LONG).show(); + } else { + String tsignCode = uri.getQueryParameter("tsignCode"); + if ("0".equals(tsignCode)) { + tsignCode = "签署成功"; + } else { + tsignCode = "签署失败"; + } + Toast.makeText(H5Activity.this, "签署结果: " + tsignCode, Toast.LENGTH_LONG).show(); + } + finish(); + return true; + } else if (uri.getScheme().equals("alipays")) { + // 跳转到支付宝刷脸 + // alipays://platformapi/startapp?appId=20000067&pd=NO&url=https%3A%2F%2Fzmcustprod.zmxy.com.cn%2Fcertify%2Fbegin.htm%3Ftoken%3DZM201811133000000050500431389414 + try { + Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); + startActivity(intent); + return true; + } catch (Exception e) { + return false; + } + } else { + return false; + } + } + + @Override + public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) { + super.onReceivedError(view, request, error); + } + + @Override + public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { +// super.onReceivedSslError(view, handler, error); + handler.proceed(); + } + + @Override + public void onPageStarted(WebView view, String url, Bitmap favicon) { + super.onPageStarted(view, url, favicon); + time = System.currentTimeMillis(); + } + + @Override + public void onPageFinished(WebView view, String url) { + super.onPageFinished(view, url); + } + + @Override + public void onLoadResource(WebView view, String url) { + super.onLoadResource(view, url); + } + } + + + public class H5FaceWebChromeClient extends WebChromeClient { + private Activity activity; + + public H5FaceWebChromeClient(Activity mActivity) { + this.activity = mActivity; + } + + + @Override + public void onReceivedTitle(WebView view, String title) { + } + + @Override + public boolean onJsPrompt(WebView view, String url, String message, String defaultValue, JsPromptResult result) { + return super.onJsPrompt(view, url, message, defaultValue, result); + } + + @Override + public boolean onJsConfirm(WebView view, String url, String message, JsResult result) { + return super.onJsConfirm(view, url, message, result); + } + + @TargetApi(8) + @Override + public boolean onConsoleMessage(ConsoleMessage consoleMessage) { + return super.onConsoleMessage(consoleMessage); + } + + public void openFileChooser(ValueCallback uploadMsg, String acceptType) { + if (WBH5FaceVerifySDK.getInstance().recordVideoForApiBelow21(uploadMsg, acceptType, activity)) { + return; + } + uploadMessage = uploadMsg; + } + + public void openFileChooser(ValueCallback uploadMsg, String acceptType, String capture) { + if (WBH5FaceVerifySDK.getInstance().recordVideoForApiBelow21(uploadMsg, acceptType, activity)) { + return; + } + uploadMessage = uploadMessage; + } + + @TargetApi(21) + @Override + public boolean onShowFileChooser(WebView webView, ValueCallback filePathCallback, FileChooserParams fileChooserParams) { + if (WBH5FaceVerifySDK.getInstance().recordVideoForApi21(webView, filePathCallback, activity, fileChooserParams)) { + return true; + } + uploadMessageAboveL = filePathCallback; + recordVideo(H5Activity.this); + return true; + } + + @Override + public void onPermissionRequest(PermissionRequest request) { + request.grant(request.getResources()); + request.getOrigin(); + } + } + + public void recordVideo(Activity activity) { + if (EasyPermissions.hasPermissions(activity, Manifest.permission.CAMERA)) { + try { + Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); + intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1); + intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); + intent.putExtra("android.intent.extras.CAMERA_FACING", 1); // 调用前置摄像头 + activity.startActivityForResult(intent, FILE_CHOOSER_RESULT_CODE); + } catch (Exception e) { + e.printStackTrace(); + } + } else { + EasyPermissions.requestPermissions(activity, "请同意使用相机功能", REQUEST_PERMISSION_CAMERA, Manifest.permission.CAMERA); + } + } + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_BACK) { + if (mWebView.canGoBack()) { + mWebView.goBack(); + } else { + finish(); + } + return true; + } + return super.onKeyDown(keyCode, event); + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + super.onActivityResult(requestCode, resultCode, data); + + if (WBH5FaceVerifySDK.getInstance().receiveH5FaceVerifyResult(requestCode, resultCode, data)) { + return; + } + + if (requestCode == FILE_CHOOSER_RESULT_CODE) { + if (null == uploadMessage && null == uploadMessageAboveL) { + return; + } + Uri result = data == null || resultCode != RESULT_OK ? null : data.getData(); + if (uploadMessageAboveL != null) { + if (resultCode == RESULT_OK) { + uploadMessageAboveL.onReceiveValue(new Uri[]{result}); + uploadMessageAboveL = null; + } else { + uploadMessageAboveL.onReceiveValue(new Uri[]{}); + uploadMessageAboveL = null; + } + } else if (uploadMessage != null) { + if (resultCode == RESULT_OK) { + uploadMessage.onReceiveValue(result); + uploadMessage = null; + } else { + uploadMessage.onReceiveValue(Uri.EMPTY); + uploadMessage = null; + } + } + } + + } + + + @Override + public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { + super.onRequestPermissionsResult(requestCode, permissions, grantResults); + WBH5FaceVerifySDK.getInstance().recordVideo(this); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/bean/CarDelBean.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/bean/CarDelBean.java index 7632716..c6c082c 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/bean/CarDelBean.java +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/bean/CarDelBean.java @@ -77,6 +77,15 @@ public class CarDelBean { private String registerNo; private String carEnergyTypValue; private String carPlateColorValue; + private String needUpQCPhoto; + + public String getNeedUpQCPhoto() { + return needUpQCPhoto; + } + + public void setNeedUpQCPhoto(String needUpQCPhoto) { + this.needUpQCPhoto = needUpQCPhoto; + } public String getCarPlateColorValue() { return carPlateColorValue; diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/bean/CarInfoBean.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/bean/CarInfoBean.java new file mode 100644 index 0000000..002ae29 --- /dev/null +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/bean/CarInfoBean.java @@ -0,0 +1,150 @@ +package com.arpa.hndahesudintocctmsdriver.bean; + +import java.util.List; + +/** + * @ClassName CarInfoBean + * @Author 用户 + * @Date 2023/8/17 15:35 + * @Description TODO + */ +public class CarInfoBean { + + + private int code; + private DataDTO data; + private String msg; + private int res; + private Boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataDTO getData() { + return data; + } + + public void setData(DataDTO data) { + this.data = data; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public int getRes() { + return res; + } + + public void setRes(int res) { + this.res = res; + } + + public Boolean getSuccess() { + return success; + } + + public void setSuccess(Boolean success) { + this.success = success; + } + + public static class DataDTO { + private Object code; + private DataDTO.DataDTO2 data; + private Object message; + private String forceMatching; + + + public String getForceMatching() { + return forceMatching; + } + + public void setForceMatching(String forceMatching) { + this.forceMatching = forceMatching; + } + + public Object getCode() { + return code; + } + + public void setCode(Object code) { + this.code = code; + } + + public DataDTO2 getData() { + return data; + } + + public void setData(DataDTO2 data) { + this.data = data; + } + + public Object getMessage() { + return message; + } + + public void setMessage(Object message) { + this.message = message; + } + + public static class DataDTO2 { + private List prism_keyValueInfo; + + public List getPrism_keyValueInfo() { + return prism_keyValueInfo; + } + + public void setPrism_keyValueInfo(List prism_keyValueInfo) { + this.prism_keyValueInfo = prism_keyValueInfo; + } + + public static class PrismKeyValueInfoDTO { + private int keyProb; + private int valueProb; + private String value; + private String key; + + public int getKeyProb() { + return keyProb; + } + + public void setKeyProb(int keyProb) { + this.keyProb = keyProb; + } + + public int getValueProb() { + return valueProb; + } + + public void setValueProb(int valueProb) { + this.valueProb = valueProb; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + } + } + } +} diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/bean/CarZhengBean.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/bean/CarZhengBean.java index cc45d52..51c96c3 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/bean/CarZhengBean.java +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/bean/CarZhengBean.java @@ -56,6 +56,33 @@ public class CarZhengBean { public static class DataDTO { private int carId; + private String needUpQCPhoto; + private String isTrailer; + private String needUpRLPhoto; + + public String getNeedUpRLPhoto() { + return needUpRLPhoto; + } + + public void setNeedUpRLPhoto(String needUpRLPhoto) { + this.needUpRLPhoto = needUpRLPhoto; + } + + public String getIsTrailer() { + return isTrailer; + } + + public void setIsTrailer(String isTrailer) { + this.isTrailer = isTrailer; + } + + public String getNeedUpQCPhoto() { + return needUpQCPhoto; + } + + public void setNeedUpQCPhoto(String needUpQCPhoto) { + this.needUpQCPhoto = needUpQCPhoto; + } public int getCarId() { return carId; diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/cuspop/MessagePop.kt b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/cuspop/MessagePop.kt index 75d0e5c..ead82bb 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/cuspop/MessagePop.kt +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/cuspop/MessagePop.kt @@ -22,11 +22,17 @@ import kotlinx.android.synthetic.main.pop_message_center.view.* class MessagePop(context: Context) : CenterPopupView(context), View.OnClickListener { lateinit var content :String + var secMessage :String? = "" constructor(context: Context,message : String) :this(context) { content = message } + constructor(context: Context,message : String,message2 : String) :this(context) { + content = message + secMessage = message2 + } + override fun getImplLayoutId() = R.layout.pop_message_center override fun onCreate() { @@ -35,6 +41,7 @@ class MessagePop(context: Context) : CenterPopupView(context), View.OnClickListe tvOk.setOnClickListener(this) tvPhone.setOnClickListener(this) tvContent.text = "$content" + tvMessage2.text =secMessage } override fun onClick(v: View?) { diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/cuspop/SimCenterPop.kt b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/cuspop/SimCenterPop.kt new file mode 100644 index 0000000..3522218 --- /dev/null +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/cuspop/SimCenterPop.kt @@ -0,0 +1,60 @@ +package com.arpa.hndahesudintocctmsdriver.cuspop + +import android.content.Context +import android.view.View +import com.arpa.hndahesudintocctmsdriver.R +import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity +import com.lxj.xpopup.core.CenterPopupView +import kotlinx.android.synthetic.main.pop_sim_center.view.* + + +/** + * @ClassName MessagePop + * @Author 用户 + * @Date 2023/8/14 18:01 + * @Description TODO + */ +class SimCenterPop(context: Context) : CenterPopupView(context), View.OnClickListener { + + lateinit var content: String + lateinit var secMessage: String + + constructor(context: Context, message: String) : this(context) { + content = message + } + + + override fun getImplLayoutId() = R.layout.pop_sim_center + + override fun onCreate() { + super.onCreate() + tvCancel.setOnClickListener(this) + tvOk.setOnClickListener(this) + tvContent.text = "$content" + + } + + override fun onClick(v: View?) { + when (v?.id) { + R.id.tvCancel -> { + dismiss() + } + R.id.tvOk -> { + dismiss() + listener?.onItemClick() + } + } + } + + + private var listener: OnMyItemClickListener? = null + fun setOnMyItemClickListener(listener: OnMyItemClickListener): SimCenterPop { + this.listener = listener + return this + } + + interface OnMyItemClickListener { + fun onItemClick() + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/event/FaceEvent.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/event/FaceEvent.java new file mode 100644 index 0000000..970dbdb --- /dev/null +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/event/FaceEvent.java @@ -0,0 +1,22 @@ +package com.arpa.hndahesudintocctmsdriver.event; + +/** + * @author hlh + * @version 1.0.0 + * @date 2021/10/20 14:43 + * @description: + */ +public class FaceEvent { + + private String message; + + public FaceEvent(String message) { + this.message = message; + } + public String getMessage() { + return message; + } + public void setMessage(String message) { + this.message = message; + } +} diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/request/OCRRequest.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/request/OCRRequest.java index 2a80256..5b9deba 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/request/OCRRequest.java +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/request/OCRRequest.java @@ -59,4 +59,9 @@ public class OCRRequest { RequestUtil.start(12, "carName",re,con,hd); } + + public void OCRCarPlateLicense(Context con, Handler hd, File file){ + Request re = OkHttpUtil.postFile(new OkDate(RequestConstant.getPlateLicense2()),getToken(con),file); + RequestUtil.start(12, "carNum",re,con,hd); + } } diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/request/RequestConstant.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/request/RequestConstant.java index a9b4ee5..f6b2e99 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/request/RequestConstant.java +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/request/RequestConstant.java @@ -1,10 +1,12 @@ package com.arpa.hndahesudintocctmsdriver.request; +import com.arpa.hndahesudintocctmsdriver.BuildConfig; + public class RequestConstant { public static String TOKEN="eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2MzA0MDE3OTIsInVzZXJJZCI6ODAsImlhdCI6MTYyNzcyMzM5Mn0.f9Q-UZVduW6nt1s0L-3vYsrOJJ8iuSCSlJ9uu8yIxBI"; //域名地址http://request.one-clouds.com/api https://huoyun.mzxd56.com/api http://app.dahehuoyun.com/api - public static String BASE_URL ="http://app.dahehuoyun.com/api"; + public static String BASE_URL = BuildConfig.BASE_URL; //版本更新/app/check/version public static String VERSION ="/app/check/version"; //全部代码 @@ -133,6 +135,9 @@ public class RequestConstant { //车牌号 private static final String PLATE_LICENSE="/common/ocr/plateLicense"; + //车牌号2 + private static final String PLATE_LICENSE2="/common/aliyun/ocr/RecognizeCarNumber"; + //添加挂车 private static final String SAVE_DRAW_CAR="/app/carDriver/saveDrawCar"; //提现记录 @@ -390,6 +395,10 @@ public class RequestConstant { return BASE_URL+PLATE_LICENSE; } + public static String getPlateLicense2() { + return BASE_URL+PLATE_LICENSE2; + } + public static String getGetImage() { return BASE_URL+GET_IMAGE; } diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/request/net/Api.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/request/net/Api.java index 46f3882..347df5b 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/request/net/Api.java +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/request/net/Api.java @@ -23,8 +23,8 @@ public interface Api { //获取版本 String VERSION = BASE_URL + "app/version"; - @POST(BASE_URL+"/common/register") - Observable log(@Body LoginRegInputBean bean); +// @POST(BASE_URL+"/common/register") +// Observable log(@Body LoginRegInputBean bean); } diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/MainActivity.kt b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/MainActivity.kt index 7c959bd..cf5d17b 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/MainActivity.kt +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/MainActivity.kt @@ -23,6 +23,7 @@ import com.arpa.hndahesudintocctmsdriver.util.view.PanDuanUtil import com.google.gson.Gson import com.gyf.cactus.ext.cactusUpdateNotification import com.permissionx.guolindev.PermissionX + @Suppress("DIVISION_BY_ZERO") @SuppressLint("SetTextI18n") class MainActivity : BaseAppCompatActivity() { @@ -40,7 +41,8 @@ class MainActivity : BaseAppCompatActivity() { 1 -> { isExit = false; } - RequsetCodeConstants.SUCCESS -> {} + RequsetCodeConstants.SUCCESS -> { + } } } @@ -134,6 +136,9 @@ class MainActivity : BaseAppCompatActivity() { .permissions(Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_BACKGROUND_LOCATION, + Manifest.permission.WRITE_EXTERNAL_STORAGE, + Manifest.permission.READ_EXTERNAL_STORAGE, + Manifest.permission.RECORD_AUDIO, Manifest.permission.CAMERA) .request { allGranted, grantedList, deniedList -> if (allGranted) { 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 cb021fa..c60e3e0 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 @@ -60,7 +60,7 @@ public class AuthQualificationActivity extends BaseAppCompatActivity { private RelativeLayout up_img, cow1; private LinearLayout data_view; private ImageView img; - private TextView zjimg_name, upload_img, name2, title1, title2, tvSkip,tvTips; + private TextView zjimg_name, upload_img, name2, title1, title2, tvSkip, tvTips; private View vs; private EditText value1; private Button submit; @@ -101,16 +101,32 @@ public class AuthQualificationActivity extends BaseAppCompatActivity { BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("driverAuthQualification"), BaseBean.class); if (bb.getCode() == 200) { // initAuth(); - //从业资格证->实名认证 -// finish(); - if (key) { - key = false; - new AuthRequest().getAuthUrl(con, hd); - new Handler().postDelayed(() -> { - key = true; - }, 3000); + //判断是否从车辆进来 carId为空从个人认证进来需跳转实名认证,不为空车辆信息进入,需跳转车辆照片 + if (TextUtils.isEmpty(carId)) { + //从业资格证->实名认证 + if (key) { + key = false; + new AuthRequest().getAuthUrl(con, hd); + new Handler().postDelayed(() -> { + key = true; + }, 3000); + } + } else { + finish(); + if (isOverCar){//从业资格证=》道路运输许可证 + Intent in = new Intent(con, PhotoCarActivity.class); + in.putExtra("type", 3); + in.putExtra("carId", carId); + startActivity(in); + }else{//资料传完 补传情况 + Intent in = new Intent(con, AddCarSuccActivity.class); + in.putExtra("type", 3); + con.startActivity(in); + } } + + Toast.makeText(con, "资格证上传成功", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show(); @@ -136,7 +152,7 @@ public class AuthQualificationActivity extends BaseAppCompatActivity { Log.e("url", CacheGroup.cacheList.get("authUrl")); BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("authUrl"), BaseBean.class); if (bb.getCode() == 200) { - finish(); +// finish(); EsignSdk.getInstance().startH5Activity(act, StringUtil.isNull(String.valueOf(bb.getData()), "")); } else { Toast.makeText(con, bb.getMsg(), Toast.LENGTH_LONG).show(); @@ -154,6 +170,8 @@ public class AuthQualificationActivity extends BaseAppCompatActivity { } private String type = "0"; + private String carId = ""; + private boolean isOverCar = false; private UserBean userBean; @Override @@ -162,7 +180,7 @@ public class AuthQualificationActivity extends BaseAppCompatActivity { StateStyleUtil.stateTextColor(this); setContentView(R.layout.activity_auth_qualification); con = this; - act=this; + act = this; img = findViewById(R.id.img); zjimg_name = findViewById(R.id.zjimg_name); upload_img = findViewById(R.id.upload_img); @@ -179,6 +197,8 @@ public class AuthQualificationActivity extends BaseAppCompatActivity { vs = findViewById(R.id.vs); data_view = findViewById(R.id.data_view); type = getIntent().getExtras().getString("type"); + carId = getIntent().getExtras().getString("carId", ""); + isOverCar = getIntent().getExtras().getBoolean("isOverCar",false); ur = new UserRequset(con, hd); initView(null); if ("0".equals(type)) { @@ -190,6 +210,11 @@ public class AuthQualificationActivity extends BaseAppCompatActivity { } //new RZRequest().isDriverAuthQualification(con,hd); } + if (TextUtils.isEmpty(carId)){//carId不为空 从添加车辆进入 该操作不能跳过 + tvSkip.setVisibility(View.VISIBLE); + }else{ + tvSkip.setVisibility(View.GONE); + } } private boolean key = true; @@ -206,7 +231,7 @@ public class AuthQualificationActivity extends BaseAppCompatActivity { }); img.setOnClickListener(v -> { if (!"".equals(url)) { - new XPopup.Builder(con).asImageViewer(img, url,new SmartGlideImageLoader(R.mipmap.ic_launcher_round)).show(); + new XPopup.Builder(con).asImageViewer(img, url, new SmartGlideImageLoader(R.mipmap.ic_launcher_round)).show(); // new XPopup.Builder(con) // .asImageViewer(img, url, true, -1, -1, 50, false, new CertificatesActivity.ImageLoader()) // .show(); @@ -259,6 +284,9 @@ public class AuthQualificationActivity extends BaseAppCompatActivity { }); tvSkip.setOnClickListener(v -> { + + + if (type.equals("0")) { // finish(); if (key) { @@ -292,7 +320,7 @@ public class AuthQualificationActivity extends BaseAppCompatActivity { zjimg_name.setText("党员证照片"); data_view.setVisibility(View.GONE); title2.setVisibility(View.GONE); - }else{ + } else { tvTips.setVisibility(View.VISIBLE); } } 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 188915c..27b1d32 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 @@ -4,6 +4,7 @@ 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.text.TextUtils; import android.util.Log; @@ -20,17 +21,24 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.cardview.widget.CardView; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.arpa.hndahesudintocctmsdriver.bean.DicBean; import com.arpa.hndahesudintocctmsdriver.bean.SinglePickBean; +import com.arpa.hndahesudintocctmsdriver.cuspop.SimCenterPop; import com.arpa.hndahesudintocctmsdriver.event.HomeEvent; import com.arpa.hndahesudintocctmsdriver.event.PersonEvent; import com.arpa.hndahesudintocctmsdriver.event.VehicleEvent; +import com.arpa.hndahesudintocctmsdriver.util.MessageUtils; import com.arpa.hndahesudintocctmsdriver.util.PickerUtils; import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil; import com.arpa.hndahesudintocctmsdriver.util.map.MapUtil; import com.bumptech.glide.Glide; import com.bumptech.glide.request.RequestOptions; import com.bumptech.glide.request.target.Target; +import com.dahe.mylibrary.utils.ActivityUtils; +import com.esign.esignsdk.EsignSdk; +import com.esign.esignsdk.data.AuthEvent; import com.github.gzuliyujiang.wheelpicker.contract.OnOptionPickedListener; import com.google.gson.Gson; import com.luck.picture.lib.PictureSelector; @@ -71,6 +79,7 @@ import com.lxj.xpopup.photoview.PhotoView; import com.lxj.xpopup.util.SmartGlideImageLoader; import org.greenrobot.eventbus.EventBus; +import org.greenrobot.eventbus.Subscribe; import java.io.File; import java.util.ArrayList; @@ -100,14 +109,14 @@ public class CertificatesActivity extends BaseAppCompatActivity { private int[] typeImgOne = {R.mipmap.id, R.mipmap.license, R.mipmap.vehicle_license, R.mipmap.vehicle_license}; 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 DicBean.DataDTO curColor,curEnergy; + 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; - private EditText value1, value2, value3, value4,value7; + private EditText value1, value2, value3, value4, value7; private Button submit; private ImageView img1, img2, img3, type_img; private TextView u_img, u_img2, u_img3; - private LinearLayout llColor, llType,llCarName; + private LinearLayout llColor, llType, llCarName; private CardView there_div; private BaseRecyclerView brv; // @@ -122,6 +131,7 @@ public class CertificatesActivity extends BaseAppCompatActivity { private String url2 = ""; private String url3 = ""; private boolean[] keys = {false, false, false}; + private boolean key = true; public void FalseKeys() { for (int i = 0; i < keys.length; i++) { @@ -144,7 +154,8 @@ public class CertificatesActivity extends BaseAppCompatActivity { break; case RequsetCodeConstants.SUCCESS: if (CacheGroup.cacheList.get("driverAuthIdCard") != null || CacheGroup.cacheList.get("driverAuthLicense") != null - || CacheGroup.cacheList.get("saveVehicleLicense") != null || CacheGroup.cacheList.get("saveDrawCar") != null) { + || CacheGroup.cacheList.get("saveVehicleLicense") != null || CacheGroup.cacheList.get("authUrl") != null + || CacheGroup.cacheList.get("saveDrawCar") != null) { if (CacheGroup.cacheList.get("driverAuthIdCard") != null) { BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("driverAuthIdCard"), BaseBean.class); if (bb.getCode() == 200) { @@ -166,12 +177,16 @@ public class CertificatesActivity extends BaseAppCompatActivity { BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("driverAuthLicense"), BaseBean.class); if (bb.getCode() == 200) { Toast.makeText(con, "保存成功", Toast.LENGTH_SHORT).show(); - finish(); - //上传驾驶证信息页面 跳转资格证信息页面 - Intent in = new Intent(con, AuthQualificationActivity.class); - in.putExtra("type", "0"); - startActivity(in); + //上传驾驶证信息页面 进行实名认证操作 + if (key) { + key = false; + new AuthRequest().getAuthUrl(con, hd); + new Handler().postDelayed(() -> { + key = true; + }, 3000); + } + } else { Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show(); @@ -179,19 +194,69 @@ public class CertificatesActivity extends BaseAppCompatActivity { CacheGroup.cacheList.remove("driverAuthLicense"); } + if (CacheGroup.cacheList.get("authUrl") != null) { + Log.e("url", CacheGroup.cacheList.get("authUrl")); + BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("authUrl"), BaseBean.class); + if (bb.getCode() == 200) { + EsignSdk.getInstance().startH5Activity(act, StringUtil.isNull(String.valueOf(bb.getData()), "")); + } else { + Toast.makeText(con, bb.getMsg(), Toast.LENGTH_LONG).show(); + }//Log.e("url",CacheGroup.cacheList.get("authUrl")); + CacheGroup.cacheList.remove("authUrl"); + } + if (CacheGroup.cacheList.get("saveVehicleLicense") != null) { CarZhengBean czb = gson.fromJson(CacheGroup.cacheList.get("saveVehicleLicense"), CarZhengBean.class); if (czb.getCode() == 200) { + String needUpQCPhoto = czb.getData().getNeedUpQCPhoto();//是否需要上传从业资格证 + String isTrailer = czb.getData().getIsTrailer();//是否需要上传挂车 + String needUpRLPhoto = czb.getData().getNeedUpRLPhoto();//是否需要上传道路运输证到 Toast.makeText(con, "车辆行驶证保存成功", Toast.LENGTH_SHORT).show(); - finish(); + VehicleEvent ve = new VehicleEvent(String.valueOf(czb.getData().getCarId())); EventBus.getDefault().post(ve); - //上传行驶证信息后 跳转车辆照片页面 - Intent in = new Intent(con, PhotoCarActivity.class); - in.putExtra("type", 0); - in.putExtra("carId", String.valueOf(czb.getData().getCarId())); - con.startActivity(in); + // TODO: 2023/8/23 + if ("1".equals(isTrailer)) {//判断是否跳转挂车行驶证 + Intent in = new Intent(con, CertificatesActivity.class); + in.putExtra("index", 3); + in.putExtra("carId", String.valueOf(czb.getData().getCarId())); + startActivity(in); + } else if ("1".equals(needUpQCPhoto)) {//判断是否跳转从业资格证 + Intent in = new Intent(con, AuthQualificationActivity.class); + in.putExtra("type", "0"); + in.putExtra("isOverCar", true); + in.putExtra("carId", String.valueOf(czb.getData().getCarId())); + startActivity(in); + } else if ("1".equals(needUpRLPhoto)) {//判断是否跳转道路运输许可证 + Intent in = new Intent(con, PhotoCarActivity.class); + in.putExtra("type", 3); + in.putExtra("carId", String.valueOf(czb.getData().getCarId())); + startActivity(in); + } else { + //跳转成功页面 + Intent in = new Intent(con, AddCarSuccActivity.class); + in.putExtra("type", 3); + in.putExtra("carId", String.valueOf(czb.getData().getCarId())); + 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(); } @@ -199,20 +264,34 @@ public class CertificatesActivity extends BaseAppCompatActivity { } if (CacheGroup.cacheList.get("saveDrawCar") != null) { Log.e("-saveDrawCar-", CacheGroup.cacheList.get("saveDrawCar")); - BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("saveDrawCar"), BaseBean.class); + CarZhengBean bb = gson.fromJson(CacheGroup.cacheList.get("saveDrawCar"), CarZhengBean.class); if (bb.getCode() == 200) { + 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); - //挂车信息保存成功跳转成功页面 - Intent in = new Intent(con, AddCarSuccActivity.class); - in.putExtra("type", 3); - in.putExtra("carId", carId); - con.startActivity(in); - - + if ("1".equals(needUpQCPhoto)) { + //现逻辑:上传挂车保信息后 判断是否跳转从业资格证 + Intent in = new Intent(con, AuthQualificationActivity.class); + in.putExtra("type", "0"); + in.putExtra("carId", carId); + in.putExtra("isOverCar", true); + startActivity(in); + } else if ("1".equals(needUpRLPhoto)) {//现判断是否跳转道路运输许可证 + Intent in = new Intent(con, PhotoCarActivity.class); + in.putExtra("type", 3); + in.putExtra("carId", carId); + startActivity(in); + } else { + //原逻辑:挂车信息保存成功跳转成功页面 + Intent in = new Intent(con, AddCarSuccActivity.class); + in.putExtra("type", 3); + in.putExtra("carId", carId); + con.startActivity(in); + } } else { Toast.makeText(con, "挂车信息保存失败", Toast.LENGTH_SHORT).show(); } @@ -220,7 +299,7 @@ public class CertificatesActivity extends BaseAppCompatActivity { } } else if (CacheGroup.cacheList.get(CAR_COLOR) != null) { DicBean bb = gson.fromJson(CacheGroup.cacheList.get(CAR_COLOR), DicBean.class); - if (bb.getCode()==200){ + if (bb.getCode() == 200) { PickerUtils.getInstance().pickSingle(this, "车牌颜色", bb.getData(), new OnOptionPickedListener() { @Override public void onOptionPicked(int position, Object item) { @@ -234,7 +313,7 @@ public class CertificatesActivity extends BaseAppCompatActivity { CacheGroup.cacheList.remove(CAR_COLOR); } else if (CacheGroup.cacheList.get(CAR_ENERGY_TYPE) != null) { DicBean bb = gson.fromJson(CacheGroup.cacheList.get(CAR_ENERGY_TYPE), DicBean.class); - if (bb.getCode()==200){ + if (bb.getCode() == 200) { PickerUtils.getInstance().pickSingle(this, "燃油类型", bb.getData(), new OnOptionPickedListener() { @Override public void onOptionPicked(int position, Object item) { @@ -246,6 +325,16 @@ public class CertificatesActivity extends BaseAppCompatActivity { }); } CacheGroup.cacheList.remove(CAR_ENERGY_TYPE); + } else if (CacheGroup.cacheList.get("authUrl") != null) { + //实名认证校验 + Log.e("url", CacheGroup.cacheList.get("authUrl")); + BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("authUrl"), BaseBean.class); + if (bb.getCode() == 200) { + EsignSdk.getInstance().startH5Activity(act, StringUtil.isNull(String.valueOf(bb.getData()), "")); + } else { + Toast.makeText(con, bb.getMsg(), Toast.LENGTH_LONG).show(); + }//Log.e("url",CacheGroup.cacheList.get("authUrl")); + CacheGroup.cacheList.remove("authUrl"); } else { initView(null); initData(); @@ -266,6 +355,7 @@ public class CertificatesActivity extends BaseAppCompatActivity { super.onCreate(savedInstanceState); StateStyleUtil.stateTextColor(this); setContentView(R.layout.activity_shangchuan_xsz); + EventBus.getDefault().register(this); llColor = findViewById(R.id.llColor); llCarName = findViewById(R.id.llCarName); llType = findViewById(R.id.llType); @@ -333,8 +423,8 @@ public class CertificatesActivity extends BaseAppCompatActivity { break; case 2: llCarName.setVisibility(View.GONE); - llColor.setVisibility(View.VISIBLE); - llType.setVisibility(View.VISIBLE); +// llColor.setVisibility(View.VISIBLE); +// llType.setVisibility(View.VISIBLE); type_img.setImageResource(R.mipmap.auth_icon_3); // there_div.setVisibility(View.VISIBLE); if (c_str != null && !c_str.equals("")) { @@ -378,7 +468,7 @@ public class CertificatesActivity extends BaseAppCompatActivity { // new XPopup.Builder(con) // .asImageViewer(img1, url1, true, -1, -1, 50, false, new ImageLoader()) // .show(); - }else{ + } else { if (!isAuth) { FalseKeys(); keys[0] = true; @@ -395,7 +485,7 @@ public class CertificatesActivity extends BaseAppCompatActivity { // new XPopup.Builder(con) // .asImageViewer(img2, url2, true, -1, -1, 50, false, new ImageLoader()) // .show(); - }else{ + } else { if (!isAuth) { FalseKeys(); keys[1] = true; @@ -469,11 +559,21 @@ public class CertificatesActivity extends BaseAppCompatActivity { startActivity(in1); break; case 1: - finish(); + //传驾驶证信息页面 跳转实名认证 +// finish(); + if (key) { + key = false; + new AuthRequest().getAuthUrl(con, hd); + new Handler().postDelayed(() -> { + key = true; + }, 3000); + } + //上传驾驶证信息页面 跳转资格证信息页面 - Intent in2 = new Intent(con, AuthQualificationActivity.class); - in2.putExtra("type", "0"); - startActivity(in2); +// finish(); +// Intent in2 = new Intent(con, AuthQualificationActivity.class); +// in2.putExtra("type", "0"); +// startActivity(in2); break; case 2: finish(); @@ -488,6 +588,12 @@ public class CertificatesActivity extends BaseAppCompatActivity { }); } + @Override + protected void onDestroy() { + super.onDestroy(); + EventBus.getDefault().unregister(this); + } + boolean isAuth = false; public void initData() { @@ -645,6 +751,9 @@ public class CertificatesActivity extends BaseAppCompatActivity { Glide.with(con).load(url2).into(img2); startTime = ocbb.getData().getStartTime(); backId = ocbb.getData().getId(); + + //自动调取提交功能,实现页面自动跳转 + subimt(); } else { Toast.makeText(con, "识别失败", Toast.LENGTH_SHORT).show(); } @@ -676,6 +785,8 @@ public class CertificatesActivity extends BaseAppCompatActivity { url2 = odlb.getData().getUrl(); backId = odlb.getData().getId(); Glide.with(con).load(url2).into(img2); + //自动调取提交功能,实现页面自动跳转 + subimt(); } else { Toast.makeText(con, "识别失败", Toast.LENGTH_SHORT).show(); } @@ -709,6 +820,8 @@ public class CertificatesActivity extends BaseAppCompatActivity { url2 = oblb.getData().getUrl(); backId = oblb.getData().getId(); Glide.with(con).load(url2).into(img2); + //自动调取提交功能,实现页面自动跳转 + subimt(); } else { Toast.makeText(con, oblb.getMsg(), Toast.LENGTH_SHORT).show(); } @@ -841,10 +954,10 @@ public class CertificatesActivity extends BaseAppCompatActivity { break; case 2: if (olb != null && oblb != null) { - if (curColor==null||curEnergy==null){ - Toast.makeText(con,"请完善内容",Toast.LENGTH_SHORT).show(); - return; - } +// if (curColor == null || curEnergy == null) { +// Toast.makeText(con, "请完善内容", Toast.LENGTH_SHORT).show(); +// return; +// } HashMap map = new HashMap<>(); if ("".equals(url3)) { map.put("imgId", fid); @@ -854,8 +967,8 @@ public class CertificatesActivity extends BaseAppCompatActivity { map.put("type", str2); map.put("owner", str3); map.put("vehicleNumber", str4); - map.put("carPlateColor", curColor.getValue()); - map.put("carEnergyTyp", curEnergy.getValue()); +// map.put("carPlateColor", curColor.getValue()); +// map.put("carEnergyTyp", curEnergy.getValue()); new AuthRequest().saveVehicleLicense(con, hd, MapUtil.mapJson(map)); } else { Toast.makeText(con, "请先上传资料", Toast.LENGTH_SHORT).show(); @@ -888,11 +1001,45 @@ public class CertificatesActivity extends BaseAppCompatActivity { } } - public static void personEvent(String msg){ - PersonEvent he=new PersonEvent(msg); + public static void personEvent(String msg) { + PersonEvent he = new PersonEvent(msg); EventBus.getDefault().post(he); } + @Subscribe + public void processResult(AuthEvent auth) { + //添加实名/意愿/签署完成之后的逻辑 + Log.e("-回调信息-", auth.result); + JSONObject jsonObject = JSON.parseObject(auth.result); + if ("success".equalsIgnoreCase(jsonObject.getString("res"))) { + EsignSdk.getInstance().finishH5Activity(); + new MessageUtils().showSimCenPop(con, "个人信息上传成功,请添加车辆信息!", () -> { + finish(); + Intent in = new Intent(con, CertificatesActivity.class); + in.putExtra("index", 2); + startActivity(in); + + }); + if ("sign".equalsIgnoreCase(jsonObject.getString("key"))) { + Toast.makeText(con, "签署场景成功", Toast.LENGTH_SHORT).show(); + } else if ("realName".equalsIgnoreCase(jsonObject.getString("key"))) { + Toast.makeText(con, "实名认证成功", Toast.LENGTH_SHORT).show(); + } else { + Toast.makeText(con, "意愿认证成功", Toast.LENGTH_SHORT).show(); + } + } else { + if ("sign".equalsIgnoreCase(jsonObject.getString("key"))) { + Toast.makeText(con, "签署场景失败", Toast.LENGTH_SHORT).show(); + } else if ("realName".equalsIgnoreCase(jsonObject.getString("key"))) { + Toast.makeText(con, "实名认证失败", Toast.LENGTH_SHORT).show(); + } else { + Toast.makeText(con, "意愿认证失败", Toast.LENGTH_SHORT).show(); + } + EsignSdk.getInstance().finishH5Activity(); + finish(); + } + } + // public static class ImageLoader implements XPopupImageLoader { // @Override // public void loadImage(int position, @NonNull Object url, @NonNull ImageView imageView) { diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/auth/PersonalAuthActivity.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/auth/PersonalAuthActivity.java index 6e9ffec..dc85ea0 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/auth/PersonalAuthActivity.java +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/auth/PersonalAuthActivity.java @@ -15,6 +15,7 @@ import androidx.annotation.Nullable; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.arpa.hndahesudintocctmsdriver.H5Activity; import com.arpa.hndahesudintocctmsdriver.event.HomeEvent; import com.arpa.hndahesudintocctmsdriver.event.PersonEvent; import com.bumptech.glide.Glide; @@ -96,6 +97,11 @@ public class PersonalAuthActivity 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); +// startActivity(intent); EsignSdk.getInstance().startH5Activity(act, StringUtil.isNull(String.valueOf(bb.getData()), "")); } else { Toast.makeText(con, bb.getMsg(), Toast.LENGTH_LONG).show(); @@ -162,6 +168,8 @@ public class PersonalAuthActivity extends BaseAppCompatActivity { // startActivityForResult(in, 12); //EsignSdk.getInstance().startH5Activity(act,"https://smlh5.esign.cn/usercenterFront/oemAuth/v3/realName/index?contextKey=b7b103b15b866ec4c72beef1dfe20828&appId=7438873235"); if (key) { +// EsignSdk.getInstance().startH5Activity(act, ""); + key = false; new AuthRequest().getAuthUrl(con, hd); new Handler().postDelayed(() -> { 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 8f906fa..0336c5b 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 @@ -53,7 +53,7 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl private String[] name1 = {"车辆照片", "NFC照片", "车辆登记证书照片", "道路运输许可证照片"}; private String[] name2 = {"请上传车辆照片", "请上传NFC照片", "请上传车辆登记证书照片", "请上传道路运输许可证照片"}; private Boolean[] isShowEdit = {false, false, true, true}; - private Boolean[] isShowSkip = {true, false, false, false}; + private Boolean[] isShowSkip = {true, false, false, true}; private String[] tips = { "", "*注意: 没有粘贴NFC芯片的车辆无需上传,可直接跳过", @@ -158,8 +158,13 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl IsAuthDriverAuthQualificationBean ib = gson.fromJson(CacheGroup.cacheList.get("saveCarRoadLicenseNo"), IsAuthDriverAuthQualificationBean.class); if (ib.getCode() == 200) { //判断是否需要跳转挂车行驶证页面 - if (!"".equals(carId) && cdb.getData().getIsTrailer() == 1) { - if (!"".equals(carId)) { + if (!"".equals(carId) ){ + if (cdb.getData().getIsTrailer() == 1&&!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&&TextUtils.isEmpty(cdb.getData().getTrailerResVo().getCarNumber())){//需要挂车,没传过挂车,到挂车页面 finish(); Intent in = new Intent(con, CertificatesActivity.class); in.putExtra("index", 3); @@ -168,15 +173,41 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl in.putExtra("cheData", new Gson().toJson(cdb)); } startActivity(in); - } else { - Toast.makeText(con, "请先绑定行驶证", Toast.LENGTH_SHORT).show(); + }else if(cdb.getData().getIsTrailer() == 0){//不需要挂车 + if ("1".equals(cdb.getData().getNeedUpQCPhoto())){//需要从业资格证 + Intent in = new Intent(con, AuthQualificationActivity.class); + in.putExtra("type", "0"); + in.putExtra("carId", carId); + in.putExtra("isOverCar", false); + startActivity(in); + }else{ + finish(); + Intent in = new Intent(con, AddCarSuccActivity.class); + in.putExtra("type", 3); + con.startActivity(in); + } } - } else { - finish(); - Intent in = new Intent(con, AddCarSuccActivity.class); - in.putExtra("type", 3); - con.startActivity(in); } + +// if (!"".equals(carId) && cdb.getData().getIsTrailer() == 1) { +// if (!"".equals(carId)) { +// finish(); +// Intent in = new Intent(con, CertificatesActivity.class); +// in.putExtra("index", 3); +// in.putExtra("carId", carId); +// if (cdb != null) { +// in.putExtra("cheData", new Gson().toJson(cdb)); +// } +// startActivity(in); +// } else { +// Toast.makeText(con, "请先绑定行驶证", Toast.LENGTH_SHORT).show(); +// } +// } else { +// finish(); +// Intent in = new Intent(con, AddCarSuccActivity.class); +// in.putExtra("type", 3); +// con.startActivity(in); +// } } else { Toast.makeText(con, ib.getMsg(), Toast.LENGTH_SHORT).show(); } diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/home/HomeFragment.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/home/HomeFragment.java index d22cc00..5691688 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/home/HomeFragment.java +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/home/HomeFragment.java @@ -7,6 +7,7 @@ import android.graphics.Outline; import android.location.Location; import android.os.Bundle; import android.os.Message; +import android.text.TextUtils; import android.util.Log; import android.view.Gravity; import android.view.LayoutInflater; @@ -42,7 +43,9 @@ import com.arpa.hndahesudintocctmsdriver.constant.JTTConstant; import com.arpa.hndahesudintocctmsdriver.event.HomeEvent; import com.arpa.hndahesudintocctmsdriver.parts.StartOrderParts; import com.arpa.hndahesudintocctmsdriver.report.JTTProcess; +import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity; import com.arpa.hndahesudintocctmsdriver.ui.news.NewActivity; +import com.arpa.hndahesudintocctmsdriver.util.MessageUtils; import com.arpa.hndahesudintocctmsdriver.util.string.StringUtil; import com.bumptech.glide.Glide; import com.google.gson.Gson; @@ -141,6 +144,15 @@ public class HomeFragment extends BaseFragment { if (ub.getCode() == 200) { SPUtil.insSP(con, "data", "userdata", CacheGroup.cacheList.get("userdata")); MsgUtil.addHdMsgWat(hd, 33); + + //新用户注册,需弹窗提示注册 + if ("0".equals(ub.getData().getRealAuthentication())){ + new MessageUtils().showSimCenPop(con, "该司机还未认证,未认证无法接单。是否去注册!", () -> { + Intent in=new Intent(con, CertificatesActivity.class); + in.putExtra("index",0); + startActivity(in); + }); + } } else { Toast.makeText(con, ub.getMsg(), Toast.LENGTH_SHORT).show(); } @@ -531,6 +543,9 @@ public class HomeFragment extends BaseFragment { ur.upApp(); hyr.getHuoYuan(1, 100); ur.getImage(1); + + + if (UiAuxiliary.isLogin(con)) { ur.User(); ur.getDriverExpire(); diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/home/HuoYunDelActivity.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/home/HuoYunDelActivity.java index 32bb753..c5db3a2 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/home/HuoYunDelActivity.java +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/home/HuoYunDelActivity.java @@ -1,6 +1,7 @@ package com.arpa.hndahesudintocctmsdriver.ui.home; import android.Manifest; +import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; @@ -18,7 +19,10 @@ import androidx.annotation.Nullable; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.arpa.hndahesudintocctmsdriver.H5Activity; import com.arpa.hndahesudintocctmsdriver.bean.JTT; +import com.arpa.hndahesudintocctmsdriver.event.FaceEvent; +import com.arpa.hndahesudintocctmsdriver.event.HomeEvent; import com.arpa.hndahesudintocctmsdriver.parts.ConfigParts; import com.arpa.hndahesudintocctmsdriver.parts.UserParts; import com.arpa.hndahesudintocctmsdriver.report.ALProcess; @@ -29,6 +33,7 @@ import com.arpa.hndahesudintocctmsdriver.util.img.ImageGetUtil; import com.arpa.hndahesudintocctmsdriver.util.sp.SPUtil; import com.arpa.hndahesudintocctmsdriver.util.string.StringUtil; import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity; +import com.dahe.mylibrary.utils.ActivityUtils; import com.esign.esignsdk.EsignSdk; import com.esign.esignsdk.data.AuthEvent; import com.google.gson.Gson; @@ -96,7 +101,15 @@ public class HuoYunDelActivity extends BaseAppCompatActivity { if (bb.getCode() == 200) { //Toast.makeText(con,"接单成功",Toast.LENGTH_SHORT).show(); customDialog.dismiss(); - EsignSdk.getInstance().startH5Activity(act, (String) bb.getData()); +// EsignSdk.getInstance().startH5Activity(act, (String) bb.getData()); + + + Intent intent = new Intent(this, H5Activity.class); + intent.putExtra("url", (String) bb.getData()); + intent.putExtra("view_file", false); + startActivity(intent); + + //finish(); } else { Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show(); @@ -321,6 +334,51 @@ public class HuoYunDelActivity extends BaseAppCompatActivity { }); } + @Subscribe + public void faceResult(FaceEvent home) { + Log.e("-res-", home.getMessage()); + + UiAuxiliary.homeRequest("接单"); + Intent in = new Intent(con, StartYunDanActivity.class); + in.putExtra("id", "0"); + startActivity(in); + finish(); + +// new Handler().postDelayed(() -> { +// UiAuxiliary.homeRequest("接单"); +// Intent in = new Intent(con, StartYunDanActivity.class); +// in.putExtra("id", "0"); +// startActivity(in); +// finish(); +// }, 2500); + + + +// new Handler().postDelayed(() -> { +// +// +// UiAuxiliary.homeRequest("接单"); +//// //ur.getJtt(hyd.getData().getId()); +// +// Intent in = new Intent(con, StartYunDanActivity.class); +// in.putExtra("id", "0"); +// startActivity(in); +// +// ActivityUtils.finishActivity(H5Activity.class); +// finish(); +// +// +// }, 1500); + +// UiAuxiliary.homeRequest("接单"); + +// Intent in = new Intent(con, StartYunDanActivity.class); +// in.putExtra("id", "0"); +// startActivity(in); +// finish(); + + } + @Subscribe public void processResult(AuthEvent auth) { //添加实名/意愿/签署完成之后的逻辑 diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/home/shangchuan/ShangChuangImgActivity.java b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/home/shangchuan/ShangChuangImgActivity.java index f22f860..c90761b 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/home/shangchuan/ShangChuangImgActivity.java +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/ui/home/shangchuan/ShangChuangImgActivity.java @@ -19,8 +19,11 @@ import com.alct.mdp.callback.OnResultListener; import com.alct.mdp.model.Goods; import com.alct.mdp.model.Image; import com.alct.mdp.model.Location; +import com.arpa.hndahesudintocctmsdriver.H5Activity; +import com.arpa.hndahesudintocctmsdriver.bean.CarInfoBean; import com.arpa.hndahesudintocctmsdriver.report.ALProcess; import com.arpa.hndahesudintocctmsdriver.report.JTTProcess; +import com.arpa.hndahesudintocctmsdriver.request.OCRRequest; import com.arpa.hndahesudintocctmsdriver.util.BitmapUtil; import com.arpa.hndahesudintocctmsdriver.util.MessageUtils; import com.arpa.hndahesudintocctmsdriver.util.NfcUtils; @@ -128,6 +131,32 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity { } CacheGroup.cacheList.remove("carName"); } + + if (CacheGroup.cacheList.get("carNum") != null) { + Log.e("upload", CacheGroup.cacheList.get("carNum")); + CarInfoBean ub = gson.fromJson(CacheGroup.cacheList.remove("carNum"), CarInfoBean.class); + if (ub.getCode() == 200 && ub.getData().getData().getPrism_keyValueInfo().size() > 0) { + String value = ub.getData().getData().getPrism_keyValueInfo().get(0).getValue(); + String forceMatching = ub.getData().getForceMatching(); + if ("1".equals(forceMatching)) {//是否强校验车牌号 1:强校验 + if (sob.getData().getCarNumber().equals(value)) { + hyr.uploadFile(new File(path)); + } else { + new MessageUtils().showCenMessage(ShangChuangImgActivity.this, "车牌号不匹配!", "请重新拍照或联系管理员"); + } + } else { + hyr.uploadFile(new File(path)); + } + } else {//识别失败后返回code500 + if (index == 0) {//装卸货车辆需要识别车牌号){ + Toast.makeText(con, "装货照片包含车牌号、三分之二车身或者装卸货场景。", Toast.LENGTH_SHORT).show(); + } else if (index == 1) { + Toast.makeText(con, "卸货照片包含车牌号、三分之二车身或者装卸货场景。", Toast.LENGTH_SHORT).show(); + } + + } + CacheGroup.cacheList.remove("carNum"); + } break; case 14://定位成功 locationKey = true; @@ -156,7 +185,14 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity { // if(index==1 || index==2){ // new OCRRequest().OCRPlateLicense(con,hd,new File(path)); // } - hyr.uploadFile(new File(path)); + + // TODO: 2023/8/17 临时注释,处理车牌号识别 +// hyr.uploadFile(new File(path)); + if (index == 0 || index == 1) {//装卸货车辆需要识别车牌号 + new OCRRequest().OCRCarPlateLicense(con, hd, new File(path)); + } else { + hyr.uploadFile(new File(path)); + } break; default: break; diff --git a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/util/MessageUtils.kt b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/util/MessageUtils.kt index 73966c1..d921c9c 100644 --- a/app/src/main/java/com/arpa/hndahesudintocctmsdriver/util/MessageUtils.kt +++ b/app/src/main/java/com/arpa/hndahesudintocctmsdriver/util/MessageUtils.kt @@ -1,8 +1,10 @@ package com.arpa.hndahesudintocctmsdriver.util import android.content.Context +import android.content.Intent import com.arpa.hndahesudintocctmsdriver.cuspop.MessagePop -import com.ct.auth.communication.request.Content +import com.arpa.hndahesudintocctmsdriver.cuspop.SimCenterPop +import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity import com.lxj.xpopup.XPopup /** @@ -32,4 +34,37 @@ class MessageUtils { .show() } + fun showCenMessage(ctx: Context, message: String, message2: String) { + XPopup.Builder(ctx) // + .hasNavigationBar(false) + .isDestroyOnDismiss(true) //对于只使用一次的弹窗对象,推荐设置这个 + .asCustom(MessagePop(ctx, message,message2).setOnMyItemClickListener(object : MessagePop.OnMyItemClickListener{ + override fun onItemClick(startTime: String, endTime: String) { + } + })) + .show() + } + + fun showSimCenPop(ctx: Context, message: String,onMyItemClickListener: SimCenterPop.OnMyItemClickListener){ + +// XPopup.Builder(ctx) // +// .hasNavigationBar(false) +// .isDestroyOnDismiss(true) //对于只使用一次的弹窗对象,推荐设置这个 +// .asCustom(SimCenterPop(ctx,message).setOnMyItemClickListener(object : SimCenterPop.OnMyItemClickListener{ +// override fun onItemClick() { +// val intent = Intent(ctx, CertificatesActivity::class.java) +// intent.putExtra("index", type) +// ctx.startActivity(intent) +// } +// })) +// .show() + + XPopup.Builder(ctx) // + .hasNavigationBar(false) + .isDestroyOnDismiss(true) //对于只使用一次的弹窗对象,推荐设置这个 + .asCustom(SimCenterPop(ctx,message).setOnMyItemClickListener(onMyItemClickListener)) + .show() + + } + } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_che_data.xml b/app/src/main/res/layout/activity_che_data.xml index 56b4f17..8f916dc 100644 --- a/app/src/main/res/layout/activity_che_data.xml +++ b/app/src/main/res/layout/activity_che_data.xml @@ -231,44 +231,7 @@ android:layout_alignParentRight="true" android:layout_centerVertical="true"/> - - - - - - - - + + + + + + + + + + + android:layout_height="@dimen/dp_40"/>