Compare commits

...
39 Commits
Author SHA1 Message Date
lijia 9620f13b42 日常 2024-03-11 15:15:34 +08:00
lijia ea649da8dd 拍照bug修复2 2024-01-19 17:52:43 +08:00
lijia edf3f494da 拍照bug修复添加弹框 2024-01-17 10:39:01 +08:00
lijia 2bdf0d45dc 补传添加时间地点非空判断 2023-10-26 09:21:13 +08:00
lijia 725860544a 取消运营版本更新代码 2023-10-23 09:25:19 +08:00
lijia befc5419a2 多渠道高德key动态切换运营 2023-10-16 14:43:26 +08:00
lijia f0778a34e3 Merge branch 'master' into manyflavors 2023-10-16 14:38:57 +08:00
lijia d3915a92a0 多渠道高德key动态切换 2023-10-16 14:34:17 +08:00
lijia fbe1492800 多渠道定位修复 2023-10-16 09:52:13 +08:00
lijia b5fb6bec07 多渠道bug修复 2023-10-16 09:22:08 +08:00
lijia 80c67f9c79 多渠道运营图标名称以及优化 2023-10-12 16:57:08 +08:00
lijia 932a33f3d1 多渠道运营开发测试 2023-10-12 16:48:18 +08:00
lijia 35c37fdf51 升级优化 2023-10-12 15:36:18 +08:00
lijia c3a3a5cfe6 测试,正式包分别打包 2023-10-11 09:45:39 +08:00
lijia a7aee4af57 好运测试图标自动切换 2023-10-10 17:28:45 +08:00
lijia 1c3d20ac43 loading框bug修复,补传卸货优化 2023-10-09 16:52:42 +08:00
lijia f37ffa779a 补传类优化 2023-10-07 11:24:51 +08:00
lijia 7d60c08e61 挂车bug修复 2023-10-07 09:26:21 +08:00
lijia 45d8b3351d 拍照点击区域优化 2023-09-27 16:51:03 +08:00
lijia 10a379ed8f 版本更新库升级 2023-09-22 11:05:39 +08:00
lijia a44df1ee8c app更新优化,添加立即安装按钮 2023-09-22 10:41:00 +08:00
lijia 50cc329a4d 3.2.9上传照片去除百度定位 2023-09-21 15:12:30 +08:00
lijia 360f492b8a 订单流程优化,添加bugly, 2023-09-19 10:33:40 +08:00
lijia dc4f34efd7 电话动态权限,bugly添加,优化卸货逻辑 2023-09-14 16:37:13 +08:00
lijia 3955131756 修复百度定位不准确,添加六分钟卸货限制,gradle优化 2023-09-11 15:18:22 +08:00
lijia f4d2048d81 跳转运单详情添加1.5秒延时 2023-08-31 16:45:31 +08:00
lijia 244a3f22eb 安联测试环境调通 2023-08-30 16:01:52 +08:00
lijia 205ea6aab8 装货回单(未测试),添加测试环境要素(安联,e签宝) 2023-08-30 09:50:22 +08:00
lijia c39513ce13 3.2.7人车认证优化 2023-08-28 15:42:27 +08:00
lijia 9345621309 3.2.3司机认证优化 2023-08-17 15:18:24 +08:00
lijia c686fb4e8f 3.2.2结版 2023-08-14 17:50:37 +08:00
lijia 8a03631c5e 3.2.1 2023-01-11 08:49:01 +08:00
lijia 278b795190 适配补充提交 2022-12-09 10:55:00 +08:00
lijia 4ceefc82ab 小米适配,刷脸bug修复 2022-12-09 10:44:59 +08:00
lijia 1ba81f4de4 保活2 2022-11-08 16:50:42 +08:00
lijia da9bc38e0d 保活1 2022-10-14 10:15:07 +08:00
lijia 70fbe8eb6c 安联状态不一致 2022-10-13 17:09:02 +08:00
lijia e9179c925e 回单bug处理2 2022-09-30 09:08:59 +08:00
lijia ffdfe9cad4 回单bug处理 2022-09-30 09:05:28 +08:00
108 changed files with 18505 additions and 24640 deletions
+103 -62
View File
@@ -3,6 +3,7 @@ plugins {
id 'kotlin-android' id 'kotlin-android'
id 'kotlin-kapt' id 'kotlin-kapt'
id 'com.huawei.agconnect' id 'com.huawei.agconnect'
id 'kotlin-android-extensions'
} }
android { android {
@@ -15,60 +16,49 @@ android {
keyPassword '123456' keyPassword '123456'
storeFile file('key.jks') storeFile file('key.jks')
storePassword '123456' storePassword '123456'
v1SigningEnabled true
v2SigningEnabled true
} }
debug { // debug {
keyAlias 'key0' // keyAlias 'key0'
keyPassword '123456' // keyPassword '123456'
storeFile file('key.jks') // storeFile file('key.jks')
storePassword '123456' // storePassword '123456'
} // }
release { // release {
keyAlias 'key0' // keyAlias 'key0'
keyPassword '123456' // keyPassword '123456'
storeFile file('key.jks') // storeFile file('key.jks')
storePassword '123456' // storePassword '123456'
} // }
} }
defaultConfig { defaultConfig {
applicationId "com.arpa.hndahesudintocctmsdriver" applicationId "com.arpa.hndahesudintocctmsdriver"
minSdkVersion 22 minSdkVersion 23
targetSdkVersion 30 targetSdkVersion 30
versionCode 49 versionCode 60
versionName "3.1.9" versionName "3.3.0"
flavorDimensions "CHANNEL_VALUE" flavorDimensions "CHANNEL_VALUE"
flavorDimensions "app_icon"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
javaCompileOptions { javaCompileOptions {
annotationProcessorOptions { annotationProcessorOptions {
includeCompileClasspath = true includeCompileClasspath = true
arguments = [moduleName :project.getName() ] arguments = [moduleName: project.getName()]
} }
} }
ndk { ndk {
//选择要添加的对应 cpu 类型的 .so 库。 //选择要添加的对应 cpu 类型的 .so 库。
abiFilters 'armeabi', 'armeabi-v7a' abiFilters 'armeabi-v7a', 'arm64-v8a'
// 还可以添加 'x86', 'x86_64', 'mips', 'mips64' , 'arm64-v8a' // 还可以添加 'x86', 'x86_64', 'mips', 'mips64' , 'arm64-v8a'
} }
manifestPlaceholders = [
JPUSH_PKGNAME : applicationId,
JPUSH_APPKEY : "571d93ae5117da6dee848c92", //JPush 上注册的包名对应的 Appkey.
JPUSH_CHANNEL : "developer-default", //暂时填写默认值即可.
MEIZU_APPKEY : "MZ-魅族的APPKEY",
MEIZU_APPID : "MZ-魅族的APPID",
XIAOMI_APPID : "MI-小米的APPID",
XIAOMI_APPKEY : "MI-小米的APPKEY",
OPPO_APPKEY : "OP-oppo的APPKEY",
OPPO_APPID : "OP-oppo的APPID",
OPPO_APPSECRET : "OP-oppo的APPSECRET",
VIVO_APPKEY : "vivo的APPKEY",
VIVO_APPID : "vivo的APPID"
]
} }
sourceSets { sourceSets {
main { main {
jniLibs.srcDirs = ['libs'] jniLibs.srcDirs = ['libs']
@@ -79,9 +69,10 @@ android {
release { release {
minifyEnabled false minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.config
} }
debug { debug {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.config
} }
} }
compileOptions { compileOptions {
@@ -97,7 +88,7 @@ android {
} }
} }
repositories{ repositories {
flatDir { flatDir {
dirs 'libs' dirs 'libs'
} }
@@ -105,28 +96,69 @@ android {
productFlavors { productFlavors {
qa { qa {
manifestPlaceholders = [CHANNEL_VALUE: "大河好运司机"] applicationId "com.arpa.hndahesudintocctmsdriver.text"
buildConfigField("String", "OPEN_API_URL", "\"http://192.168.111.244:4009\"") manifestPlaceholders = [CHANNEL_VALUE: "司机测试",
buildConfigField("String", "BASE_URL", "\"http://app.dahehuoyun.com/api/\"") app_icon : "@drawable/diver_logo_text",
GAODEKEY : "6791d69f6221a0841b521763af86eb01",
JPUSH_PKGNAME: applicationId,
JPUSH_APPKEY : "571d93ae5117da6dee848c92", //JPush 上注册的包名对应的 Appkey.
JPUSH_CHANNEL: "developer-default"//暂时填写默认值即可.
]
buildConfigField("String", "OPEN_AL_URL", "\"https://oapi-staging.alct56.com\"")
buildConfigField("String", "BASE_URL", "\"http://app.test.dahehuoyun.com/api/\"")
buildConfigField "boolean", "isTest", "true"
//APP名称,可以在androidMainfest中引用
resValue "string", "appName", "司机测试"
} }
product { product {
manifestPlaceholders = [CHANNEL_VALUE: "大河好运司机"] applicationId "com.arpa.hndahesudintocctmsdriver"
buildConfigField("String", "OPEN_API_URL", "\"https://oapi.alct56.com\"") manifestPlaceholders = [CHANNEL_VALUE: "大河好运司机",
app_icon : "@drawable/diver_logo",
GAODEKEY : "78019612271411eca3af34db91930620",
JPUSH_PKGNAME: applicationId,
JPUSH_APPKEY : "571d93ae5117da6dee848c92", //JPush 上注册的包名对应的 Appkey.
JPUSH_CHANNEL: "developer-default"//暂时填写默认值即可.
]
buildConfigField("String", "OPEN_AL_URL", "\"https://oapi.alct56.com\"")
buildConfigField("String", "BASE_URL", "\"http://app.dahehuoyun.com/api/\"") buildConfigField("String", "BASE_URL", "\"http://app.dahehuoyun.com/api/\"")
buildConfigField "boolean", "isTest", "false"
//APP名称,可以在androidMainfest中引用
resValue "string", "appName", "大河好运司机"
}
productbc {
applicationId "com.arpa.hndahesudintocctmsdriver.bc"
manifestPlaceholders = [CHANNEL_VALUE: "司机运营",
app_icon : "@drawable/diver_logo_yunying",
GAODEKEY : "f960bc6d14788238918bd014fa08a870",
JPUSH_PKGNAME: applicationId,
JPUSH_APPKEY : "571d93ae5117da6dee848c92", //JPush 上注册的包名对应的 Appkey.
JPUSH_CHANNEL: "developer-default"//暂时填写默认值即可.
]
buildConfigField("String", "OPEN_AL_URL", "\"https://oapi.alct56.com\"")
buildConfigField("String", "BASE_URL", "\"http://app.dahehuoyun.com/api/\"")
buildConfigField "boolean", "isTest", "false"
//APP名称,可以在androidMainfest中引用
resValue "string", "appName", "司机运营"
} }
} }
productFlavors.all { flavor -> // productFlavors.all { flavor ->
flavor.manifestPlaceholders = [CHANNEL_VALUE: name] // flavor.manifestPlaceholders = [CHANNEL_VALUE: name]
} // }
android.applicationVariants.all { variant -> android.applicationVariants.all { variant ->
variant.outputs.all { variant.outputs.all {
def date = new Date().format("MMdd_HH-mm" , TimeZone.getTimeZone("GMT+08")) def date = new Date().format("MMdd_HH-mm", TimeZone.getTimeZone("GMT+08"))
if(variant.buildType.name.equals('release')){ def isText = variant.productFlavors[0].properties.get("buildConfigFields").getAt("isTest").properties.get("value")
outputFileName = "dhhy-driver-"+date+"-${versionName}.apk" def appName = null
if (isText == "true") {
appName = '大河好运司机测试_'
} else {
appName = '大河好运司机_'
} }
outputFileName = appName + "${variant.buildType.name}_${defaultConfig.versionName}_${date}.apk"
} }
} }
lintOptions { lintOptions {
@@ -143,6 +175,8 @@ dependencies {
implementation 'androidx.constraintlayout:constraintlayout:2.0.1' implementation 'androidx.constraintlayout:constraintlayout:2.0.1'
implementation 'com.caverock:androidsvg-aar:1.3' implementation 'com.caverock:androidsvg-aar:1.3'
//当引入的与之前引入的库有重复冲突部分的时候,使用compileOnly
implementation files('libs\\mdp_sdk.jar')
//压缩工具 //压缩工具
implementation 'top.zibin:Luban:1.1.3' implementation 'top.zibin:Luban:1.1.3'
//角标 //角标
@@ -153,26 +187,27 @@ dependencies {
implementation 'com.scwang.smart:refresh-footer-ball:2.0.1' //球脉冲加载 implementation 'com.scwang.smart:refresh-footer-ball:2.0.1' //球脉冲加载
implementation 'com.scwang.smart:refresh-footer-classics:2.0.1' //经典加载 implementation 'com.scwang.smart:refresh-footer-classics:2.0.1' //经典加载
//更新版本 //更新版本
implementation 'com.github.jenly1314.AppUpdater:app-updater:1.1.0' implementation 'com.github.jenly1314.AppUpdater:app-updater:1.2.0'
implementation 'com.github.jenly1314.AppUpdater:app-dialog:1.1.0' implementation 'com.github.jenly1314.AppUpdater:app-dialog:1.2.0'
//轮播插件 //轮播插件
implementation 'com.github.zhpanvip:BannerViewPager:3.5.4' implementation 'com.github.zhpanvip:BannerViewPager:3.5.4'
//弹出框 //
// implementation 'com.lxj:xpopup:2.2.8' // implementation 'com.lxj:xpopup:2.2.8'
// implementation 'com.github.li-xiaojun:XPopup:2.8.15' //工具类
//implementation 'cn.hutool:hutool-all:5.7.11'
//交通厅 //交通厅
implementation 'com.lzy.net:okgo:3.0.4' implementation 'com.lzy.net:okgo:3.0.4'
implementation 'com.alibaba:fastjson:1.2.61' implementation 'com.alibaba:fastjson:1.2.61'
implementation 'org.bouncycastle:bcprov-jdk15on:1.55' implementation 'org.bouncycastle:bcprov-jdk15on:1.55'
implementation 'org.apache.commons:commons-lang3:3.5' implementation 'org.apache.commons:commons-lang3:3.5'
implementation (name:'locationgd-androidx_2.1.0', ext:'aar')//交通厅 implementation(name: 'locationgd-androidx_2.1.0', ext: 'aar')//交通厅
//安联 //安联
// implementation 'com.google.code.gson:gson:2.8.6'
implementation 'com.loopj.android:android-async-http:1.4.9' implementation 'com.loopj.android:android-async-http:1.4.9'
implementation 'com.j256.ormlite:ormlite-android:4.48' implementation 'com.j256.ormlite:ormlite-android:4.48'
implementation 'com.j256.ormlite:ormlite-core:4.48' implementation 'com.j256.ormlite:ormlite-core:4.48'
implementation "org.permissionsdispatcher:permissionsdispatcher:4.6.0" compileOnly 'com.github.hotchemi:permissionsdispatcher:2.3.1'
kapt "org.permissionsdispatcher:permissionsdispatcher-processor:4.6.0" annotationProcessor 'com.github.hotchemi:permissionsdispatcher-processor:2.3.1'
//极光认证 //极光认证
implementation 'cn.jiguang.sdk:jverification:2.7.1' // 此处以2.7.1 版本为例。a implementation 'cn.jiguang.sdk:jverification:2.7.1' // 此处以2.7.1 版本为例。a
implementation 'cn.jiguang.sdk:jpush:4.2.4' // 此处以JPush 4.2.4 版本为例。 implementation 'cn.jiguang.sdk:jpush:4.2.4' // 此处以JPush 4.2.4 版本为例。
@@ -184,24 +219,30 @@ dependencies {
implementation 'com.umeng.umsdk:asms:1.4.1'// 必选 implementation 'com.umeng.umsdk:asms:1.4.1'// 必选
implementation 'com.umeng.umsdk:apm:1.4.2' // 错误分析升级为独立SDK,看crash数据请一定集成,可选 implementation 'com.umeng.umsdk:apm:1.4.2' // 错误分析升级为独立SDK,看crash数据请一定集成,可选
implementation 'com.umeng.umsdk:abtest:1.0.0'//使用U-App中ABTest能力,可选 implementation 'com.umeng.umsdk:abtest:1.0.0'//使用U-App中ABTest能力,可选
//动态权限获取
implementation "org.permissionsdispatcher:permissionsdispatcher:4.6.0"
kapt "org.permissionsdispatcher:permissionsdispatcher-processor:4.6.0"
//选择器 //选择器
implementation 'com.github.gzu-liyujiang.AndroidPicker:WheelPicker:3.1.1' implementation 'com.github.gzu-liyujiang.AndroidPicker:WheelPicker:3.1.1'
//EventBus //EventBus
implementation 'org.greenrobot:eventbus:3.1.1' implementation 'org.greenrobot:eventbus:3.1.1'
//易签宝
implementation(name: 'EsignSDK', ext: 'aar')
implementation 'pub.devrel:easypermissions:1.3.0'
implementation "com.squareup.retrofit2:retrofit:2.4.0"
// implementation "com.squareup.retrofit2:converter-gson:2.4.0"
implementation "com.squareup.retrofit2:adapter-rxjava2:2.4.0"
// implementation 'com.squareup.okhttp3:logging-interceptor:3.9.0'
implementation "io.reactivex.rxjava2:rxjava:2.1.5"
implementation "io.reactivex.rxjava2:rxandroid:2.0.1"
//pdf展示 //pdf展示
implementation 'com.github.barteksc:android-pdf-viewer:3.2.0-beta.1' implementation 'com.github.barteksc:android-pdf-viewer:3.2.0-beta.1'
//工具类 //
//implementation 'cn.hutool:hutool-all:5.7.11'
implementation 'com.github.getActivity:XToast:8.2' implementation 'com.github.getActivity:XToast:8.2'
//易签宝
implementation(name:'EsignSDK', ext:'aar')
//当引入的与之前引入的库有重复冲突部分的时候,使用compileOnly
implementation files('libs\\mdp_sdk.jar')
implementation project(path: ':mylibrary') implementation project(path: ':mylibrary')
} }
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+55 -5
View File
@@ -2,6 +2,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
package="com.arpa.hndahesudintocctmsdriver"> package="com.arpa.hndahesudintocctmsdriver">
<uses-permission android:name="android.permission.CALL_PHONE" />
<!-- 白名单 --> <!-- 白名单 -->
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" /> <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
<!-- 基础权限 --> <!-- 基础权限 -->
@@ -52,14 +53,14 @@
android:name="com.arpa.hndahesudintocctmsdriver.App" android:name="com.arpa.hndahesudintocctmsdriver.App"
android:allowBackup="true" android:allowBackup="true"
android:excludeFromRecents="true" android:excludeFromRecents="true"
android:icon="@drawable/diver_logo" android:icon="${app_icon}"
android:label="@string/app_name" android:label="@string/appName"
android:largeHeap="true" android:largeHeap="true"
android:requestLegacyExternalStorage="true" android:requestLegacyExternalStorage="true"
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/AppTheme" android:theme="@style/AppTheme"
android:usesCleartextTraffic="true" android:usesCleartextTraffic="true"
tools:replace="android:icon"> tools:replace="android:label,android:allowBackup">
<uses-library <uses-library
android:name="com/alct/mdp" android:name="com/alct/mdp"
@@ -96,7 +97,20 @@
<activity <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.auth.VehicleAuthActivity" android:name="com.arpa.hndahesudintocctmsdriver.ui.auth.VehicleAuthActivity"
android:screenOrientation="portrait"/> android:screenOrientation="portrait"/>
<activity <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivityBC"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.nfc.action.TAG_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="*/*" />
</intent-filter>
</activity> <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivity" android:name="com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivity"
android:screenOrientation="portrait"> android:screenOrientation="portrait">
@@ -109,6 +123,21 @@
</intent-filter> </intent-filter>
</activity> </activity>
<activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivity2"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.nfc.action.TAG_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="*/*" />
</intent-filter>
</activity>
<activity <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.GetShangChuanActivity" android:name="com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.GetShangChuanActivity"
android:screenOrientation="portrait"/> android:screenOrientation="portrait"/>
@@ -232,7 +261,7 @@
<!--高德地图--> <!--高德地图-->
<meta-data <meta-data
android:name="com.amap.api.v2.apikey" android:name="com.amap.api.v2.apikey"
android:value="78019612271411eca3af34db91930620" /> android:value="${GAODEKEY}" />
<!-- android:value="702eaa84675618b8eb69298d9fd42ca3" />--> <!-- android:value="702eaa84675618b8eb69298d9fd42ca3" />-->
<service android:name="com.amap.api.location.APSService"></service> <service android:name="com.amap.api.location.APSService"></service>
@@ -326,6 +355,27 @@
</intent-filter> </intent-filter>
</activity> </activity>
<activity
android:name=".H5Activity"
android:screenOrientation="portrait"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="demo"
android:path="/signBack"
android:scheme="esign" />
<data
android:host="demo"
android:path="/realBack"
android:scheme="esign" />
</intent-filter>
</activity>
<service <service
android:name="com.arpa.hndahesudintocctmsdriver.push.XService" android:name="com.arpa.hndahesudintocctmsdriver.push.XService"
android:enabled="true" android:enabled="true"
@@ -346,7 +396,7 @@
</receiver> </receiver>
<provider <provider
android:name="androidx.core.content.FileProvider" android:name="androidx.core.content.FileProvider"
android:authorities="com.arpa.hndahesudintocctmsdriver.fileprovider" android:authorities="${applicationId}.fileprovider"
android:exported="false" android:exported="false"
android:grantUriPermissions="true" android:grantUriPermissions="true"
tools:ignore="WrongManifestParent"> tools:ignore="WrongManifestParent">
@@ -2,7 +2,10 @@ package com.arpa.hndahesudintocctmsdriver;
import android.app.ActivityManager; import android.app.ActivityManager;
import android.app.Application; import android.app.Application;
import android.app.PendingIntent;
import android.content.Context; import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.ApplicationInfo; import android.content.pm.ApplicationInfo;
import android.content.res.Configuration; import android.content.res.Configuration;
import android.content.res.Resources; import android.content.res.Resources;
@@ -11,17 +14,27 @@ import android.util.Log;
import com.alct.mdp.MDPLocationCollectionManager; import com.alct.mdp.MDPLocationCollectionManager;
import com.arpa.hndahesudintocctmsdriver.report.JTTProcess; import com.arpa.hndahesudintocctmsdriver.report.JTTProcess;
import com.arpa.hndahesudintocctmsdriver.request.net.Api; import com.arpa.hndahesudintocctmsdriver.request.net.Api;
import com.arpa.hndahesudintocctmsdriver.ui.MainActivity;
import com.arpa.hndahesudintocctmsdriver.util.BillLocationUtils;
import com.dahe.mylibrary.CommonBaseLibrary; import com.dahe.mylibrary.CommonBaseLibrary;
import com.dahe.mylibrary.utils.ToastUtils;
import com.esign.esignsdk.EsignSdk; import com.esign.esignsdk.EsignSdk;
import com.arpa.hndahesudintocctmsdriver.util.sp.SPUtil; import com.arpa.hndahesudintocctmsdriver.util.sp.SPUtil;
import com.gyf.cactus.Cactus;
import com.gyf.cactus.callback.CactusBackgroundCallback;
import com.gyf.cactus.callback.CactusCallback;
import com.tencent.bugly.crashreport.CrashReport;
import com.umeng.commonsdk.UMConfigure; import com.umeng.commonsdk.UMConfigure;
import cn.jiguang.verifysdk.api.JVerificationInterface; import cn.jiguang.verifysdk.api.JVerificationInterface;
public class App extends Application { public class App extends Application {
String key = "f9d35b1133cff1f6e3960c89b249e03f"; // String key = "f9d35b1133cff1f6e3960c89b249e03f";
String license = "eQQm7gCZPF58Cy4i9OGkqSdFdDnFF0VSUVpw92WcrNLx7zVbpGJwjQhnKL8b0piApIbOTog5log/S1ZIxoUQogueaG84BQlJfRwKjtvpVWImlmhthQyQd2ogRqGkm3rkVGeG9wK49fzP3g5AtghNF05je2rQWd/Tyy/wutXq0e0rvR/bEckFaZ4BesQaYd0MejFC3lA8BjxNWiuvCKs15e1aRUOU5vwN5wsaTsTHokBIYhioSxOoGgHn6NrX6K9Dsl9uTWZ2dOVK/jEzYsNt6E/1Ww2ck1XmIWdRCQNmCpgikuPT0ACAL/w7UaRoWzM/Pm+akWqyp+bEavHT1Vhug3HAHOSGfOghGw2NerNlyEg8h6cVneMx+TsidnQ0ZG29aqdcLBRsvi26BYJJCA8+0WXjT+73RhS8g97Rfb6h0/W//5Az8UNZ6dp6XvUi2EJXQRhY5hkHiuwWT2W1ik+6wiiURkkrBACKbO1kmZWbVpRIe3Y3pcr3Q/V+oAcyPHRXCxu+JIe/j40/epuRrCyf8yvKsZ2Dnkl4QQmlwNqlW1F/arS+19G6zOG+6VKwtbI01A1R9SU1TYOA5UL/Qpo6Gyi3Ec3/irgQlzkq1rZrOIS4oo6tghul/zcG8rjno3luqHYwIZf8vAVfpwBesIVcANCOIuTRPU3A8vdmUoK/twGIchPapmjlAzLhjZ4KoAbNeMsWu3sN6kF44xofLMghos2X8OtvUA9CMD37v2FpYoM75qavyoivsBAbb6mG0p5TmkZ37BxfaGGP6SYrCa9ygQ=="; String key = "19ac0aa74338e487e45057faf7212401";
String license = "HF41uGxM/1i3CtW98DimoA97BlNTAnQ+DiEAihYmZ2jR1jqC4be253joEJbOJgFDIzp5aIoeuXSWWHFaDVfaHL2Pksbq5f8M8EqsVhP9q/i1xGYSYf6MJVlHdMAVLWgR0Kra+n8dVzkSDuZeyJuDsskAmZaGFQN1CqnWYCI1tmV1Tk4A57e9LQMed0U11QWjdshdU2DGqBXKmGE419PdW3NmIxOR2u9iB1OKBmvzCUT8RAYyBzSn/yhU++YJ25g5a8Pb5kOvi+eOh+PEFEcQL6oOp/CF4Iw5nadlsLhc+XEnVJpwL2myZBoSlVcKxrJKbRn1/DIgXBueKKnqhyHKdJlpqI9eghAlRF0p2Q4f23m89mWRZf4nhKzTeXGIjCTFO4TNVucrlGU7tyJcrRCDVdfV24fziH+hB3QGckpuYzzjefr7hZalLRJ/w8dPw/8dCY1wnWq3AJ3zw2g1PzMxl51q7AgdKvwc1ERcGBns0zb8PK6vGKCnJq3uHiJEnslbTI0MEosje+h+OPO7hf2QofErewjI19wHEOv4dTvuFLh3VmGFMObAmov5kI47705fjSxCvAPGATBrfUSwim+5EQ1hanc5IcXe0/nOTiRUNEpZ+x65zVydqAs7490yqQiIUQvPazEwcal7vH2OD54lCcgpxKxqdmGc5/bp5UnqB45+n+iuInV/Q9DMOQVk15uaVZmhS8VaCqH21CmfH/ZGLb9wiEpaRLrPZLKX3bK7MT9Z0/OlDnb2QUKU8LMMIhLuQQntzsf0Wn4kA/0e9QAJJQ==";
// String license = "eQQm7gCZPF58Cy4i9OGkqSdFdDnFF0VSUVpw92WcrNLx7zVbpGJwjQhnKL8b0piApIbOTog5log/S1ZIxoUQogueaG84BQlJfRwKjtvpVWImlmhthQyQd2ogRqGkm3rkVGeG9wK49fzP3g5AtghNF05je2rQWd/Tyy/wutXq0e0rvR/bEckFaZ4BesQaYd0MejFC3lA8BjxNWiuvCKs15e1aRUOU5vwN5wsaTsTHokBIYhioSxOoGgHn6NrX6K9Dsl9uTWZ2dOVK/jEzYsNt6E/1Ww2ck1XmIWdRCQNmCpgikuPT0ACAL/w7UaRoWzM/Pm+akWqyp+bEavHT1Vhug3HAHOSGfOghGw2NerNlyEg8h6cVneMx+TsidnQ0ZG29aqdcLBRsvi26BYJJCA8+0WXjT+73RhS8g97Rfb6h0/W//5Az8UNZ6dp6XvUi2EJXQRhY5hkHiuwWT2W1ik+6wiiURkkrBACKbO1kmZWbVpRIe3Y3pcr3Q/V+oAcyPHRXCxu+JIe/j40/epuRrCyf8yvKsZ2Dnkl4QQmlwNqlW1F/arS+19G6zOG+6VKwtbI01A1R9SU1TYOA5UL/Qpo6Gyi3Ec3/irgQlzkq1rZrOIS4oo6tghul/zcG8rjno3luqHYwIZf8vAVfpwBesIVcANCOIuTRPU3A8vdmUoK/twGIchPapmjlAzLhjZ4KoAbNeMsWu3sN6kF44xofLMghos2X8OtvUA9CMD37v2FpYoM75qavyoivsBAbb6mG0p5TmkZ37BxfaGGP6SYrCa9ygQ==";
public final static int APP_STATUS_KILLED = 0; // 表示应用是被杀死后在启动的 public final static int APP_STATUS_KILLED = 0; // 表示应用是被杀死后在启动的
public final static int APP_STATUS_NORMAL = 1; // 表示应用时正常的启动流程 public final static int APP_STATUS_NORMAL = 1; // 表示应用时正常的启动流程
@@ -34,6 +47,7 @@ public class App extends Application {
mApplication = this; mApplication = this;
con = getBaseContext(); con = getBaseContext();
CommonBaseLibrary.getInstance().init(this, Api.BASE_URL); CommonBaseLibrary.getInstance().init(this, Api.BASE_URL);
CrashReport.initCrashReport(getApplicationContext(), "0fa55ffad8", false);
String state = SPUtil.getSP(con, "state_data", "authorization_state"); String state = SPUtil.getSP(con, "state_data", "authorization_state");
if ("1".equals(state)) { if ("1".equals(state)) {
try { try {
@@ -45,7 +59,7 @@ public class App extends Application {
//安联初始化 //安联初始化
if (context.getPackageName().equals(getCurrentProcessName(context))) { if (context.getPackageName().equals(getCurrentProcessName(context))) {
//Log.e("--使用的测试环境--",BuildConfig.OPEN_API_URL); //Log.e("--使用的测试环境--",BuildConfig.OPEN_API_URL);
MDPLocationCollectionManager.initialize(this, "https://oapi.alct56.com"); MDPLocationCollectionManager.initialize(this, BuildConfig.OPEN_AL_URL);
} }
//在使用SDK各组件之前初始化context信息,传入ApplicationContext //在使用SDK各组件之前初始化context信息,传入ApplicationContext
// 路由初始化 // 路由初始化
@@ -63,6 +77,30 @@ public class App extends Application {
Log.e("-error-", "初始化失败sss"); Log.e("-error-", "初始化失败sss");
} }
} }
// PendingIntent pendingIntent =
// PendingIntent.getActivity(this, 0, new Intent(this, MainActivity.class), PendingIntent.FLAG_UPDATE_CURRENT);
// Cactus.getInstance()
// .isDebug(true)
// //可选,设置通知栏点击事件
// .setPendingIntent(pendingIntent)
//// .setBackgroundMusicEnabled(true)//可选,退到后台是否可以播放音乐
//// .setMusicId(R.raw.main) //可选,设置音乐
//// .setPendingIntent(pendingIntent)//可选,设置通知栏点击事件
//// .addCallback(new CactusCallback())//可选,运行时回调
// .setCrashRestartUIEnabled(true) //可选,设置奔溃可以重启,google原生rom android 10以下可以正常重启
// .setCrashRestartUIEnabled(true)//可选,设置奔溃可以重启,google原生rom android 10以下可以正常重启
// .setTitle("大河好运")
// .setSmallIcon(R.drawable.diver_logo)
// .addBackgroundCallback(new CactusBackgroundCallback() {
// @Override
// public void onBackground(boolean b) {
// if (b){
// getBillLocation();
// }
// }
// })
// .register(this);
} }
public static App getApp() { public static App getApp() {
@@ -83,6 +121,10 @@ public class App extends Application {
UMConfigure.init(getApplicationContext(), UMConfigure.DEVICE_TYPE_PHONE, ""); UMConfigure.init(getApplicationContext(), UMConfigure.DEVICE_TYPE_PHONE, "");
} }
private void getBillLocation() {
BillLocationUtils.getInstance().getBillLocation(con);
}
private static String getCurrentProcessName(Context context) { private static String getCurrentProcessName(Context context) {
String currentProcessName = ""; String currentProcessName = "";
int pid = android.os.Process.myPid(); int pid = android.os.Process.myPid();
@@ -0,0 +1,481 @@
package com.arpa.hndahesudintocctmsdriver;
import android.Manifest;
import android.annotation.TargetApi;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.net.http.SslError;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.provider.MediaStore;
import android.text.TextUtils;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.ConsoleMessage;
import android.webkit.CookieManager;
import android.webkit.CookieSyncManager;
import android.webkit.JsPromptResult;
import android.webkit.JsResult;
import android.webkit.PermissionRequest;
import android.webkit.SslErrorHandler;
import android.webkit.ValueCallback;
import android.webkit.WebChromeClient;
import android.webkit.WebResourceError;
import android.webkit.WebResourceRequest;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
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.ui.UiAuxiliary;
import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity;
import com.arpa.hndahesudintocctmsdriver.ui.home.StartYunDanActivity;
import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.dahe.mylibrary.utils.ToastUtils;
import com.esign.esignsdk.EsignSdk;
import com.esign.esignsdk.h5.base.WBH5FaceVerifySDK;
import org.greenrobot.eventbus.EventBus;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import pub.devrel.easypermissions.EasyPermissions;
import static android.webkit.WebSettings.LOAD_NO_CACHE;
/**
* @author xingtian on 2019/3/25
*/
public class H5Activity extends AppCompatActivity {
public static final int REQUEST_PERMISSION_STORAGE = 0x00;
public static final int REQUEST_PERMISSION_CAMERA = 0x01;
public final static String SCHEMA_REAL = "esign://demo/realBack";
public final static String SCHEMA_SIGN = "esign://demo/signBack";
private WebView mWebView;
String curUrl = null;
boolean viewFile = false;
long time = System.currentTimeMillis();
ValueCallback<Uri> uploadMessage;
private ValueCallback<Uri[]> 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 (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)) {
//延时1.5秒跳转运单详情页面
new Handler().postDelayed(() -> {
FaceEvent he = new FaceEvent("刷脸成功");
EventBus.getDefault().post(he);
finish();
}, 800);
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<Uri> uploadMsg, String acceptType) {
if (WBH5FaceVerifySDK.getInstance().recordVideoForApiBelow21(uploadMsg, acceptType, activity)) {
return;
}
uploadMessage = uploadMsg;
}
public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture) {
if (WBH5FaceVerifySDK.getInstance().recordVideoForApiBelow21(uploadMsg, acceptType, activity)) {
return;
}
uploadMessage = uploadMessage;
}
@TargetApi(21)
@Override
public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> 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);
}
}
@@ -77,6 +77,15 @@ public class CarDelBean {
private String registerNo; private String registerNo;
private String carEnergyTypValue; private String carEnergyTypValue;
private String carPlateColorValue; private String carPlateColorValue;
private String needUpQCPhoto;
public String getNeedUpQCPhoto() {
return needUpQCPhoto;
}
public void setNeedUpQCPhoto(String needUpQCPhoto) {
this.needUpQCPhoto = needUpQCPhoto;
}
public String getCarPlateColorValue() { public String getCarPlateColorValue() {
return carPlateColorValue; return carPlateColorValue;
@@ -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<DataDTO.DataDTO2.PrismKeyValueInfoDTO> prism_keyValueInfo;
public List<DataDTO.DataDTO2.PrismKeyValueInfoDTO> getPrism_keyValueInfo() {
return prism_keyValueInfo;
}
public void setPrism_keyValueInfo(List<DataDTO.DataDTO2.PrismKeyValueInfoDTO> 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;
}
}
}
}
}
@@ -56,6 +56,33 @@ public class CarZhengBean {
public static class DataDTO { public static class DataDTO {
private int carId; 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() { public int getCarId() {
return carId; return carId;
@@ -257,6 +257,7 @@ public class StartOrderBean {
private String realityTimeDate; private String realityTimeDate;
private int status; private int status;
private String longitude; private String longitude;
private String imageTakenDate;
private String latitude; private String latitude;
private List<GoodsDTO> goods; private List<GoodsDTO> goods;
private int report; private int report;
@@ -280,6 +281,14 @@ public class StartOrderBean {
private String distance; private String distance;
private int isEvaluation; private int isEvaluation;
public String getImageTakenDate() {
return imageTakenDate;
}
public void setImageTakenDate(String imageTakenDate) {
this.imageTakenDate = imageTakenDate;
}
public long getId() { public long getId() {
return id; return id;
} }
@@ -0,0 +1,48 @@
package com.arpa.hndahesudintocctmsdriver.constant;
/**
* @ClassName HYConstant
* @Author 用户
* @Date 2023/8/29 09:32
* @Description TODO
*/
public class HYConstant {
//-------------安联---------------start
//企业代码
private static final String ENTERPRISE_CODE="E0019169";
//企业app的身份码
private static final String APP_IDENTITY="b4a472a025e443b383970cdd5465552e";
//企业app验证码
private static final String APP_KEY="b948efbb4c2a4ba0805c534f2fba0c89";
//企业代码-测试
private static final String ENTERPRISE_CODE_TEXT="E0019093";
//企业app的身份码-测试
private static final String APP_IDENTITY_TEXT="a15b4ba5bd2542cc9a6bea9bdadf9ef9";
//企业app验证码-测试
private static final String APP_KEY_TEXT="07a6256cad5642138ed6e962a5a157be";
//-------------安联---------------end
//-------------交通厅---------------start
public final static String JTT_DATA_NAME="jtt_data";
public final static String JTT_DATA_JTTORDER_KEY="JTT_order_key";
public final static String JTT_DATA_ORDER_KEY="order_key";
//-------------交通厅---------------end
//--------------E签宝--------------start
String key = "19ac0aa74338e487e45057faf7212401";
String license = "HF41uGxM/1i3CtW98DimoA97BlNTAnQ+DiEAihYmZ2jR1jqC4be253joEJbOJgFDIzp5aIoeuXSWWHFaDVfaHL2Pksbq5f8M8EqsVhP9q/i1xGYSYf6MJVlHdMAVLWgR0Kra+n8dVzkSDuZeyJuDsskAmZaGFQN1CqnWYCI1tmV1Tk4A57e9LQMed0U11QWjdshdU2DGqBXKmGE419PdW3NmIxOR2u9iB1OKBmvzCUT8RAYyBzSn/yhU++YJ25g5a8Pb5kOvi+eOh+PEFEcQL6oOp/CF4Iw5nadlsLhc+XEnVJpwL2myZBoSlVcKxrJKbRn1/DIgXBueKKnqhyHKdJlpqI9eghAlRF0p2Q4f23m89mWRZf4nhKzTeXGIjCTFO4TNVucrlGU7tyJcrRCDVdfV24fziH+hB3QGckpuYzzjefr7hZalLRJ/w8dPw/8dCY1wnWq3AJ3zw2g1PzMxl51q7AgdKvwc1ERcGBns0zb8PK6vGKCnJq3uHiJEnslbTI0MEosje+h+OPO7hf2QofErewjI19wHEOv4dTvuFLh3VmGFMObAmov5kI47705fjSxCvAPGATBrfUSwim+5EQ1hanc5IcXe0/nOTiRUNEpZ+x65zVydqAs7490yqQiIUQvPazEwcal7vH2OD54lCcgpxKxqdmGc5/bp5UnqB45+n+iuInV/Q9DMOQVk15uaVZmhS8VaCqH21CmfH/ZGLb9wiEpaRLrPZLKX3bK7MT9Z0/OlDnb2QUKU8LMMIhLuQQntzsf0Wn4kA/0e9QAJJQ==";
//-------------E签宝---------------end
//--------------交通厅--------------start
private final static String APPID="com.arpa.hndahesudintocctmsdriver";
private final static String APP_SECURITY="01e20fc6585a42738ac88a12321dc41bff473b4b20184aacbbcee7d7864359a6";
private final static String CODE="41110447";
private final static String ENVIRONMENT="release";
//-------------交通厅---------------end
}
@@ -0,0 +1,84 @@
package com.arpa.hndahesudintocctmsdriver.cuspop
import android.Manifest
import android.content.Context
import android.content.Intent
import android.net.Uri
import android.view.View
import android.widget.Toast
import androidx.fragment.app.FragmentActivity
import com.arpa.hndahesudintocctmsdriver.R
import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil
import com.dahe.mylibrary.utils.ToastUtils
import com.lxj.xpopup.core.CenterPopupView
import com.lxj.xpopup.util.XPermission
import com.permissionx.guolindev.PermissionX
import kotlinx.android.synthetic.main.load.view.*
import kotlinx.android.synthetic.main.pop_message_center.view.*
/**
* @ClassName MessagePop
* @Author 用户
* @Date 2023/8/14 18:01
* @Description TODO
*/
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() {
super.onCreate()
tvCancel.setOnClickListener(this)
tvOk.setOnClickListener(this)
tvPhone.setOnClickListener(this)
tvContent.text = "$content"
tvMessage2.text =secMessage
}
override fun onClick(v: View?) {
when(v?.id){
R.id.tvCancel -> {
dismiss()
}
R.id.tvOk,R.id.tvPhone -> {
dismiss()
if (XPermission.create(context).isGranted(Manifest.permission.CALL_PHONE)){
val toString = tvPhone.text.toString()
val intent = Intent(Intent.ACTION_DIAL)
val data = Uri.parse("tel:$toString")
intent.data = data
context.startActivity(intent)
}else{
ToastUtils.showToast(context,"请开启电话权限")
}
// BaseUtils.callPhone(content as Activity, tvPhone.text.toString())
}
}
}
private var listener: OnMyItemClickListener? = null
fun setOnMyItemClickListener(listener: OnMyItemClickListener?): MessagePop {
this.listener = listener
return this
}
interface OnMyItemClickListener {
fun onItemClick(startTime: String, endTime: String)
}
}
@@ -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()
}
}
@@ -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;
}
}
@@ -8,7 +8,11 @@ import com.alct.mdp.MDPLocationCollectionManager;
import com.alct.mdp.callback.OnDownloadResultListener; import com.alct.mdp.callback.OnDownloadResultListener;
import com.alct.mdp.callback.OnResultListener; import com.alct.mdp.callback.OnResultListener;
import com.alct.mdp.model.Identity; import com.alct.mdp.model.Identity;
import com.arpa.hndahesudintocctmsdriver.App;
import com.arpa.hndahesudintocctmsdriver.BuildConfig;
import com.arpa.hndahesudintocctmsdriver.parts.AuthParts; import com.arpa.hndahesudintocctmsdriver.parts.AuthParts;
import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.arpa.hndahesudintocctmsdriver.util.msg.MsgUtil;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.arpa.hndahesudintocctmsdriver.bean.DriverAuthDataBean; import com.arpa.hndahesudintocctmsdriver.bean.DriverAuthDataBean;
import com.arpa.hndahesudintocctmsdriver.bean.FqBean; import com.arpa.hndahesudintocctmsdriver.bean.FqBean;
@@ -28,15 +32,23 @@ public class ALProcess {
//企业app验证码 //企业app验证码
private static final String APP_KEY="b948efbb4c2a4ba0805c534f2fba0c89"; private static final String APP_KEY="b948efbb4c2a4ba0805c534f2fba0c89";
//企业代码-测试
private static final String ENTERPRISE_CODE_TEXT="E0019093";
//企业app的身份码-测试
private static final String APP_IDENTITY_TEXT="a15b4ba5bd2542cc9a6bea9bdadf9ef9";
//企业app验证码-测试
private static final String APP_KEY_TEXT="07a6256cad5642138ed6e962a5a157be";
public static void verification(Context con){ public static void verification(Context con){
DriverAuthDataBean auth= AuthParts.getAuth(con); DriverAuthDataBean auth= AuthParts.getAuth(con);
Identity idy=new Identity(); Identity idy=new Identity();
//企业代码 //企业代码
idy.setEnterpriseCode(ENTERPRISE_CODE); idy.setEnterpriseCode(BuildConfig.isTest?ENTERPRISE_CODE_TEXT:ENTERPRISE_CODE);
//企业app的身份码 //企业app的身份码
idy.setAppIdentity(APP_IDENTITY); idy.setAppIdentity(BuildConfig.isTest?APP_IDENTITY_TEXT:APP_IDENTITY);
//企业app验证码 //企业app验证码
idy.setAppKey(APP_KEY); idy.setAppKey(BuildConfig.isTest?APP_KEY_TEXT:APP_KEY);
//司机身份证 //司机身份证
idy.setDriverIdentity(auth.getData().getIdcard()); idy.setDriverIdentity(auth.getData().getIdcard());
//idy.setDriverIdentity("410725198311042012"); //idy.setDriverIdentity("410725198311042012");
@@ -50,6 +62,7 @@ public class ALProcess {
@Override @Override
public void onFailure(java.lang.String s, java.lang.String s1) { public void onFailure(java.lang.String s, java.lang.String s1) {
Log.e("--error--",s+s1+""); Log.e("--error--",s+s1+"");
new MessageUtils().showCenMessage(con,s1);
} }
}); });
} }
@@ -78,7 +91,7 @@ public class ALProcess {
public static void applyFq(Context con,FqBean fb){ public static void applyFq(Context con,FqBean fb){
for (FqBean.Invoice driverInvoice : fb.getDriverInvoices()) { for (FqBean.Invoice driverInvoice : fb.getDriverInvoices()) {
MDPLocationCollectionManager.confirmInvoice(con, ENTERPRISE_CODE, driverInvoice.getDriverInvoiceCode(), new OnResultListener() { MDPLocationCollectionManager.confirmInvoice(con, BuildConfig.isTest?ENTERPRISE_CODE_TEXT:ENTERPRISE_CODE, driverInvoice.getDriverInvoiceCode(), new OnResultListener() {
@Override @Override
public void onSuccess() { public void onSuccess() {
@@ -113,4 +126,33 @@ public class ALProcess {
} }
public static void verification(Context con,Handler hd){
DriverAuthDataBean auth= AuthParts.getAuth(con);
Identity idy=new Identity();
//企业代码
idy.setEnterpriseCode(BuildConfig.isTest?ENTERPRISE_CODE_TEXT:ENTERPRISE_CODE);
//企业app的身份码
idy.setAppIdentity(BuildConfig.isTest?APP_IDENTITY_TEXT:APP_IDENTITY);
//企业app验证码
idy.setAppKey(BuildConfig.isTest?APP_KEY_TEXT:APP_KEY);
//司机身份证
idy.setDriverIdentity(auth.getData().getIdcard());
//idy.setDriverIdentity("410725198311042012");
MDPLocationCollectionManager.register(con, idy, new OnResultListener() {
@Override
public void onSuccess() {
MsgUtil.addHdMsgWatBody(hd, 1111,"认证成功");
Log.e("--success--","验证成功");
getFq(con);
}
@Override
public void onFailure(java.lang.String s, java.lang.String s1) {
Log.e("--error--",s+s1+"");
MsgUtil.addHdMsgWatBody(hd, 2222,s1);
// new MessageUtils().showCenMessage(con,s1);
}
});
}
} }
@@ -1,5 +1,6 @@
package com.arpa.hndahesudintocctmsdriver.request; package com.arpa.hndahesudintocctmsdriver.request;
import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivity;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.arpa.hndahesudintocctmsdriver.request.bean.LUInputBean; import com.arpa.hndahesudintocctmsdriver.request.bean.LUInputBean;
import com.arpa.hndahesudintocctmsdriver.request.bean.TrackInputBean; import com.arpa.hndahesudintocctmsdriver.request.bean.TrackInputBean;
@@ -8,7 +9,6 @@ import com.arpa.hndahesudintocctmsdriver.ui.home.HuoYuanFragmengt;
import com.arpa.hndahesudintocctmsdriver.ui.home.HuoYunDelActivity; import com.arpa.hndahesudintocctmsdriver.ui.home.HuoYunDelActivity;
import com.arpa.hndahesudintocctmsdriver.ui.home.StartYunDanActivity; import com.arpa.hndahesudintocctmsdriver.ui.home.StartYunDanActivity;
import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.OrderComplaintActivity; import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.OrderComplaintActivity;
import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivity;
import com.arpa.hndahesudintocctmsdriver.ui.login.LoginActivity; import com.arpa.hndahesudintocctmsdriver.ui.login.LoginActivity;
import com.arpa.hndahesudintocctmsdriver.util.map.MapUtil; import com.arpa.hndahesudintocctmsdriver.util.map.MapUtil;
import com.arpa.hndahesudintocctmsdriver.util.sp.SPUtil; import com.arpa.hndahesudintocctmsdriver.util.sp.SPUtil;
@@ -89,6 +89,11 @@ public class HuoYuanRequset{
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getUNLOADING(), gson.toJson(lub)),getToken(con),con); Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getUNLOADING(), gson.toJson(lub)),getToken(con),con);
RequestUtil.start(1, ShangChuangImgActivity.TYPE_NAME[1],re,con,hd); RequestUtil.start(1, ShangChuangImgActivity.TYPE_NAME[1],re,con,hd);
} }
//卸货-补传
public void dischargeCargo4(LUInputBean lub){
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getUNLOADING4(), gson.toJson(lub)),getToken(con),con);
RequestUtil.start(1, ShangChuangImgActivity.TYPE_NAME[1],re,con,hd);
}
//回单 //回单
public void receipt(UploadReceiptInputBean urib){ public void receipt(UploadReceiptInputBean urib){
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getUploadReceipt(), gson.toJson(urib)),getToken(con),con); Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getUploadReceipt(), gson.toJson(urib)),getToken(con),con);
@@ -59,4 +59,9 @@ public class OCRRequest {
RequestUtil.start(12, "carName",re,con,hd); 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);
}
} }
@@ -1,195 +1,202 @@
package com.arpa.hndahesudintocctmsdriver.request; package com.arpa.hndahesudintocctmsdriver.request;
import com.arpa.hndahesudintocctmsdriver.BuildConfig;
public class RequestConstant { public class RequestConstant {
public static String TOKEN="eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2MzA0MDE3OTIsInVzZXJJZCI6ODAsImlhdCI6MTYyNzcyMzM5Mn0.f9Q-UZVduW6nt1s0L-3vYsrOJJ8iuSCSlJ9uu8yIxBI"; 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 //域名地址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 //版本更新/app/check/version
public static String VERSION ="/app/check/version"; public static String VERSION = "/app/check/version";
//全部代码 //全部代码
public static String CODE_DATA ="/common/dic/listdata"; public static String CODE_DATA = "/common/dic/listdata";
//短信验证码 //短信验证码
private static final String SEND_CODE = "/common/sendcode"; private static final String SEND_CODE = "/common/sendcode";
//登录 //登录
private static final String REG="/common/register"; private static final String REG = "/common/register";
//注册 //注册
private static final String LOGIN="/common/register"; private static final String LOGIN = "/common/register";
//上传文件 //上传文件
private static final String UPLOAD="/common/resource/upload"; private static final String UPLOAD = "/common/resource/upload";
//配置项信息 //配置项信息
private static final String CONFIG="/common/config/list"; private static final String CONFIG = "/common/config/list";
//获取开屏页图片和轮播图 //获取开屏页图片和轮播图
private static final String GET_IMAGE="/common/resource/image/config"; private static final String GET_IMAGE = "/common/resource/image/config";
//司机认证信息 //司机认证信息
private static final String DRIVER_AUTH_INFO="/app/driver/auth/authInfo"; private static final String DRIVER_AUTH_INFO = "/app/driver/auth/authInfo";
//货源大厅 //货源大厅
private static final String GOODS_HALL="/app/driver/order/getHallList"; private static final String GOODS_HALL = "/app/driver/order/getHallList";
//历史成交货源 //历史成交货源
private static final String GET_EXAMPLE_LIST="/app/driver/order/getExampleList"; private static final String GET_EXAMPLE_LIST = "/app/driver/order/getExampleList";
//货源详情 //货源详情
private static final String GOODS_DEL="/app/driver/order/findOrderInfoV2"; private static final String GOODS_DEL = "/app/driver/order/findOrderInfoV2";
//账户信息 //账户信息
private static final String USER="/app/user/getUserInfo"; private static final String USER = "/app/user/getUserInfo";
//银行卡列表 //银行卡列表
private static final String BANK_CARD_LIST="/app/bankCard/findPage"; private static final String BANK_CARD_LIST = "/app/bankCard/findPage";
//绑定银行卡 //绑定银行卡
private static final String INS_BANKCARD="/app/bankCard/bandCard"; private static final String INS_BANKCARD = "/app/bankCard/bandCard";
// private static final String INS_BANKCARD="/app/bankCard/save"; // private static final String INS_BANKCARD="/app/bankCard/save";
//删除银行卡 //删除银行卡
// private static final String DELETE_BANKCARD="/app/bankCard/deleteCard"; // private static final String DELETE_BANKCARD="/app/bankCard/deleteCard";
private static final String DELETE_BANKCARD="/app/bankCard/unBandCard"; private static final String DELETE_BANKCARD = "/app/bankCard/unBandCard";
//生成电子账户 //生成电子账户
private static final String ADD_CONTRACTS="/app/bank/addContracts"; private static final String ADD_CONTRACTS = "/app/bank/addContracts";
//获取电子账户 //获取电子账户
private static final String GET_CONTRACTS="/app/bank/getContracts"; private static final String GET_CONTRACTS = "/app/bank/getContracts";
//获取账户未读消息 //获取账户未读消息
private static final String XIAOXI_LIST="/app/message/findCurrentUserNotReadCount"; private static final String XIAOXI_LIST = "/app/message/findCurrentUserNotReadCount";
//获取账户消息 //获取账户消息
private static final String XIAOXI_ALL="/app/message/findPage"; private static final String XIAOXI_ALL = "/app/message/findPage";
//已读消息 //已读消息
private static final String XIAOXI_DEL="/app/message/setReadById"; private static final String XIAOXI_DEL = "/app/message/setReadById";
//已读全部消息 //已读全部消息
private static final String XIAOXI_DEL_ALL="/app/message/setReadAll"; private static final String XIAOXI_DEL_ALL = "/app/message/setReadAll";
//运单列表 //运单列表
private static final String ORDER_LIST="/app/driver/waybill/listV2"; private static final String ORDER_LIST = "/app/driver/waybill/listV2";
//抢单 //抢单
private static final String AGREE_ORDER="/app/driver/waybill/grabDriverOrdersContruct"; private static final String AGREE_ORDER = "/app/driver/waybill/grabDriverOrdersContruct";
//获取正在执行的运单/运单详情 //获取正在执行的运单/运单详情
private static final String GET_START_ORDER="/app/driver/waybill/getExecuteWaybill"; private static final String GET_START_ORDER = "/app/driver/waybill/getExecuteWaybill";
//查看承运合同 //查看承运合同
private static final String GET_CARRY_CONTRACT="/common/appContract/findCarrierContract"; private static final String GET_CARRY_CONTRACT = "/common/appContract/findCarrierContract";
//评价信息保存 //评价信息保存
private static final String EVALUATIONV2="/app/driver/waybill/evaluationV2"; private static final String EVALUATIONV2 = "/app/driver/waybill/evaluationV2";
//装货 //装货
private static final String LOADING="/app/driver/waybill/loadingV2"; private static final String LOADING = "/app/driver/waybill/loadingV2";
//卸货 //卸货
private static final String UNLOADING="/app/driver/waybill/unloadV2"; private static final String UNLOADING = "/app/driver/waybill/unloadV2";
//卸货-补传
private static final String UNLOADING4 = "/app/driver/waybill/unloadV4";
//上传回单 //上传回单
private static final String UPLOAD_RECEIPT="/app/driver/waybill/uploadReceipt"; private static final String UPLOAD_RECEIPT = "/app/driver/waybill/uploadReceipt";
//轨迹跟踪 //轨迹跟踪
private static final String TRACK_TRACKING="/app/driver/waybill/addAppLocation"; private static final String TRACK_TRACKING = "/app/driver/waybill/addAppLocation";
//获取评价信息 //获取评价信息
private static final String GET_EVALUATE="/app/driver/waybill/listAppraises"; private static final String GET_EVALUATE = "/app/driver/waybill/listAppraises";
//获取投诉信息 //获取投诉信息
private static final String GET_COMPLAINT="/app/driver/waybill/listComplaint"; private static final String GET_COMPLAINT = "/app/driver/waybill/listComplaint";
//保存投诉信息 //保存投诉信息
private static final String COMPLAINT="/app/driver/waybill/complaintV2"; private static final String COMPLAINT = "/app/driver/waybill/complaintV2";
//保存评价信息 //保存评价信息
private static final String EVALUATION_V2="/app/driver/waybill/evaluationV2"; private static final String EVALUATION_V2 = "/app/driver/waybill/evaluationV2";
//车辆列表 //车辆列表
private static final String GET_CAR_LIST="/app/carDriver/getCarList"; private static final String GET_CAR_LIST = "/app/carDriver/getCarList";
//车辆详情 //车辆详情
private static final String GET_CAR_DEL="/app/carDriver/getCarInfo"; private static final String GET_CAR_DEL = "/app/carDriver/getCarInfo";
//删除车辆 //删除车辆
private static final String DEL_CAR="/app/carDriver/removeCar"; private static final String DEL_CAR = "/app/carDriver/removeCar";
//上传车辆照片 //上传车辆照片
private static final String SAVECARIMG="/app/carDriver/saveCarImg"; private static final String SAVECARIMG = "/app/carDriver/saveCarImg";
//上传头像保存 //上传头像保存
private static final String UPLOAD_HEAD="/app/user/uploadHeadportrait"; private static final String UPLOAD_HEAD = "/app/user/uploadHeadportrait";
//获取上传失败的订单 //获取上传失败的订单
private static final String GET_ERROR_ORDER="/app/driver/waybill/getAsymmetryWaybill"; private static final String GET_ERROR_ORDER = "/app/driver/waybill/getAsymmetryWaybill";
//提现 //提现
private static final String TIXIAN="/app/account/cashApply/bank/charge"; private static final String TIXIAN = "/app/account/cashApply/bank/charge";
//--ORC识别-- //--ORC识别--
//银行卡识别 //银行卡识别
private static final String ORC_BANK="/common/ocr/bank"; private static final String ORC_BANK = "/common/ocr/bank";
//身份证正面 //身份证正面
private static final String ID_CARD_FRONT="/common/ocr/idCardFront"; private static final String ID_CARD_FRONT = "/common/ocr/idCardFront";
//身份证识别反面 //身份证识别反面
private static final String ID_CARD_BACK="/common/ocr/idCardBack"; private static final String ID_CARD_BACK = "/common/ocr/idCardBack";
//驾驶证正面 //驾驶证正面
private static final String DRIVING_LICENSE="/common/ocr/drivingLicense"; private static final String DRIVING_LICENSE = "/common/ocr/drivingLicense";
//驾驶证副页 //驾驶证副页
private static final String DRIVING_LICENSE_BACK="/common/ocr/drivingLicenseBack"; private static final String DRIVING_LICENSE_BACK = "/common/ocr/drivingLicenseBack";
//行驶证正面 //行驶证正面
private static final String VEHICLE_LICENSE="/common/ocr/vehicleLicense"; private static final String VEHICLE_LICENSE = "/common/ocr/vehicleLicense";
//行驶证副页 //行驶证副页
private static final String VEHICLE_LICENSE_BACK="/common/ocr/v2/vehicleBackLicenseV3"; private static final String VEHICLE_LICENSE_BACK = "/common/ocr/v2/vehicleBackLicenseV3";
//身份证认证信息 //身份证认证信息
private static final String ISAUTH_IDCARD="/app/driver/auth/isAuthIdCard"; private static final String ISAUTH_IDCARD = "/app/driver/auth/isAuthIdCard";
//驾驶证认证信息 //驾驶证认证信息
private static final String ISAUTH_DRIVERAUTH_LICENSE="/app/driver/auth/isAuthDriverAuthLicense"; private static final String ISAUTH_DRIVERAUTH_LICENSE = "/app/driver/auth/isAuthDriverAuthLicense";
//资格证认证信息 //资格证认证信息
private static final String IS_AUTH_DRIVER_AUTH_QUALIFICATION="/app/driver/auth/isAuthDriverAuthQualification"; private static final String IS_AUTH_DRIVER_AUTH_QUALIFICATION = "/app/driver/auth/isAuthDriverAuthQualification";
//行驶证认证信息 //行驶证认证信息
//身份证认证 //身份证认证
private static final String DRIVERAUTHIDCARD="/app/driver/auth/driverAuthIdCard"; private static final String DRIVERAUTHIDCARD = "/app/driver/auth/driverAuthIdCard";
//驾驶证认证 //驾驶证认证
private static final String DRIVERAUTHLICENSE="/app/driver/auth/driverAuthLicense"; private static final String DRIVERAUTHLICENSE = "/app/driver/auth/driverAuthLicense";
//行驶证认证 //行驶证认证
private static final String SAVEVEHICLELICENSE="/app/carDriver/saveVehicleLicense"; private static final String SAVEVEHICLELICENSE = "/app/carDriver/saveVehicleLicense";
//从业资格证认证 //从业资格证认证
private static final String DRIVER_AUTH_QUALIFICATION="/app/driver/auth/driverAuthQualification"; private static final String DRIVER_AUTH_QUALIFICATION = "/app/driver/auth/driverAuthQualification";
//车辆等级证书 //车辆等级证书
private static final String DRIVER_AUTH_SAVECARREGISTERNO="/app/carDriver/saveCarRegisterNo"; private static final String DRIVER_AUTH_SAVECARREGISTERNO = "/app/carDriver/saveCarRegisterNo";
//道路运输信息 //道路运输信息
private static final String DRIVER_AUTH_SAVECARROADLICENSENO="/app/carDriver/saveCarRoadLicenseNo"; private static final String DRIVER_AUTH_SAVECARROADLICENSENO = "/app/carDriver/saveCarRoadLicenseNo";
//党员认证 //党员认证
private static final String PARTY_MEMBER="/app/user/partyMember"; private static final String PARTY_MEMBER = "/app/user/partyMember";
//实名认证 //实名认证
private static final String AUTH_URL="/app/driver/auth/getAuthUrl"; private static final String AUTH_URL = "/app/driver/auth/getAuthUrl";
//车牌号 //车牌号
private static final String PLATE_LICENSE="/common/ocr/plateLicense"; 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"; private static final String SAVE_DRAW_CAR = "/app/carDriver/saveDrawCar";
//提现记录 //提现记录
private static final String CHANGE_RECORD="/app/account/change/record"; private static final String CHANGE_RECORD = "/app/account/change/record";
//提现手续费 //提现手续费
private static final String WITHDRAWALS_CHARGE="/app/account/withdrawals/charge"; private static final String WITHDRAWALS_CHARGE = "/app/account/withdrawals/charge";
//提现配置信息 //提现配置信息
private static final String WITHDRAWALS_CONFIG="/app/account/withdrawals/config"; private static final String WITHDRAWALS_CONFIG = "/app/account/withdrawals/config";
//获取车辆颜色 //获取车辆颜色
private static final String CAR_COLOR="/app/common/carColorTypeList"; private static final String CAR_COLOR = "/app/common/carColorTypeList";
//获取车辆颜色 //获取车辆颜色
private static final String CAR_ENERGYTYPE="/app/common/carEnergyTypeList"; private static final String CAR_ENERGYTYPE = "/app/common/carEnergyTypeList";
//车辆自动审核触发器 //车辆自动审核触发器
private static final String CAR_AUDIT="/app/carDriver/carAutomaticAudit"; private static final String CAR_AUDIT = "/app/carDriver/carAutomaticAudit";
public static String getCarAudit(){ public static String getCarAudit() {
return BASE_URL +CAR_AUDIT; return BASE_URL + CAR_AUDIT;
} }
public static String getCarColor(){ public static String getCarColor() {
return BASE_URL +CAR_COLOR; return BASE_URL + CAR_COLOR;
} }
public static String getCarEnergyType(){ public static String getCarEnergyType() {
return BASE_URL + CAR_ENERGYTYPE; return BASE_URL + CAR_ENERGYTYPE;
} }
//app/driver/auth/driverExpire //app/driver/auth/driverExpire
public static final String GET_CERTIFICATE_EXPIRED="/app/driver/auth/driverExpire"; public static final String GET_CERTIFICATE_EXPIRED = "/app/driver/auth/driverExpire";
public static String getSendCodeUrl() { public static String getSendCodeUrl() {
return BASE_URL +SEND_CODE; return BASE_URL + SEND_CODE;
} }
public static String getREGUrl() { public static String getREGUrl() {
return BASE_URL +REG; return BASE_URL + REG;
} }
public static String getLoginUrl() { public static String getLoginUrl() {
return BASE_URL +LOGIN; return BASE_URL + LOGIN;
} }
public static String getDriverAuthInfoUrl() { public static String getDriverAuthInfoUrl() {
return BASE_URL +DRIVER_AUTH_INFO; return BASE_URL + DRIVER_AUTH_INFO;
} }
public static String getGoodsHallUrl() { public static String getGoodsHallUrl() {
return BASE_URL +GOODS_HALL; return BASE_URL + GOODS_HALL;
} }
public static String getGoodsDelUrl() { public static String getGoodsDelUrl() {
return BASE_URL +GOODS_DEL; return BASE_URL + GOODS_DEL;
} }
public static String getUserUrl() { public static String getUserUrl() {
@@ -204,197 +211,239 @@ public class RequestConstant {
return BASE_URL + BANK_CARD_LIST; return BASE_URL + BANK_CARD_LIST;
} }
public static String getXiaoXiListUrl() { return BASE_URL + XIAOXI_LIST; } public static String getXiaoXiListUrl() {
return BASE_URL + XIAOXI_LIST;
}
public static String getXiaoxiAll() { return BASE_URL +XIAOXI_ALL; } public static String getXiaoxiAll() {
return BASE_URL + XIAOXI_ALL;
}
public static String getOrderList() { public static String getOrderList() {
return BASE_URL +ORDER_LIST; return BASE_URL + ORDER_LIST;
} }
public static String getAgreeOrder() { public static String getAgreeOrder() {
return BASE_URL +AGREE_ORDER; return BASE_URL + AGREE_ORDER;
} }
public static String getGetStartOrder() { public static String getGetStartOrder() {
return BASE_URL +GET_START_ORDER; return BASE_URL + GET_START_ORDER;
} }
public static String getGetCarryContract() { public static String getGetCarryContract() {
return BASE_URL +GET_CARRY_CONTRACT; return BASE_URL + GET_CARRY_CONTRACT;
} }
public static String getEVALUATIONV2() { public static String getEVALUATIONV2() {
return BASE_URL +EVALUATIONV2; return BASE_URL + EVALUATIONV2;
} }
public static String getLOADING() { public static String getLOADING() {
return BASE_URL +LOADING; return BASE_URL + LOADING;
} }
public static String getUNLOADING() { public static String getUNLOADING() {
return BASE_URL +UNLOADING; return BASE_URL + UNLOADING;
}
public static String getUNLOADING4() {
return BASE_URL + UNLOADING4;
} }
public static String getGetEvaluate() { public static String getGetEvaluate() {
return BASE_URL +GET_EVALUATE; return BASE_URL + GET_EVALUATE;
} }
public static String getGetComplaint() { public static String getGetComplaint() {
return BASE_URL +GET_COMPLAINT; return BASE_URL + GET_COMPLAINT;
} }
public static String getOrcBank() { public static String getOrcBank() {
return BASE_URL +ORC_BANK; return BASE_URL + ORC_BANK;
} }
public static String getIdCardFront() { public static String getIdCardFront() {
return BASE_URL +ID_CARD_FRONT; return BASE_URL + ID_CARD_FRONT;
} }
public static String getIdCardBack() { public static String getIdCardBack() {
return BASE_URL +ID_CARD_BACK; return BASE_URL + ID_CARD_BACK;
} }
public static String getDrivingLicense() { public static String getDrivingLicense() {
return BASE_URL +DRIVING_LICENSE; return BASE_URL + DRIVING_LICENSE;
} }
public static String getDrivingLicenseBack() { public static String getDrivingLicenseBack() {
return BASE_URL +DRIVING_LICENSE_BACK; return BASE_URL + DRIVING_LICENSE_BACK;
} }
public static String getVehicleLicense() { public static String getVehicleLicense() {
return BASE_URL +VEHICLE_LICENSE; return BASE_URL + VEHICLE_LICENSE;
} }
public static String getVehicleLicenseBack() { public static String getVehicleLicenseBack() {
return BASE_URL +VEHICLE_LICENSE_BACK; return BASE_URL + VEHICLE_LICENSE_BACK;
} }
public static String getGetCarList() { public static String getGetCarList() {
return BASE_URL +GET_CAR_LIST; return BASE_URL + GET_CAR_LIST;
} }
public static String getGetCarDel() { public static String getGetCarDel() {
return BASE_URL +GET_CAR_DEL; return BASE_URL + GET_CAR_DEL;
} }
public static String getCodeData() { public static String getCodeData() {
return BASE_URL +CODE_DATA; return BASE_URL + CODE_DATA;
} }
public static String getIsauthIdcard() { public static String getIsauthIdcard() {
return BASE_URL +ISAUTH_IDCARD; return BASE_URL + ISAUTH_IDCARD;
} }
public static String getIsauthDriverauthLicense() { return BASE_URL +ISAUTH_DRIVERAUTH_LICENSE; } public static String getIsauthDriverauthLicense() {
return BASE_URL + ISAUTH_DRIVERAUTH_LICENSE;
}
public static String getUploadReceipt() { return BASE_URL +UPLOAD_RECEIPT; } public static String getUploadReceipt() {
return BASE_URL + UPLOAD_RECEIPT;
}
public static String getUPLOAD() { return BASE_URL +UPLOAD; } public static String getUPLOAD() {
return BASE_URL + UPLOAD;
}
public static String getTrackTracking() {return BASE_URL +TRACK_TRACKING; } public static String getTrackTracking() {
return BASE_URL + TRACK_TRACKING;
}
public static String getEvaluationV2() { return BASE_URL +EVALUATION_V2; } public static String getEvaluationV2() {
return BASE_URL + EVALUATION_V2;
}
public static String getDRIVERAUTHIDCARD() { public static String getDRIVERAUTHIDCARD() {
return BASE_URL +DRIVERAUTHIDCARD; return BASE_URL + DRIVERAUTHIDCARD;
} }
public static String getDRIVERAUTHLICENSE() { public static String getDRIVERAUTHLICENSE() {
return BASE_URL +DRIVERAUTHLICENSE; return BASE_URL + DRIVERAUTHLICENSE;
} }
public static String getSAVEVEHICLELICENSE() { public static String getSAVEVEHICLELICENSE() {
return BASE_URL +SAVEVEHICLELICENSE; return BASE_URL + SAVEVEHICLELICENSE;
} }
public static String getSAVECARIMG() { public static String getSAVECARIMG() {
return BASE_URL +SAVECARIMG; return BASE_URL + SAVECARIMG;
} }
public static String getUploadHead() { return BASE_URL +UPLOAD_HEAD; } public static String getUploadHead() {
return BASE_URL + UPLOAD_HEAD;
}
public static String getInsBankcard() { public static String getInsBankcard() {
return BASE_URL +INS_BANKCARD; return BASE_URL + INS_BANKCARD;
} }
public static String getDelCar() { return BASE_URL +DEL_CAR; } public static String getDelCar() {
return BASE_URL + DEL_CAR;
}
public static String getXiaoxiDel() { return BASE_URL +XIAOXI_DEL; } public static String getXiaoxiDel() {
return BASE_URL + XIAOXI_DEL;
}
public static String getCOMPLAINT() { return BASE_URL+COMPLAINT; } public static String getCOMPLAINT() {
return BASE_URL + COMPLAINT;
}
public static String getXiaoxiDelAll() { return BASE_URL+XIAOXI_DEL_ALL; } public static String getXiaoxiDelAll() {
return BASE_URL + XIAOXI_DEL_ALL;
}
public static String getDriverAuthQualification() { return BASE_URL+DRIVER_AUTH_QUALIFICATION; } public static String getDriverAuthQualification() {
return BASE_URL + DRIVER_AUTH_QUALIFICATION;
}
public static String getDriverSaveCarRegisterNo() { return BASE_URL+DRIVER_AUTH_SAVECARREGISTERNO; } public static String getDriverSaveCarRegisterNo() {
return BASE_URL + DRIVER_AUTH_SAVECARREGISTERNO;
}
public static String getDriverSaveCarRoadLicenseNo() { return BASE_URL+DRIVER_AUTH_SAVECARROADLICENSENO; } public static String getDriverSaveCarRoadLicenseNo() {
return BASE_URL + DRIVER_AUTH_SAVECARROADLICENSENO;
}
public static String getSaveDrawCar() { return BASE_URL+SAVE_DRAW_CAR; } public static String getSaveDrawCar() {
return BASE_URL + SAVE_DRAW_CAR;
}
public static String getIsAuthDriverAuthQualification() { public static String getIsAuthDriverAuthQualification() {
return BASE_URL+IS_AUTH_DRIVER_AUTH_QUALIFICATION; return BASE_URL + IS_AUTH_DRIVER_AUTH_QUALIFICATION;
} }
public static String getVERSION() { public static String getVERSION() {
return BASE_URL+VERSION; return BASE_URL + VERSION;
} }
public static String getAddContracts() { public static String getAddContracts() {
return BASE_URL+ADD_CONTRACTS; return BASE_URL + ADD_CONTRACTS;
} }
public static String getGetContracts() { public static String getGetContracts() {
return BASE_URL+GET_CONTRACTS; return BASE_URL + GET_CONTRACTS;
} }
public static String getTIXIAN() { public static String getTIXIAN() {
return BASE_URL+TIXIAN; return BASE_URL + TIXIAN;
} }
public static String getPartyMember() { public static String getPartyMember() {
return BASE_URL+PARTY_MEMBER; return BASE_URL + PARTY_MEMBER;
} }
public static String getCONFIG() { public static String getCONFIG() {
return BASE_URL+CONFIG; return BASE_URL + CONFIG;
} }
public static String getChangeRecord() { public static String getChangeRecord() {
return BASE_URL+CHANGE_RECORD; return BASE_URL + CHANGE_RECORD;
} }
public static String getChangeCharge() { public static String getChangeCharge() {
return BASE_URL+WITHDRAWALS_CHARGE; return BASE_URL + WITHDRAWALS_CHARGE;
} }
public static String getChangeConfig() { public static String getChangeConfig() {
return BASE_URL+WITHDRAWALS_CONFIG; return BASE_URL + WITHDRAWALS_CONFIG;
} }
public static String getGetErrorOrder() { return BASE_URL+GET_ERROR_ORDER; } public static String getGetErrorOrder() {
return BASE_URL + GET_ERROR_ORDER;
}
public static String getGetExampleList() { public static String getGetExampleList() {
return BASE_URL+GET_EXAMPLE_LIST; return BASE_URL + GET_EXAMPLE_LIST;
} }
public static String getAuthUrl() { public static String getAuthUrl() {
return BASE_URL+AUTH_URL; return BASE_URL + AUTH_URL;
} }
public static String getPlateLicense() { public static String getPlateLicense() {
return BASE_URL+PLATE_LICENSE; return BASE_URL + PLATE_LICENSE;
}
public static String getPlateLicense2() {
return BASE_URL + PLATE_LICENSE2;
} }
public static String getGetImage() { public static String getGetImage() {
return BASE_URL+GET_IMAGE; return BASE_URL + GET_IMAGE;
} }
public static String getGetCertificateExpired() { public static String getGetCertificateExpired() {
return BASE_URL+GET_CERTIFICATE_EXPIRED; return BASE_URL + GET_CERTIFICATE_EXPIRED;
} }
} }
@@ -137,18 +137,18 @@ public class UserRequset {
//app更新 //app更新
public void upApp() { public void upApp() {
String vs = "1.0.0"; // String vs = "1.0.0";
try { // try {
// isOpenAppNoRe(); //// isOpenAppNoRe();
vs = con.getPackageManager().getPackageInfo(con.getPackageName(), 0).versionName; // vs = con.getPackageManager().getPackageInfo(con.getPackageName(), 0).versionName;
} catch (PackageManager.NameNotFoundException e) { // } catch (PackageManager.NameNotFoundException e) {
e.printStackTrace(); // e.printStackTrace();
} // }
Map<String, Object> map = new HashMap<>(); // Map<String, Object> map = new HashMap<>();
map.put("source", 0); // map.put("source", 0);
map.put("version", vs); // map.put("version", vs);
Request re = OkHttpUtil.post(new OkDate(RequestConstant.getVERSION(), MapUtil.mapJson(map)), con); // Request re = OkHttpUtil.post(new OkDate(RequestConstant.getVERSION(), MapUtil.mapJson(map)), con);
RequestUtil.start(1, "up_app", re, con, hd); // RequestUtil.start(1, "up_app", re, con, hd);
} }
/** /**
@@ -15,6 +15,15 @@ public class LUInputBean {
private String locationAddress; private String locationAddress;
private String longitude; private String longitude;
private String waybillId; private String waybillId;
private String realLoadTime;
public String getRealLoadTime() {
return realLoadTime;
}
public void setRealLoadTime(String realLoadTime) {
this.realLoadTime = realLoadTime;
}
public List<Integer> getImageId() { public List<Integer> getImageId() {
return imageId; return imageId;
@@ -23,8 +23,8 @@ public interface Api {
//获取版本 //获取版本
String VERSION = BASE_URL + "app/version"; String VERSION = BASE_URL + "app/version";
@POST(BASE_URL+"/common/register") // @POST(BASE_URL+"/common/register")
Observable<CommonResponseBean> log(@Body LoginRegInputBean bean); // Observable<CommonResponseBean> log(@Body LoginRegInputBean bean);
} }
@@ -1,6 +1,7 @@
package com.arpa.hndahesudintocctmsdriver.ui package com.arpa.hndahesudintocctmsdriver.ui
import android.Manifest import android.Manifest
import android.annotation.SuppressLint
import android.content.Intent import android.content.Intent
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
@@ -20,8 +21,11 @@ import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity
import com.arpa.hndahesudintocctmsdriver.util.view.BottomTabUtil import com.arpa.hndahesudintocctmsdriver.util.view.BottomTabUtil
import com.arpa.hndahesudintocctmsdriver.util.view.PanDuanUtil import com.arpa.hndahesudintocctmsdriver.util.view.PanDuanUtil
import com.google.gson.Gson import com.google.gson.Gson
import com.gyf.cactus.ext.cactusUpdateNotification
import com.permissionx.guolindev.PermissionX import com.permissionx.guolindev.PermissionX
@Suppress("DIVISION_BY_ZERO")
@SuppressLint("SetTextI18n")
class MainActivity : BaseAppCompatActivity() { class MainActivity : BaseAppCompatActivity() {
private var ibs = arrayOf<ImageView>() private var ibs = arrayOf<ImageView>()
@@ -37,7 +41,8 @@ class MainActivity : BaseAppCompatActivity() {
1 -> { 1 -> {
isExit = false; isExit = false;
} }
RequsetCodeConstants.SUCCESS -> {} RequsetCodeConstants.SUCCESS -> {
}
} }
} }
@@ -45,6 +50,10 @@ class MainActivity : BaseAppCompatActivity() {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
StateStyleUtil.stateTextColor(this) StateStyleUtil.stateTextColor(this)
setContentView(R.layout.activity_main) setContentView(R.layout.activity_main)
cactusUpdateNotification {
setTitle("好运司机")
setContent("您的接单小助手")
}
con = this con = this
act = this act = this
//隐藏标题栏 //隐藏标题栏
@@ -126,7 +135,12 @@ class MainActivity : BaseAppCompatActivity() {
PermissionX.init(this) PermissionX.init(this)
.permissions(Manifest.permission.ACCESS_FINE_LOCATION, .permissions(Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_BACKGROUND_LOCATION) Manifest.permission.ACCESS_BACKGROUND_LOCATION,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.CALL_PHONE,
Manifest.permission.RECORD_AUDIO,
Manifest.permission.CAMERA)
.request { allGranted, grantedList, deniedList -> .request { allGranted, grantedList, deniedList ->
if (allGranted) { if (allGranted) {
@@ -147,6 +161,7 @@ class MainActivity : BaseAppCompatActivity() {
fun jumpLogin() { fun jumpLogin() {
var inl = Intent(con, LoginActivity::class.java) var inl = Intent(con, LoginActivity::class.java)
startActivity(inl) startActivity(inl)
} }
@@ -1,7 +1,11 @@
package com.arpa.hndahesudintocctmsdriver.ui.alert; package com.arpa.hndahesudintocctmsdriver.ui.alert;
import android.content.Context; import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.provider.Settings;
import android.util.Log; import android.util.Log;
import android.view.View;
import android.widget.Button; import android.widget.Button;
import android.widget.ImageButton; import android.widget.ImageButton;
import android.widget.LinearLayout; import android.widget.LinearLayout;
@@ -12,6 +16,8 @@ import androidx.annotation.NonNull;
import com.king.app.updater.AppUpdater; import com.king.app.updater.AppUpdater;
import com.king.app.updater.callback.AppUpdateCallback; import com.king.app.updater.callback.AppUpdateCallback;
import com.king.app.updater.constant.Constants;
import com.king.app.updater.util.AppUtils;
import com.lxj.xpopup.core.CenterPopupView; import com.lxj.xpopup.core.CenterPopupView;
import com.arpa.hndahesudintocctmsdriver.R; import com.arpa.hndahesudintocctmsdriver.R;
@@ -27,11 +33,11 @@ import java.io.File;
*/ */
public class UpAppAlert extends CenterPopupView { public class UpAppAlert extends CenterPopupView {
private TextView content,vs; private TextView content, vs, tvContent;
private Button tv_cancel,tv_confirm; private Button tv_cancel, tv_confirm, tvOk;
private LinearLayout up_div; private LinearLayout up_div;
private String url=""; private String url = "";
private String body=""; private String body = "";
private Context con; private Context con;
private ProgressBar progress_view; private ProgressBar progress_view;
private String version; private String version;
@@ -39,19 +45,20 @@ public class UpAppAlert extends CenterPopupView {
private LinearLayout force_box; private LinearLayout force_box;
private ImageButton force_btn; private ImageButton force_btn;
public UpAppAlert(@NonNull @NotNull Context context, String url, String body,String version,String force) { public UpAppAlert(@NonNull @NotNull Context context, String url, String body, String version, String force) {
super(context); super(context);
con=context; con = context;
this.url=url; this.url = url;
this.body=body; this.body = body;
this.version=version; this.version = version;
this.force=force; this.force = force;
} }
@Override @Override
protected int getImplLayoutId() { protected int getImplLayoutId() {
return R.layout.alert_up_app; return R.layout.alert_up_app;
} }
public UpAppAlert(@NonNull @NotNull Context context) { public UpAppAlert(@NonNull @NotNull Context context) {
super(context); super(context);
@@ -60,15 +67,17 @@ public class UpAppAlert extends CenterPopupView {
@Override @Override
protected void onCreate() { protected void onCreate() {
super.onCreate(); super.onCreate();
content=findViewById(R.id.tv_content); content = findViewById(R.id.tv_content);
tv_cancel=findViewById(R.id.tv_cancel); tv_cancel = findViewById(R.id.tv_cancel);
tv_confirm=findViewById(R.id.tv_confirm); tv_confirm = findViewById(R.id.tv_confirm);
up_div=findViewById(R.id.up_div); tvContent = findViewById(R.id.tvContent);
progress_view=findViewById(R.id.progress); tvOk = findViewById(R.id.tvOk);
content=findViewById(R.id.tv_content); up_div = findViewById(R.id.up_div);
force_box=findViewById(R.id.force_box); progress_view = findViewById(R.id.progress);
force_btn=findViewById(R.id.force_btn); content = findViewById(R.id.tv_content);
if(force.equals("1")){ force_box = findViewById(R.id.force_box);
force_btn = findViewById(R.id.force_btn);
if (force.equals("1")) {
force_box.setVisibility(GONE); force_box.setVisibility(GONE);
} }
force_btn.setOnClickListener(v -> { force_btn.setOnClickListener(v -> {
@@ -76,16 +85,16 @@ public class UpAppAlert extends CenterPopupView {
dismiss(); dismiss();
//detachFromHost(); //detachFromHost();
}); });
vs=findViewById(R.id.vs); vs = findViewById(R.id.vs);
content.setText(body); content.setText(body);
vs.setText(version); vs.setText(version);
tv_cancel.setOnClickListener(v -> { tv_cancel.setOnClickListener(v -> {
System.exit(1); System.exit(1);
}); });
tv_confirm.setOnClickListener(v -> { tv_confirm.setOnClickListener(v -> {
new AppUpdater.Builder() new AppUpdater.Builder(con)
.setUrl(url) .setUrl(url)
.build(con) .build()
.setUpdateCallback(new AppUpdateCallback() { .setUpdateCallback(new AppUpdateCallback() {
@Override @Override
public void onStart(String url) { public void onStart(String url) {
@@ -93,23 +102,28 @@ public class UpAppAlert extends CenterPopupView {
tv_confirm.setVisibility(GONE); tv_confirm.setVisibility(GONE);
up_div.setVisibility(VISIBLE); up_div.setVisibility(VISIBLE);
} }
@Override @Override
public void onProgress(long progress, long total, boolean isChange) { public void onProgress(long progress, long total, boolean isChange) {
// Log.e("progress",progress+""); // Log.e("progress",progress+"");
// Log.e("total",total+""); // Log.e("total",total+"");
// Log.e("isChange",isChange+""); // Log.e("isChange",isChange+"");
float sum=progress; float sum = progress;
float max=total; float max = total;
if(progress>0){ if (progress > 0) {
float b=sum/max; float b = sum / max;
Log.e("百分比",(100*b)+""); Log.e("百分比", (100 * b) + "");
progress_view.setProgress((int) (100*b)); progress_view.setProgress((int) (100 * b));
} }
} }
@Override @Override
public void onFinish(File file) { public void onFinish(File file) {
tvContent.setText("下载完成,请及时安装!");
tvOk.setVisibility(VISIBLE);
tvOk.setOnClickListener(v1 -> {
AppUtils.installApk(getContext(), file, getContext().getPackageName() + Constants.DEFAULT_FILE_PROVIDER);
});
} }
}) })
.start(); .start();
@@ -43,6 +43,7 @@ import com.arpa.hndahesudintocctmsdriver.util.file.ImageFileCompressUtil;
import com.arpa.hndahesudintocctmsdriver.util.http.RequsetCodeConstants; import com.arpa.hndahesudintocctmsdriver.util.http.RequsetCodeConstants;
import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil; import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity; import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity;
import com.lxj.xpopup.util.SmartGlideImageLoader;
import java.io.File; import java.io.File;
import java.util.List; import java.util.List;
@@ -59,7 +60,7 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
private RelativeLayout up_img, cow1; private RelativeLayout up_img, cow1;
private LinearLayout data_view; private LinearLayout data_view;
private ImageView img; 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 View vs;
private EditText value1; private EditText value1;
private Button submit; private Button submit;
@@ -100,8 +101,9 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("driverAuthQualification"), BaseBean.class); BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("driverAuthQualification"), BaseBean.class);
if (bb.getCode() == 200) { if (bb.getCode() == 200) {
// initAuth(); // initAuth();
//判断是否从车辆进来 carId为空从个人认证进来需跳转实名认证,不为空车辆信息进入,需跳转车辆照片
if (TextUtils.isEmpty(carId)) {
//从业资格证->实名认证 //从业资格证->实名认证
// finish();
if (key) { if (key) {
key = false; key = false;
new AuthRequest().getAuthUrl(con, hd); new AuthRequest().getAuthUrl(con, hd);
@@ -109,6 +111,21 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
key = true; key = true;
}, 3000); }, 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(); Toast.makeText(con, "资格证上传成功", Toast.LENGTH_SHORT).show();
} else { } else {
@@ -135,7 +152,7 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
Log.e("url", CacheGroup.cacheList.get("authUrl")); Log.e("url", CacheGroup.cacheList.get("authUrl"));
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("authUrl"), BaseBean.class); BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("authUrl"), BaseBean.class);
if (bb.getCode() == 200) { if (bb.getCode() == 200) {
finish(); // finish();
EsignSdk.getInstance().startH5Activity(act, StringUtil.isNull(String.valueOf(bb.getData()), "")); EsignSdk.getInstance().startH5Activity(act, StringUtil.isNull(String.valueOf(bb.getData()), ""));
} else { } else {
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_LONG).show(); Toast.makeText(con, bb.getMsg(), Toast.LENGTH_LONG).show();
@@ -153,6 +170,8 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
} }
private String type = "0"; private String type = "0";
private String carId = "";
private boolean isOverCar = false;
private UserBean userBean; private UserBean userBean;
@Override @Override
@@ -161,7 +180,7 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
StateStyleUtil.stateTextColor(this); StateStyleUtil.stateTextColor(this);
setContentView(R.layout.activity_auth_qualification); setContentView(R.layout.activity_auth_qualification);
con = this; con = this;
act=this; act = this;
img = findViewById(R.id.img); img = findViewById(R.id.img);
zjimg_name = findViewById(R.id.zjimg_name); zjimg_name = findViewById(R.id.zjimg_name);
upload_img = findViewById(R.id.upload_img); upload_img = findViewById(R.id.upload_img);
@@ -178,6 +197,8 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
vs = findViewById(R.id.vs); vs = findViewById(R.id.vs);
data_view = findViewById(R.id.data_view); data_view = findViewById(R.id.data_view);
type = getIntent().getExtras().getString("type"); type = getIntent().getExtras().getString("type");
carId = getIntent().getExtras().getString("carId", "");
isOverCar = getIntent().getExtras().getBoolean("isOverCar",false);
ur = new UserRequset(con, hd); ur = new UserRequset(con, hd);
initView(null); initView(null);
if ("0".equals(type)) { if ("0".equals(type)) {
@@ -189,6 +210,11 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
} }
//new RZRequest().isDriverAuthQualification(con,hd); //new RZRequest().isDriverAuthQualification(con,hd);
} }
if (TextUtils.isEmpty(carId)){//carId不为空 从添加车辆进入 该操作不能跳过
tvSkip.setVisibility(View.VISIBLE);
}else{
tvSkip.setVisibility(View.GONE);
}
} }
private boolean key = true; private boolean key = true;
@@ -203,11 +229,17 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
gia.showPopueWindow(this); gia.showPopueWindow(this);
} }
}); });
up_img.setOnClickListener(v -> {
if (!isAuth) {
gia.showPopueWindow(this);
}
});
img.setOnClickListener(v -> { img.setOnClickListener(v -> {
if (!"".equals(url)) { if (!"".equals(url)) {
new XPopup.Builder(con) new XPopup.Builder(con).asImageViewer(img, url, new SmartGlideImageLoader(R.mipmap.ic_launcher_round)).show();
.asImageViewer(img, url, true, -1, -1, 50, false, new CertificatesActivity.ImageLoader()) // new XPopup.Builder(con)
.show(); // .asImageViewer(img, url, true, -1, -1, 50, false, new CertificatesActivity.ImageLoader())
// .show();
} }
}); });
value2.setOnClickListener(v -> { value2.setOnClickListener(v -> {
@@ -223,10 +255,10 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
String id = value1.getText() + ""; String id = value1.getText() + "";
String date = value2.getText() + ""; String date = value2.getText() + "";
if ("0".equals(type)) { if ("0".equals(type)) {
if (!"".equals(id) && !"".equals(date) && !"".equals(url)) { if (!"".equals(date) && !"".equals(url)) {
new AuthRequest().driverAuthQualification(con, hd, id, ub.getData().getId(), date); new AuthRequest().driverAuthQualification(con, hd, id, ub.getData().getId(), date);
} else { } else {
Toast.makeText(con, "提交信息不完整", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "请补充证件信息", Toast.LENGTH_SHORT).show();
} }
} else { } else {
if (!"".equals(url)) { if (!"".equals(url)) {
@@ -257,6 +289,9 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
}); });
tvSkip.setOnClickListener(v -> { tvSkip.setOnClickListener(v -> {
if (type.equals("0")) { if (type.equals("0")) {
// finish(); // finish();
if (key) { if (key) {
@@ -290,7 +325,7 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
zjimg_name.setText("党员证照片"); zjimg_name.setText("党员证照片");
data_view.setVisibility(View.GONE); data_view.setVisibility(View.GONE);
title2.setVisibility(View.GONE); title2.setVisibility(View.GONE);
}else{ } else {
tvTips.setVisibility(View.VISIBLE); tvTips.setVisibility(View.VISIBLE);
} }
} }
@@ -4,6 +4,7 @@ import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler;
import android.os.Message; import android.os.Message;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
@@ -20,17 +21,24 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.cardview.widget.CardView; 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.DicBean;
import com.arpa.hndahesudintocctmsdriver.bean.SinglePickBean; import com.arpa.hndahesudintocctmsdriver.bean.SinglePickBean;
import com.arpa.hndahesudintocctmsdriver.cuspop.SimCenterPop;
import com.arpa.hndahesudintocctmsdriver.event.HomeEvent; import com.arpa.hndahesudintocctmsdriver.event.HomeEvent;
import com.arpa.hndahesudintocctmsdriver.event.PersonEvent; import com.arpa.hndahesudintocctmsdriver.event.PersonEvent;
import com.arpa.hndahesudintocctmsdriver.event.VehicleEvent; import com.arpa.hndahesudintocctmsdriver.event.VehicleEvent;
import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.arpa.hndahesudintocctmsdriver.util.PickerUtils; import com.arpa.hndahesudintocctmsdriver.util.PickerUtils;
import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil; import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil;
import com.arpa.hndahesudintocctmsdriver.util.map.MapUtil; import com.arpa.hndahesudintocctmsdriver.util.map.MapUtil;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions; import com.bumptech.glide.request.RequestOptions;
import com.bumptech.glide.request.target.Target; 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.github.gzuliyujiang.wheelpicker.contract.OnOptionPickedListener;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.luck.picture.lib.PictureSelector; import com.luck.picture.lib.PictureSelector;
@@ -68,8 +76,10 @@ import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity; import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView; import com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView;
import com.lxj.xpopup.photoview.PhotoView; import com.lxj.xpopup.photoview.PhotoView;
import com.lxj.xpopup.util.SmartGlideImageLoader;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
@@ -99,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[] 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[] typeImgTwo = {R.mipmap.id_back, R.mipmap.license_back, R.mipmap.vehicle_license_back, R.mipmap.vehicle_license_back};
private int index = 0; 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 zj_name, zjimg_name, zjimg2_name, zj_name2, zj_name3;
private TextView name1, name2, name3, name4, value5, value6; 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 Button submit;
private ImageView img1, img2, img3, type_img; private ImageView img1, img2, img3, type_img;
private TextView u_img, u_img2, u_img3; private TextView u_img, u_img2, u_img3;
private LinearLayout llColor, llType,llCarName; private LinearLayout llColor, llType, llCarName;
private CardView there_div; private CardView there_div;
private BaseRecyclerView brv; private BaseRecyclerView brv;
// //
@@ -121,6 +131,7 @@ public class CertificatesActivity extends BaseAppCompatActivity {
private String url2 = ""; private String url2 = "";
private String url3 = ""; private String url3 = "";
private boolean[] keys = {false, false, false}; private boolean[] keys = {false, false, false};
private boolean key = true;
public void FalseKeys() { public void FalseKeys() {
for (int i = 0; i < keys.length; i++) { for (int i = 0; i < keys.length; i++) {
@@ -143,7 +154,8 @@ public class CertificatesActivity extends BaseAppCompatActivity {
break; break;
case RequsetCodeConstants.SUCCESS: case RequsetCodeConstants.SUCCESS:
if (CacheGroup.cacheList.get("driverAuthIdCard") != null || CacheGroup.cacheList.get("driverAuthLicense") != null 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) { if (CacheGroup.cacheList.get("driverAuthIdCard") != null) {
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("driverAuthIdCard"), BaseBean.class); BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("driverAuthIdCard"), BaseBean.class);
if (bb.getCode() == 200) { if (bb.getCode() == 200) {
@@ -165,12 +177,16 @@ public class CertificatesActivity extends BaseAppCompatActivity {
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("driverAuthLicense"), BaseBean.class); BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("driverAuthLicense"), BaseBean.class);
if (bb.getCode() == 200) { if (bb.getCode() == 200) {
Toast.makeText(con, "保存成功", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "保存成功", Toast.LENGTH_SHORT).show();
finish();
//上传驾驶证信息页面 跳转资格证信息页面 //上传驾驶证信息页面 进行实名认证操作
Intent in = new Intent(con, AuthQualificationActivity.class); if (key) {
in.putExtra("type", "0"); key = false;
startActivity(in); new AuthRequest().getAuthUrl(con, hd);
new Handler().postDelayed(() -> {
key = true;
}, 3000);
}
} else { } else {
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show(); Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show();
@@ -178,19 +194,69 @@ public class CertificatesActivity extends BaseAppCompatActivity {
CacheGroup.cacheList.remove("driverAuthLicense"); 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) { if (CacheGroup.cacheList.get("saveVehicleLicense") != null) {
CarZhengBean czb = gson.fromJson(CacheGroup.cacheList.get("saveVehicleLicense"), CarZhengBean.class); CarZhengBean czb = gson.fromJson(CacheGroup.cacheList.get("saveVehicleLicense"), CarZhengBean.class);
if (czb.getCode() == 200) { 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(); Toast.makeText(con, "车辆行驶证保存成功", Toast.LENGTH_SHORT).show();
finish();
VehicleEvent ve = new VehicleEvent(String.valueOf(czb.getData().getCarId())); VehicleEvent ve = new VehicleEvent(String.valueOf(czb.getData().getCarId()));
EventBus.getDefault().post(ve); EventBus.getDefault().post(ve);
//上传行驶证信息后 跳转车辆照片页面 // 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); Intent in = new Intent(con, PhotoCarActivity.class);
in.putExtra("type", 0); 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())); in.putExtra("carId", String.valueOf(czb.getData().getCarId()));
con.startActivity(in); 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 { } else {
Toast.makeText(con, czb.getMsg(), Toast.LENGTH_SHORT).show(); Toast.makeText(con, czb.getMsg(), Toast.LENGTH_SHORT).show();
} }
@@ -198,20 +264,34 @@ public class CertificatesActivity extends BaseAppCompatActivity {
} }
if (CacheGroup.cacheList.get("saveDrawCar") != null) { if (CacheGroup.cacheList.get("saveDrawCar") != null) {
Log.e("-saveDrawCar-", CacheGroup.cacheList.get("saveDrawCar")); 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) { if (bb.getCode() == 200) {
String needUpQCPhoto = bb.getData().getNeedUpQCPhoto();
String needUpRLPhoto = bb.getData().getNeedUpRLPhoto();//是否需要上传道路运输证到
Toast.makeText(con, "挂车信息保存成功", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "挂车信息保存成功", Toast.LENGTH_SHORT).show();
finish(); finish();
VehicleEvent ve = new VehicleEvent(""); VehicleEvent ve = new VehicleEvent("");
EventBus.getDefault().post(ve); EventBus.getDefault().post(ve);
//挂车信息保存成功跳转成功页面 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); Intent in = new Intent(con, AddCarSuccActivity.class);
in.putExtra("type", 3); in.putExtra("type", 3);
in.putExtra("carId", carId); in.putExtra("carId", carId);
con.startActivity(in); con.startActivity(in);
}
} else { } else {
Toast.makeText(con, "挂车信息保存失败", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "挂车信息保存失败", Toast.LENGTH_SHORT).show();
} }
@@ -219,7 +299,7 @@ public class CertificatesActivity extends BaseAppCompatActivity {
} }
} else if (CacheGroup.cacheList.get(CAR_COLOR) != null) { } else if (CacheGroup.cacheList.get(CAR_COLOR) != null) {
DicBean bb = gson.fromJson(CacheGroup.cacheList.get(CAR_COLOR), DicBean.class); 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() { PickerUtils.getInstance().pickSingle(this, "车牌颜色", bb.getData(), new OnOptionPickedListener() {
@Override @Override
public void onOptionPicked(int position, Object item) { public void onOptionPicked(int position, Object item) {
@@ -233,7 +313,7 @@ public class CertificatesActivity extends BaseAppCompatActivity {
CacheGroup.cacheList.remove(CAR_COLOR); CacheGroup.cacheList.remove(CAR_COLOR);
} else if (CacheGroup.cacheList.get(CAR_ENERGY_TYPE) != null) { } else if (CacheGroup.cacheList.get(CAR_ENERGY_TYPE) != null) {
DicBean bb = gson.fromJson(CacheGroup.cacheList.get(CAR_ENERGY_TYPE), DicBean.class); 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() { PickerUtils.getInstance().pickSingle(this, "燃油类型", bb.getData(), new OnOptionPickedListener() {
@Override @Override
public void onOptionPicked(int position, Object item) { public void onOptionPicked(int position, Object item) {
@@ -245,6 +325,16 @@ public class CertificatesActivity extends BaseAppCompatActivity {
}); });
} }
CacheGroup.cacheList.remove(CAR_ENERGY_TYPE); 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 { } else {
initView(null); initView(null);
initData(); initData();
@@ -265,6 +355,7 @@ public class CertificatesActivity extends BaseAppCompatActivity {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
StateStyleUtil.stateTextColor(this); StateStyleUtil.stateTextColor(this);
setContentView(R.layout.activity_shangchuan_xsz); setContentView(R.layout.activity_shangchuan_xsz);
EventBus.getDefault().register(this);
llColor = findViewById(R.id.llColor); llColor = findViewById(R.id.llColor);
llCarName = findViewById(R.id.llCarName); llCarName = findViewById(R.id.llCarName);
llType = findViewById(R.id.llType); llType = findViewById(R.id.llType);
@@ -332,8 +423,8 @@ public class CertificatesActivity extends BaseAppCompatActivity {
break; break;
case 2: case 2:
llCarName.setVisibility(View.GONE); llCarName.setVisibility(View.GONE);
llColor.setVisibility(View.VISIBLE); // llColor.setVisibility(View.VISIBLE);
llType.setVisibility(View.VISIBLE); // llType.setVisibility(View.VISIBLE);
type_img.setImageResource(R.mipmap.auth_icon_3); type_img.setImageResource(R.mipmap.auth_icon_3);
// there_div.setVisibility(View.VISIBLE); // there_div.setVisibility(View.VISIBLE);
if (c_str != null && !c_str.equals("")) { if (c_str != null && !c_str.equals("")) {
@@ -372,9 +463,12 @@ public class CertificatesActivity extends BaseAppCompatActivity {
img1.setOnClickListener(v -> { img1.setOnClickListener(v -> {
if (!url1.equals("")) { if (!url1.equals("")) {
new XPopup.Builder(con) new XPopup.Builder(con)
.asImageViewer(img1, url1, true, -1, -1, 50, false, new ImageLoader()) .asImageViewer(img1, url1, new SmartGlideImageLoader(R.mipmap.ic_launcher_round))
.show(); .show();
}else{ // new XPopup.Builder(con)
// .asImageViewer(img1, url1, true, -1, -1, 50, false, new ImageLoader())
// .show();
} else {
if (!isAuth) { if (!isAuth) {
FalseKeys(); FalseKeys();
keys[0] = true; keys[0] = true;
@@ -386,9 +480,12 @@ public class CertificatesActivity extends BaseAppCompatActivity {
img2.setOnClickListener(v -> { img2.setOnClickListener(v -> {
if (!url2.equals("")) { if (!url2.equals("")) {
new XPopup.Builder(con) new XPopup.Builder(con)
.asImageViewer(img2, url2, true, -1, -1, 50, false, new ImageLoader()) .asImageViewer(img2, url2, new SmartGlideImageLoader(R.mipmap.ic_launcher_round))
.show(); .show();
}else{ // new XPopup.Builder(con)
// .asImageViewer(img2, url2, true, -1, -1, 50, false, new ImageLoader())
// .show();
} else {
if (!isAuth) { if (!isAuth) {
FalseKeys(); FalseKeys();
keys[1] = true; keys[1] = true;
@@ -430,8 +527,11 @@ public class CertificatesActivity extends BaseAppCompatActivity {
gia.showPopueWindow(this); gia.showPopueWindow(this);
} else if (!url3.equals("")) { } else if (!url3.equals("")) {
new XPopup.Builder(con) new XPopup.Builder(con)
.asImageViewer(img3, url3, true, -1, -1, 50, false, new ImageLoader()) .asImageViewer(img3, url3, new SmartGlideImageLoader(R.mipmap.ic_launcher_round))
.show(); .show();
// new XPopup.Builder(con)
// .asImageViewer(img3, url3, true, -1, -1, 50, false, new ImageLoader())
// .show();
} }
}); });
value5.setOnClickListener(v -> { value5.setOnClickListener(v -> {
@@ -459,11 +559,21 @@ public class CertificatesActivity extends BaseAppCompatActivity {
startActivity(in1); startActivity(in1);
break; break;
case 1: 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); // finish();
in2.putExtra("type", "0"); // Intent in2 = new Intent(con, AuthQualificationActivity.class);
startActivity(in2); // in2.putExtra("type", "0");
// startActivity(in2);
break; break;
case 2: case 2:
finish(); finish();
@@ -478,6 +588,12 @@ public class CertificatesActivity extends BaseAppCompatActivity {
}); });
} }
@Override
protected void onDestroy() {
super.onDestroy();
EventBus.getDefault().unregister(this);
}
boolean isAuth = false; boolean isAuth = false;
public void initData() { public void initData() {
@@ -544,7 +660,9 @@ public class CertificatesActivity extends BaseAppCompatActivity {
break; break;
case 3: case 3:
Log.e("挂车信息", gson.toJson(cdb)); Log.e("挂车信息", gson.toJson(cdb));
if (cdb != null && cdb.getData().getTrailerResVo() != null) { if (cdb != null && cdb.getData().getTrailerResVo() != null
&& !TextUtils.isEmpty(cdb.getData().getTrailerResVo().getFrontImage())
&& !TextUtils.isEmpty(cdb.getData().getTrailerResVo().getBackImage())) {
url1 = StringUtil.isNull(cdb.getData().getTrailerResVo().getFrontImage(), ""); url1 = StringUtil.isNull(cdb.getData().getTrailerResVo().getFrontImage(), "");
url2 = StringUtil.isNull(cdb.getData().getTrailerResVo().getBackImage(), ""); url2 = StringUtil.isNull(cdb.getData().getTrailerResVo().getBackImage(), "");
url3 = StringUtil.isNull(cdb.getData().getTrailerResVo().getThreeImage(), ""); url3 = StringUtil.isNull(cdb.getData().getTrailerResVo().getThreeImage(), "");
@@ -635,6 +753,9 @@ public class CertificatesActivity extends BaseAppCompatActivity {
Glide.with(con).load(url2).into(img2); Glide.with(con).load(url2).into(img2);
startTime = ocbb.getData().getStartTime(); startTime = ocbb.getData().getStartTime();
backId = ocbb.getData().getId(); backId = ocbb.getData().getId();
//自动调取提交功能,实现页面自动跳转
subimt();
} else { } else {
Toast.makeText(con, "识别失败", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "识别失败", Toast.LENGTH_SHORT).show();
} }
@@ -666,6 +787,8 @@ public class CertificatesActivity extends BaseAppCompatActivity {
url2 = odlb.getData().getUrl(); url2 = odlb.getData().getUrl();
backId = odlb.getData().getId(); backId = odlb.getData().getId();
Glide.with(con).load(url2).into(img2); Glide.with(con).load(url2).into(img2);
//自动调取提交功能,实现页面自动跳转
subimt();
} else { } else {
Toast.makeText(con, "识别失败", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "识别失败", Toast.LENGTH_SHORT).show();
} }
@@ -699,6 +822,8 @@ public class CertificatesActivity extends BaseAppCompatActivity {
url2 = oblb.getData().getUrl(); url2 = oblb.getData().getUrl();
backId = oblb.getData().getId(); backId = oblb.getData().getId();
Glide.with(con).load(url2).into(img2); Glide.with(con).load(url2).into(img2);
//自动调取提交功能,实现页面自动跳转
subimt();
} else { } else {
Toast.makeText(con, oblb.getMsg(), Toast.LENGTH_SHORT).show(); Toast.makeText(con, oblb.getMsg(), Toast.LENGTH_SHORT).show();
} }
@@ -831,10 +956,10 @@ public class CertificatesActivity extends BaseAppCompatActivity {
break; break;
case 2: case 2:
if (olb != null && oblb != null) { if (olb != null && oblb != null) {
if (curColor==null||curEnergy==null){ // if (curColor == null || curEnergy == null) {
Toast.makeText(con,"请完善内容",Toast.LENGTH_SHORT).show(); // Toast.makeText(con, "请完善内容", Toast.LENGTH_SHORT).show();
return; // return;
} // }
HashMap<String, Object> map = new HashMap<>(); HashMap<String, Object> map = new HashMap<>();
if ("".equals(url3)) { if ("".equals(url3)) {
map.put("imgId", fid); map.put("imgId", fid);
@@ -844,8 +969,8 @@ public class CertificatesActivity extends BaseAppCompatActivity {
map.put("type", str2); map.put("type", str2);
map.put("owner", str3); map.put("owner", str3);
map.put("vehicleNumber", str4); map.put("vehicleNumber", str4);
map.put("carPlateColor", curColor.getValue()); // map.put("carPlateColor", curColor.getValue());
map.put("carEnergyTyp", curEnergy.getValue()); // map.put("carEnergyTyp", curEnergy.getValue());
new AuthRequest().saveVehicleLicense(con, hd, MapUtil.mapJson(map)); new AuthRequest().saveVehicleLicense(con, hd, MapUtil.mapJson(map));
} else { } else {
Toast.makeText(con, "请先上传资料", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "请先上传资料", Toast.LENGTH_SHORT).show();
@@ -878,27 +1003,61 @@ public class CertificatesActivity extends BaseAppCompatActivity {
} }
} }
public static void personEvent(String msg){ public static void personEvent(String msg) {
PersonEvent he=new PersonEvent(msg); PersonEvent he = new PersonEvent(msg);
EventBus.getDefault().post(he); EventBus.getDefault().post(he);
} }
public static class ImageLoader implements XPopupImageLoader { @Subscribe
@Override public void processResult(AuthEvent auth) {
public void loadImage(int position, @NonNull Object url, @NonNull ImageView imageView) { //添加实名/意愿/签署完成之后的逻辑
//必须指定Target.SIZE_ORIGINAL,否则无法拿到原图,就无法享用天衣无缝的动画 Log.e("-回调信息-", auth.result);
Glide.with(imageView).load(url).apply(new RequestOptions().placeholder(R.mipmap.ic_launcher_round).override(Target.SIZE_ORIGINAL)).into(imageView); 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();
}
} }
@Override // public static class ImageLoader implements XPopupImageLoader {
public File getImageFile(@NonNull Context context, @NonNull Object uri) { // @Override
try { // public void loadImage(int position, @NonNull Object url, @NonNull ImageView imageView) {
return Glide.with(context).downloadOnly().load(uri).submit().get(); // //必须指定Target.SIZE_ORIGINAL,否则无法拿到原图,就无法享用天衣无缝的动画
} catch (Exception e) { // Glide.with(imageView).load(url).apply(new RequestOptions().placeholder(R.mipmap.ic_launcher_round).override(Target.SIZE_ORIGINAL)).into(imageView);
e.printStackTrace(); // }
} //
return null; // @Override
} // public File getImageFile(@NonNull Context context, @NonNull Object uri) {
} // try {
// return Glide.with(context).downloadOnly().load(uri).submit().get();
// } catch (Exception e) {
// e.printStackTrace();
// }
// return null;
// }
// }
} }
@@ -15,6 +15,7 @@ import androidx.annotation.Nullable;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.arpa.hndahesudintocctmsdriver.H5Activity;
import com.arpa.hndahesudintocctmsdriver.event.HomeEvent; import com.arpa.hndahesudintocctmsdriver.event.HomeEvent;
import com.arpa.hndahesudintocctmsdriver.event.PersonEvent; import com.arpa.hndahesudintocctmsdriver.event.PersonEvent;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
@@ -40,6 +41,7 @@ import com.arpa.hndahesudintocctmsdriver.util.file.ImageFileCompressUtil;
import com.arpa.hndahesudintocctmsdriver.util.http.RequsetCodeConstants; import com.arpa.hndahesudintocctmsdriver.util.http.RequsetCodeConstants;
import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil; import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity; import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity;
import com.lxj.xpopup.util.SmartGlideImageLoader;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.Subscribe;
@@ -95,6 +97,11 @@ public class PersonalAuthActivity extends BaseAppCompatActivity {
Log.e("url", CacheGroup.cacheList.get("authUrl")); Log.e("url", CacheGroup.cacheList.get("authUrl"));
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("authUrl"), BaseBean.class); BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("authUrl"), BaseBean.class);
if (bb.getCode() == 200) { 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()), "")); EsignSdk.getInstance().startH5Activity(act, StringUtil.isNull(String.valueOf(bb.getData()), ""));
} else { } else {
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_LONG).show(); Toast.makeText(con, bb.getMsg(), Toast.LENGTH_LONG).show();
@@ -161,6 +168,8 @@ public class PersonalAuthActivity extends BaseAppCompatActivity {
// startActivityForResult(in, 12); // startActivityForResult(in, 12);
//EsignSdk.getInstance().startH5Activity(act,"https://smlh5.esign.cn/usercenterFront/oemAuth/v3/realName/index?contextKey=b7b103b15b866ec4c72beef1dfe20828&appId=7438873235"); //EsignSdk.getInstance().startH5Activity(act,"https://smlh5.esign.cn/usercenterFront/oemAuth/v3/realName/index?contextKey=b7b103b15b866ec4c72beef1dfe20828&appId=7438873235");
if (key) { if (key) {
// EsignSdk.getInstance().startH5Activity(act, "");
key = false; key = false;
new AuthRequest().getAuthUrl(con, hd); new AuthRequest().getAuthUrl(con, hd);
new Handler().postDelayed(() -> { new Handler().postDelayed(() -> {
@@ -175,8 +184,11 @@ public class PersonalAuthActivity extends BaseAppCompatActivity {
up_head.setOnClickListener(v -> { up_head.setOnClickListener(v -> {
if (ub.getData().getHeadportraitUrl() != null && !ub.getData().getHeadportraitUrl().equals("")) { if (ub.getData().getHeadportraitUrl() != null && !ub.getData().getHeadportraitUrl().equals("")) {
new XPopup.Builder(con) new XPopup.Builder(con)
.asImageViewer(up_head, ub.getData().getHeadportraitUrl(), true, -1, -1, 50, false, new CertificatesActivity.ImageLoader()) .asImageViewer(up_head, ub.getData().getHeadportraitUrl(), new SmartGlideImageLoader(R.mipmap.ic_launcher))
.show(); .show();
// new XPopup.Builder(con)
// .asImageViewer(up_head, ub.getData().getHeadportraitUrl(), true, -1, -1, 50, false, new CertificatesActivity.ImageLoader())
// .show();
} }
}); });
hyr = new HuoYuanRequset(con, hd); hyr = new HuoYuanRequset(con, hd);
@@ -36,6 +36,7 @@ import com.luck.picture.lib.PictureSelector;
import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.entity.LocalMedia; import com.luck.picture.lib.entity.LocalMedia;
import com.lxj.xpopup.XPopup; import com.lxj.xpopup.XPopup;
import com.lxj.xpopup.util.SmartGlideImageLoader;
import java.io.File; import java.io.File;
import java.util.List; import java.util.List;
@@ -52,12 +53,12 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
private String[] name1 = {"车辆照片", "NFC照片", "车辆登记证书照片", "道路运输许可证照片"}; private String[] name1 = {"车辆照片", "NFC照片", "车辆登记证书照片", "道路运输许可证照片"};
private String[] name2 = {"请上传车辆照片", "请上传NFC照片", "请上传车辆登记证书照片", "请上传道路运输许可证照片"}; private String[] name2 = {"请上传车辆照片", "请上传NFC照片", "请上传车辆登记证书照片", "请上传道路运输许可证照片"};
private Boolean[] isShowEdit = {false, false, true, true}; private Boolean[] isShowEdit = {false, false, true, true};
private Boolean[] isShowSkip = {true, false, false, false}; private Boolean[] isShowSkip = {true, false, false, true};
private String[] tips = { private String[] tips = {
"", "",
"*注意: 没有粘贴NFC芯片的车辆无需上传,可直接跳过", "*注意: 没有粘贴NFC芯片的车辆无需上传,可直接跳过",
"*注意: 没有可直接跳过,等候下次上传", "*注意: 没有可直接跳过,等候下次上传",
"*注意: 4.5吨下车辆不需要上传,可直接跳过"}; "*注意: 4.5吨下车辆不需要上传,可直接跳过"};
private BaseRecyclerView brv; private BaseRecyclerView brv;
@@ -157,8 +158,13 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
IsAuthDriverAuthQualificationBean ib = gson.fromJson(CacheGroup.cacheList.get("saveCarRoadLicenseNo"), IsAuthDriverAuthQualificationBean.class); IsAuthDriverAuthQualificationBean ib = gson.fromJson(CacheGroup.cacheList.get("saveCarRoadLicenseNo"), IsAuthDriverAuthQualificationBean.class);
if (ib.getCode() == 200) { if (ib.getCode() == 200) {
//判断是否需要跳转挂车行驶证页面 //判断是否需要跳转挂车行驶证页面
if (!"".equals(carId) && cdb.getData().getIsTrailer() == 1) {
if (!"".equals(carId)) { if (!"".equals(carId)) {
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(); finish();
Intent in = new Intent(con, CertificatesActivity.class); Intent in = new Intent(con, CertificatesActivity.class);
in.putExtra("index", 3); in.putExtra("index", 3);
@@ -167,15 +173,41 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
in.putExtra("cheData", new Gson().toJson(cdb)); in.putExtra("cheData", new Gson().toJson(cdb));
} }
startActivity(in); startActivity(in);
} else { } else if (cdb.getData().getIsTrailer() == 0) {//不需要挂车
Toast.makeText(con, "请先绑定行驶证", Toast.LENGTH_SHORT).show(); 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 { } else {
finish(); finish();
Intent in = new Intent(con, AddCarSuccActivity.class); Intent in = new Intent(con, AddCarSuccActivity.class);
in.putExtra("type", 3); in.putExtra("type", 3);
con.startActivity(in); 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 { } else {
Toast.makeText(con, ib.getMsg(), Toast.LENGTH_SHORT).show(); Toast.makeText(con, ib.getMsg(), Toast.LENGTH_SHORT).show();
} }
@@ -283,34 +315,50 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
* 展示大图片 * 展示大图片
*/ */
private void showBigImg() { private void showBigImg() {
if (TextUtils.isEmpty(cdb.getData().getRoadLicensePhoto())) {
choicePhoto();
return;
}
switch (type) { switch (type) {
case 0: case 0:
if (cdb.getData().getRoadLicensePhoto() != null && !cdb.getData().getCarImage().equals("")) { if (cdb.getData().getRoadLicensePhoto() != null && !cdb.getData().getCarImage().equals("")) {
new XPopup.Builder(con) new XPopup.Builder(con)
.asImageViewer(img, cdb.getData().getCarImage(), true, -1, -1, 50, false, new CertificatesActivity.ImageLoader()) .asImageViewer(img, cdb.getData().getCarImage(), new SmartGlideImageLoader(R.mipmap.ic_launcher))
.show(); .show();
// new XPopup.Builder(con)
// .asImageViewer(img, cdb.getData().getCarImage(), true, -1, -1, 50, false, new CertificatesActivity.ImageLoader())
// .show();
} }
break; break;
case 1: case 1:
if (cdb.getData().getRoadLicensePhoto() != null && !cdb.getData().getNfcImage().equals("")) { if (cdb.getData().getRoadLicensePhoto() != null && !cdb.getData().getNfcImage().equals("")) {
new XPopup.Builder(con) new XPopup.Builder(con)
.asImageViewer(img, cdb.getData().getNfcImage(), true, -1, -1, 50, false, new CertificatesActivity.ImageLoader()) .asImageViewer(img, cdb.getData().getNfcImage(), new SmartGlideImageLoader(R.mipmap.ic_launcher))
.show(); .show();
// new XPopup.Builder(con)
// .asImageViewer(img, cdb.getData().getNfcImage(), true, -1, -1, 50, false, new CertificatesActivity.ImageLoader())
// .show();
} }
break; break;
case 2: case 2:
if (cdb.getData().getRoadLicensePhoto() != null && !cdb.getData().getRegisterImage().equals("")) { if (cdb.getData().getRoadLicensePhoto() != null && !cdb.getData().getRegisterImage().equals("")) {
new XPopup.Builder(con) new XPopup.Builder(con)
.asImageViewer(img, cdb.getData().getRegisterImage(), true, -1, -1, 50, false, new CertificatesActivity.ImageLoader()) .asImageViewer(img, cdb.getData().getRegisterImage(), new SmartGlideImageLoader(R.mipmap.ic_launcher))
.show(); .show();
// new XPopup.Builder(con)
// .asImageViewer(img, cdb.getData().getRegisterImage(), true, -1, -1, 50, false, new CertificatesActivity.ImageLoader())
// .show();
} }
break; break;
case 3: case 3:
if (cdb.getData().getRoadLicensePhoto() != null && !"".equals(cdb.getData().getRoadLicensePhoto())) { if (cdb.getData().getRoadLicensePhoto() != null && !"".equals(cdb.getData().getRoadLicensePhoto())) {
//roadLicensePhoto //roadLicensePhoto
new XPopup.Builder(con) new XPopup.Builder(con)
.asImageViewer(img, cdb.getData().getRoadLicensePhoto(), true, -1, -1, 50, false, new CertificatesActivity.ImageLoader()) .asImageViewer(img, cdb.getData().getRoadLicensePhoto(), new SmartGlideImageLoader(R.mipmap.ic_launcher))
.show(); .show();
// new XPopup.Builder(con)
// .asImageViewer(img, cdb.getData().getRoadLicensePhoto(), true, -1, -1, 50, false, new CertificatesActivity.ImageLoader())
// .show();
break; break;
} }
@@ -329,13 +377,14 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
switch (type) { switch (type) {
case 0: case 0:
if (!TextUtils.isEmpty(url)||(cdb!=null&&!TextUtils.isEmpty(cdb.getData().getCarImage()))){ if (!TextUtils.isEmpty(url) || (cdb != null && !TextUtils.isEmpty(cdb.getData().getCarImage()))) {
finish(); finish();
Intent in = new Intent(con, PhotoCarActivity.class); Intent in = new Intent(con, PhotoCarActivity.class);
in.putExtra("type", 1); // in.putExtra("type", 1);
in.putExtra("type", 3);
in.putExtra("carId", carId); in.putExtra("carId", carId);
con.startActivity(in); con.startActivity(in);
} else{ } else {
Toast.makeText(this, "请上传车辆照片", Toast.LENGTH_SHORT).show(); Toast.makeText(this, "请上传车辆照片", Toast.LENGTH_SHORT).show();
} }
break; break;
@@ -349,18 +398,18 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
case 2: case 2:
String s = value1.getText().toString(); String s = value1.getText().toString();
if (TextUtils.isEmpty(s)) { if (TextUtils.isEmpty(s)) {
Toast.makeText(this, "完善证号", Toast.LENGTH_SHORT).show(); Toast.makeText(this, "补充证件信息", Toast.LENGTH_SHORT).show();
return; return;
} }
new AuthRequest().saveCarRegisterNo(con,hd,carId,s); new AuthRequest().saveCarRegisterNo(con, hd, carId, s);
break; break;
case 3: case 3:
String s1 = value1.getText().toString(); String s1 = value1.getText().toString();
if (TextUtils.isEmpty(s1)) { if (TextUtils.isEmpty(s1)) {
Toast.makeText(this, "完善证号", Toast.LENGTH_SHORT).show(); Toast.makeText(this, "补充证件信息", Toast.LENGTH_SHORT).show();
return; return;
} }
new AuthRequest().saveCarRoadLicenseNo(con,hd,carId,s1); new AuthRequest().saveCarRoadLicenseNo(con, hd, carId, s1);
break; break;
} }
} }
@@ -425,7 +474,8 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
if (0 == type) { if (0 == type) {
finish(); finish();
Intent in = new Intent(con, PhotoCarActivity.class); Intent in = new Intent(con, PhotoCarActivity.class);
in.putExtra("type", 1); // in.putExtra("type", 1);
in.putExtra("type", 3);
in.putExtra("carId", carId); in.putExtra("carId", carId);
con.startActivity(in); con.startActivity(in);
} else if (1 == type) { } else if (1 == type) {
@@ -33,6 +33,7 @@ import com.arpa.hndahesudintocctmsdriver.util.file.ImageFileCompressUtil;
import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil; import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity; import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView; import com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView;
import com.lxj.xpopup.util.SmartGlideImageLoader;
import com.scwang.smart.refresh.layout.SmartRefreshLayout; import com.scwang.smart.refresh.layout.SmartRefreshLayout;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
@@ -221,8 +222,11 @@ public class VehicleAuthActivity extends BaseAppCompatActivity {
carImage.setOnClickListener(v14 -> { carImage.setOnClickListener(v14 -> {
if(cdb!=null && cdb.getData()!=null && cdb.getData().getCarImage()!=null && !cdb.getData().getCarImage().equals("")){ if(cdb!=null && cdb.getData()!=null && cdb.getData().getCarImage()!=null && !cdb.getData().getCarImage().equals("")){
new XPopup.Builder(con) new XPopup.Builder(con)
.asImageViewer(carImage,cdb.getData().getCarImage(), true, -1, -1, 50, false,new CertificatesActivity.ImageLoader()) .asImageViewer(carImage,cdb.getData().getCarImage(), new SmartGlideImageLoader(R.mipmap.ic_launcher))
.show(); .show();
// new XPopup.Builder(con)
// .asImageViewer(carImage,cdb.getData().getCarImage(), true, -1, -1, 50, false,new CertificatesActivity.ImageLoader())
// .show();
} }
}); });
r1.setOnClickListener(v12 -> { r1.setOnClickListener(v12 -> {
@@ -2,6 +2,7 @@ package com.arpa.hndahesudintocctmsdriver.ui.business;
import android.os.Bundle; import android.os.Bundle;
import android.os.Message; import android.os.Message;
import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
@@ -9,6 +10,15 @@ import android.widget.Toast;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.amap.api.services.core.AMapException;
import com.amap.api.services.core.LatLonPoint;
import com.amap.api.services.core.PoiItem;
import com.amap.api.services.core.SuggestionCity;
import com.amap.api.services.poisearch.PoiResult;
import com.amap.api.services.poisearch.PoiSearch;
import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil;
import com.dahe.mylibrary.utils.ImageLoader;
import com.dahe.mylibrary.utils.ToastUtils;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.arpa.hndahesudintocctmsdriver.R; import com.arpa.hndahesudintocctmsdriver.R;
import com.arpa.hndahesudintocctmsdriver.bean.BusinessBean; import com.arpa.hndahesudintocctmsdriver.bean.BusinessBean;
@@ -39,53 +49,70 @@ import okhttp3.Response;
* @date 2021/9/6 9:59 * @date 2021/9/6 9:59
* @description: * @description:
*/ */
public class BusinessActivity extends BaseActivity { public class BusinessActivity extends BaseActivity implements PoiSearch.OnPoiSearchListener {
private BaseRecyclerView business_type; private BaseRecyclerView business_type;
private BaseRecyclerView business_list; private BaseRecyclerView business_list;
private LocationGDUtil ld; private LocationGDUtil ld;
private TextView address; private TextView address;
private BusinessListBean blb; private BusinessListBean blb;
private Gson gson=new Gson(); private Gson gson = new Gson();
private List<Object> bbs=new ArrayList<>(); private List<Object> bbs = new ArrayList<>();
private CustomDialog customDialog; private CustomDialog customDialog;
private int sum=0; private int sum = 0;
private String type="餐饮"; private String type = "餐饮";
private PoiSearch.Query query;
private List<PoiItem> poiItems;// poi数据
@Override @Override
public void msgMethod(Message m) { public void msgMethod(Message m) {
super.msgMethod(m); super.msgMethod(m);
switch (m.what){ switch (m.what) {
case RequsetCodeConstants.SUCCESS: case RequsetCodeConstants.SUCCESS:
if(CacheGroup.cacheList.get("business_list")!=null){ if (CacheGroup.cacheList.get("business_list") != null) {
Log.e("--res--",CacheGroup.cacheList.get("business_list")+""); Log.e("--res--", CacheGroup.cacheList.get("business_list") + "");
blb=gson.fromJson(CacheGroup.cacheList.get("business_list"),BusinessListBean.class); blb = gson.fromJson(CacheGroup.cacheList.get("business_list"), BusinessListBean.class);
if(blb.getCode()==200){ if (blb.getCode() == 200) {
forGetBusDel(); forGetBusDel();
}else{ } else {
Toast.makeText(con,blb.getMsg(),Toast.LENGTH_SHORT).show(); Toast.makeText(con, blb.getMsg(), Toast.LENGTH_SHORT).show();
} }
CacheGroup.cacheList.remove("business_list"); CacheGroup.cacheList.remove("business_list");
} }
break; break;
case LocationGDUtil.RES: case LocationGDUtil.RES:
address.setText(ld.getAddress()); address.setText(ld.getAddress());
new BusinessRequest().GetBusinessList(con,hd,ld.getLongitude()+"",ld.getLatitude()+"",type); // new BusinessRequest().GetBusinessList(con,hd,ld.getLongitude()+"",ld.getLatitude()+"",type);
try {
customDialog.dismiss();
LatLonPoint lp = new LatLonPoint(ld.getLatitude(), ld.getLongitude());
PoiSearch poiSearch = new PoiSearch(this, query);
poiSearch.setOnPoiSearchListener(this);
poiSearch.setBound(new PoiSearch.SearchBound(lp, 5000, true));//
// 设置搜索区域为以lp点为圆心,其周围5000米范围
poiSearch.searchPOIAsyn();// 异步搜索
} catch (Exception e) {
e.printStackTrace();
}
break; break;
case 2: case 2:
BusinessBean.DataDTO bds=gson.fromJson((String) m.obj,BusinessBean.DataDTO.class); BusinessBean.DataDTO bds = gson.fromJson((String) m.obj, BusinessBean.DataDTO.class);
bbs.add(bds); bbs.add(bds);
initBusListDel(); initBusListDel();
break; break;
case 3: case 3:
Log.e("aaa",(String) m.obj); Log.e("aaa", (String) m.obj);
BusinessBean.DataDTO bd=gson.fromJson((String) m.obj,BusinessBean.DataDTO.class); BusinessBean.DataDTO bd = gson.fromJson((String) m.obj, BusinessBean.DataDTO.class);
if(bd!=null){ if (bd != null) {
//if (BeanUtil.isBean(bd.getClass())) { //if (BeanUtil.isBean(bd.getClass())) {
try { try {
business_list.addItemV(bd); business_list.addItemV(bd);
}catch (Exception e){ } catch (Exception e) {
Log.e("遇到了",bd.toString()); Log.e("遇到了", bd.toString());
} }
//} //}
} }
@@ -98,71 +125,130 @@ public class BusinessActivity extends BaseActivity {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
StateStyleUtil.stateTextColor(this); StateStyleUtil.stateTextColor(this);
setContentView(R.layout.activity_business); setContentView(R.layout.activity_business);
con=this; con = this;
business_type=findViewById(R.id.business_type); business_type = findViewById(R.id.business_type);
business_list=findViewById(R.id.business_list); business_list = findViewById(R.id.business_list);
address=findViewById(R.id.address); address = findViewById(R.id.address);
try { try {
type=getIntent().getExtras().getString("type"); type = getIntent().getExtras().getString("type");
}catch (Exception e){ } catch (Exception e) {
type="餐饮"; type = "餐饮";
} }
initView(null); initView(null);
customDialog=new CustomDialog(con, "正在定位..."); customDialog = new CustomDialog(con, "正在定位...");
customDialog.show(); customDialog.show();
ld=new LocationGDUtil(con,hd); ld = new LocationGDUtil(con, hd);
ld.onCreate(); ld.onCreate();
changeType(type);
} }
List<Object> list_type=new ArrayList<>(); List<Object> list_type = new ArrayList<>();
@Override @Override
public void initView(Object obj) { public void initView(Object obj) {
super.initView(obj); super.initView(obj);
list_type.add(new Model("餐饮",R.mipmap.icon_canguan)); list_type.add(new Model("餐饮", R.mipmap.icon_canguan));
list_type.add(new Model("住宿",R.mipmap.icon_jiudian)); list_type.add(new Model("住宿", R.mipmap.icon_jiudian));
list_type.add(new Model("商店",R.mipmap.icon_shangdian)); list_type.add(new Model("商店", R.mipmap.icon_shangdian));
list_type.add(new Model("加油站",R.mipmap.icon_jiayouzhan)); list_type.add(new Model("加油站", R.mipmap.icon_jiayouzhan));
list_type.add(new Model("汽车维修",R.mipmap.icon_xiuche)); list_type.add(new Model("汽车维修", R.mipmap.icon_xiuche));
business_type.createG(4,con,list_type,R.layout.item_business_type).setOnItemViewListener((position, o, v) -> { business_type.createG(4, con, list_type, R.layout.item_business_type).setOnItemViewListener((position, o, v) -> {
Model m= (Model) o; Model m = (Model) o;
ImageView type_img=v.findViewById(R.id.type_icon); ImageView type_img = v.findViewById(R.id.type_icon);
type_img.setImageResource(m.getType_img()); type_img.setImageResource(m.getType_img());
v.setOnClickListener(v1 -> { v.setOnClickListener(v1 -> {
sum=0; sum = 0;
bbs=new ArrayList<>(); bbs = new ArrayList<>();
customDialog=new CustomDialog(con, "正在切换..."); customDialog = new CustomDialog(con, "正在切换...");
customDialog.show(); customDialog.show();
new BusinessRequest().GetBusinessList(con,hd,ld.getLongitude()+"",ld.getLatitude()+"",m.getType_name()); changeType(m.getType_name());
// new BusinessRequest().GetBusinessList(con,hd,ld.getLongitude()+"",ld.getLatitude()+"",m.getType_name());
}); });
}); });
} }
public void forGetBusDel(){ @Override
public void onPoiSearched(PoiResult poiResult, int i) {
if (poiResult != null && poiResult.getQuery() != null) {// 搜索poi的结果
poiItems = poiResult.getPois();// 当搜索不到poiitem数据时,会返回含有搜索关键字的城市信息
if (poiItems != null && poiItems.size() > 0) {
initBusListDel();
} else {
ToastUtils.showToast(con, "对不起,没有搜索到相关数据!");
}
} else {
ToastUtils.showToast(con, "对不起,没有搜索到相关数据!");
}
}
@Override
public void onPoiItemSearched(PoiItem poiItem, int i) {
System.out.println(poiItem);
}
private void changeType(String type) {
query = new PoiSearch.Query(type, "", "");
query.setExtensions("all");
query.setPageSize(20);// 设置每页最多返回多少条poiitem
query.setPageNum(0);// 设置查第一页
if (ld.getLatitude() != 0) {
try {
LatLonPoint lp = new LatLonPoint(ld.getLatitude(), ld.getLongitude());
PoiSearch poiSearch = new PoiSearch(this, query);
poiSearch.setOnPoiSearchListener(this);
poiSearch.setBound(new PoiSearch.SearchBound(lp, 5000, true));//
// 设置搜索区域为以lp点为圆心,其周围5000米范围
poiSearch.searchPOIAsyn();// 异步搜索
} catch (Exception e) {
e.printStackTrace();
}
}
}
public void forGetBusDel() {
customDialog.dismiss(); customDialog.dismiss();
//business_list.remo //business_list.remo
Log.e("-数组-",gson.toJson(blb)); Log.e("-数组-", gson.toJson(blb));
for (int i=0;i<blb.getData().getResults().size();i++) { for (int i = 0; i < blb.getData().getResults().size(); i++) {
//new BusinessRequest().GetBusiness(con,hd,blb.getData().getResults().get(i).getOpenshopid()); //new BusinessRequest().GetBusiness(con,hd,blb.getData().getResults().get(i).getOpenshopid());
String url="https://openapi.dianping.com/router/poiinfo/detailinfo"; String url = "https://openapi.dianping.com/router/poiinfo/detailinfo";
requestGet(url+Md5Util.resDelUrl(blb.getData().getResults().get(i).getOpenshopid())); requestGet(url + Md5Util.resDelUrl(blb.getData().getResults().get(i).getOpenshopid()));
} }
} }
public void initBusListDel(){ public void initBusListDel() {
customDialog.dismiss();
//开始渲染 //开始渲染
business_list.createV(con,bbs,R.layout.item_business_list).setOnItemViewListener((position, o, v) -> { business_list.createV(con, poiItems, R.layout.item_business_list).setOnItemViewListener((position, o, v) -> {
BusinessBean.DataDTO bd= (BusinessBean.DataDTO) o; PoiItem bd = (PoiItem) o;
v.setOnClickListener(v1 -> { ImageView img = v.findViewById(R.id.photo_url);
TextView name = v.findViewById(R.id.name);
TextView address = v.findViewById(R.id.address);
TextView taste = v.findViewById(R.id.taste);
if (bd.getPhotos().size() > 0 && !TextUtils.isEmpty(bd.getPhotos().get(0).getUrl())) {
ImageLoader.getInstance().loadRoundImage(con, bd.getPhotos().get(0).getUrl(), 10, img);
}
name.setText(bd.getTitle());
address.setText(bd.getSnippet());
taste.setText(bd.getTel());
// v.setOnClickListener(v1 -> {
// Intent in=new Intent(con, WebActivity.class); // Intent in=new Intent(con, WebActivity.class);
// in.putExtra("url",bd.getBusiness_url()); // in.putExtra("url",bd.getBusiness_url());
// in.putExtra("title",bd.getName()); // in.putExtra("title",bd.getName());
// startActivity(in); // startActivity(in);
}); // });
}); });
} }
public void requestGet(String url){ public void requestGet(String url) {
OkHttpClient client = new OkHttpClient().newBuilder() OkHttpClient client = new OkHttpClient().newBuilder()
.build(); .build();
Request request = new Request.Builder() Request request = new Request.Builder()
@@ -178,22 +264,22 @@ public class BusinessActivity extends BaseActivity {
@Override @Override
public void onResponse(Call call, Response response) throws IOException { public void onResponse(Call call, Response response) throws IOException {
if(response.code()==200){ if (response.code() == 200) {
String body=response.body().string(); String body = response.body().string();
Log.e("-body-",body); Log.e("-body-", body);
BusinessBean bb=gson.fromJson(body,BusinessBean.class); BusinessBean bb = gson.fromJson(body, BusinessBean.class);
if(bb.getCode()==200){ if (bb.getCode() == 200) {
sum++; sum++;
//bbs.add(bb.getData()); //bbs.add(bb.getData());
if(sum==1){ if (sum == 1) {
Log.e("--添加--",bbs.size()+"_"+blb.getData().getResults().size()); Log.e("--添加--", bbs.size() + "_" + blb.getData().getResults().size());
MsgUtil.addHdMsgWatBody(hd,2,gson.toJson(bb.getData())); MsgUtil.addHdMsgWatBody(hd, 2, gson.toJson(bb.getData()));
}else{ } else {
Log.e("--添加--",bbs.size()+"_"+blb.getData().getResults().size()); Log.e("--添加--", bbs.size() + "_" + blb.getData().getResults().size());
MsgUtil.addHdMsgWatBody(hd,3,gson.toJson(bb.getData())); MsgUtil.addHdMsgWatBody(hd, 3, gson.toJson(bb.getData()));
} }
} }
}else{ } else {
} }
} }
@@ -201,8 +287,7 @@ public class BusinessActivity extends BaseActivity {
} }
class Model {
class Model{
private String type_name; private String type_name;
private int type_img; private int type_img;
@@ -19,8 +19,8 @@ import java.util.Set;
* @description: * @description:
*/ */
public class Md5Util { public class Md5Util {
static String app_key="3d4c1b5592f9ae09"; static String app_key="1000055";
static String appSecret="642cc46b385264595df7cce271250a1cb782b39c"; static String appSecret="4e0d1be81540c4d1f0868d329b3229467f071f6c";
static String[] strs={"app_key","deviceId","longitude","latitude","keyword","timestamp","format","v","sign_method","session","sign"}; static String[] strs={"app_key","deviceId","longitude","latitude","keyword","timestamp","format","v","sign_method","session","sign"};
static String[] strsDel={"app_key","deviceId","openshopid","timestamp","format","v","sign_method","session","sign"}; static String[] strsDel={"app_key","deviceId","openshopid","timestamp","format","v","sign_method","session","sign"};
public static String resUrl(String longitude,String latitude,String keyword){ public static String resUrl(String longitude,String latitude,String keyword){
@@ -35,7 +35,7 @@ public class Md5Util {
requestParam.put("format", "json"); requestParam.put("format", "json");
requestParam.put("v", "1"); requestParam.put("v", "1");
requestParam.put("sign_method", "MD5"); requestParam.put("sign_method", "MD5");
requestParam.put("session", "cb2007c78d055247f7f242760173268caef1183a"); requestParam.put("session", "c1fc1773a27d47e988725bc6df150626dbda0b4d");
requestParam.put("sign", generateSign(requestParam,appSecret,"MD5")); requestParam.put("sign", generateSign(requestParam,appSecret,"MD5"));
str+="?"; str+="?";
for(int i=0;i<requestParam.size();i++){ for(int i=0;i<requestParam.size();i++){
@@ -22,6 +22,7 @@ import android.widget.Toast;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.cardview.widget.CardView; import androidx.cardview.widget.CardView;
import androidx.core.app.ActivityCompat;
import com.alct.mdp.MDPLocationCollectionManager; import com.alct.mdp.MDPLocationCollectionManager;
import com.alct.mdp.callback.OnDownloadResultListener; import com.alct.mdp.callback.OnDownloadResultListener;
@@ -35,6 +36,7 @@ import com.amap.api.maps.model.LatLng;
import com.amap.api.maps.model.Marker; import com.amap.api.maps.model.Marker;
import com.amap.api.maps.model.MarkerOptions; import com.amap.api.maps.model.MarkerOptions;
import com.amap.api.maps.model.MyLocationStyle; import com.amap.api.maps.model.MyLocationStyle;
import com.arpa.hndahesudintocctmsdriver.App;
import com.arpa.hndahesudintocctmsdriver.bean.DriverExpireBean; import com.arpa.hndahesudintocctmsdriver.bean.DriverExpireBean;
import com.arpa.hndahesudintocctmsdriver.bean.ImageConfig; import com.arpa.hndahesudintocctmsdriver.bean.ImageConfig;
import com.arpa.hndahesudintocctmsdriver.bean.JTT; import com.arpa.hndahesudintocctmsdriver.bean.JTT;
@@ -42,11 +44,13 @@ import com.arpa.hndahesudintocctmsdriver.constant.JTTConstant;
import com.arpa.hndahesudintocctmsdriver.event.HomeEvent; import com.arpa.hndahesudintocctmsdriver.event.HomeEvent;
import com.arpa.hndahesudintocctmsdriver.parts.StartOrderParts; import com.arpa.hndahesudintocctmsdriver.parts.StartOrderParts;
import com.arpa.hndahesudintocctmsdriver.report.JTTProcess; import com.arpa.hndahesudintocctmsdriver.report.JTTProcess;
import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity;
import com.arpa.hndahesudintocctmsdriver.ui.news.NewActivity; import com.arpa.hndahesudintocctmsdriver.ui.news.NewActivity;
import com.arpa.hndahesudintocctmsdriver.util.PicturlUtil; import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.arpa.hndahesudintocctmsdriver.util.string.StringUtil; import com.arpa.hndahesudintocctmsdriver.util.string.StringUtil;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.gyf.cactus.Cactus;
import com.hjq.xtoast.XToast; import com.hjq.xtoast.XToast;
import com.lxj.xpopup.XPopup; import com.lxj.xpopup.XPopup;
import com.lxj.xpopup.interfaces.OnConfirmListener; import com.lxj.xpopup.interfaces.OnConfirmListener;
@@ -82,7 +86,13 @@ import com.arpa.hndahesudintocctmsdriver.util.http.RequsetCodeConstants;
import com.arpa.hndahesudintocctmsdriver.util.time.Timer; import com.arpa.hndahesudintocctmsdriver.util.time.Timer;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseFragment; import com.arpa.hndahesudintocctmsdriver.util.view.BaseFragment;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView; import com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView;
import com.lxj.xpopup.util.XPermission;
import com.permissionx.guolindev.PermissionX; import com.permissionx.guolindev.PermissionX;
import com.permissionx.guolindev.callback.RequestCallback;
import com.permissionx.guolindev.dialog.RationaleDialog;
import com.permissionx.guolindev.request.ChainTask;
import com.permissionx.guolindev.request.ExplainScope;
import com.permissionx.guolindev.request.ForwardScope;
import com.youth.banner.Banner; import com.youth.banner.Banner;
import com.youth.banner.BannerConfig; import com.youth.banner.BannerConfig;
import com.youth.banner.Transformer; import com.youth.banner.Transformer;
@@ -94,6 +104,9 @@ import org.greenrobot.eventbus.Subscribe;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import pub.devrel.easypermissions.EasyPermissions;
import pub.devrel.easypermissions.helper.PermissionHelper;
/** /**
* @author hlh * @author hlh
* @version 1.0.0 * @version 1.0.0
@@ -123,6 +136,7 @@ public class HomeFragment extends BaseFragment {
private ImageConfig ic; private ImageConfig ic;
private DriverExpireBean deb; private DriverExpireBean deb;
@Override @Override
public void msgMethod(Message m) { public void msgMethod(Message m) {
super.msgMethod(m); super.msgMethod(m);
@@ -140,6 +154,15 @@ public class HomeFragment extends BaseFragment {
if (ub.getCode() == 200) { if (ub.getCode() == 200) {
SPUtil.insSP(con, "data", "userdata", CacheGroup.cacheList.get("userdata")); SPUtil.insSP(con, "data", "userdata", CacheGroup.cacheList.get("userdata"));
MsgUtil.addHdMsgWat(hd, 33); 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 { } else {
Toast.makeText(con, ub.getMsg(), Toast.LENGTH_SHORT).show(); Toast.makeText(con, ub.getMsg(), Toast.LENGTH_SHORT).show();
} }
@@ -383,6 +406,7 @@ public class HomeFragment extends BaseFragment {
@Override @Override
public void initView(Object obj) { public void initView(Object obj) {
super.initView(obj); super.initView(obj);
Cactus.getInstance().updateNotification(getActivity());
List<ManyBean> list = new ArrayList<>(); List<ManyBean> list = new ArrayList<>();
list.add(new ManyBean(new Model(), R.layout.item_home)); list.add(new ManyBean(new Model(), R.layout.item_home));
as = brv.creates(con, list); as = brv.creates(con, list);
@@ -467,7 +491,7 @@ public class HomeFragment extends BaseFragment {
case 0: case 0:
//startActivity(new Intent(con, OrderListActivity.class)); //startActivity(new Intent(con, OrderListActivity.class));
PermissionX.init(getActivity()) PermissionX.init(getActivity())
.permissions(Manifest.permission.ACCESS_BACKGROUND_LOCATION) .permissions(Manifest.permission.ACCESS_FINE_LOCATION)
.request((allGranted, grantedList, deniedList) -> { .request((allGranted, grantedList, deniedList) -> {
if (allGranted) { if (allGranted) {
Intent in = new Intent(con, BusinessActivity.class); Intent in = new Intent(con, BusinessActivity.class);
@@ -529,6 +553,8 @@ public class HomeFragment extends BaseFragment {
ur.upApp(); ur.upApp();
hyr.getHuoYuan(1, 100); hyr.getHuoYuan(1, 100);
ur.getImage(1); ur.getImage(1);
if (UiAuxiliary.isLogin(con)) { if (UiAuxiliary.isLogin(con)) {
ur.User(); ur.User();
ur.getDriverExpire(); ur.getDriverExpire();
@@ -783,9 +809,11 @@ public class HomeFragment extends BaseFragment {
private class MyLoader extends ImageLoader { private class MyLoader extends ImageLoader {
@Override @Override
public void displayImage(Context context, Object path, ImageView imageView) { public void displayImage(Context context, Object path, ImageView imageView) {
if (HomeFragment.this != null && getActivity() != null && !getActivity().isDestroyed()) {
Glide.with(con).load(path).into(imageView); Glide.with(con).load(path).into(imageView);
} }
} }
}
public void addMap(double latitude, double longitude, String title, String price, int id) { public void addMap(double latitude, double longitude, String title, String price, int id) {
if (aMap != null) { if (aMap != null) {
@@ -882,6 +910,7 @@ public class HomeFragment extends BaseFragment {
public void initAlct() { public void initAlct() {
PermissionX.init(getActivity()) PermissionX.init(getActivity())
.permissions(Manifest.permission.WRITE_EXTERNAL_STORAGE, .permissions(Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.RECORD_AUDIO) Manifest.permission.RECORD_AUDIO)
.request((allGranted, grantedList, deniedList) -> { .request((allGranted, grantedList, deniedList) -> {
if (allGranted) { if (allGranted) {
@@ -1,6 +1,7 @@
package com.arpa.hndahesudintocctmsdriver.ui.home; package com.arpa.hndahesudintocctmsdriver.ui.home;
import android.Manifest; import android.Manifest;
import android.app.Activity;
import android.content.Intent; import android.content.Intent;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
@@ -18,20 +19,27 @@ import androidx.annotation.Nullable;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.arpa.hndahesudintocctmsdriver.H5Activity;
import com.arpa.hndahesudintocctmsdriver.bean.JTT; 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.ConfigParts;
import com.arpa.hndahesudintocctmsdriver.parts.UserParts; import com.arpa.hndahesudintocctmsdriver.parts.UserParts;
import com.arpa.hndahesudintocctmsdriver.report.ALProcess;
import com.arpa.hndahesudintocctmsdriver.report.JTTProcess; import com.arpa.hndahesudintocctmsdriver.report.JTTProcess;
import com.arpa.hndahesudintocctmsdriver.ui.auth.PersonalAuthActivity; import com.arpa.hndahesudintocctmsdriver.ui.auth.PersonalAuthActivity;
import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.arpa.hndahesudintocctmsdriver.util.img.ImageGetUtil; import com.arpa.hndahesudintocctmsdriver.util.img.ImageGetUtil;
import com.arpa.hndahesudintocctmsdriver.util.sp.SPUtil; import com.arpa.hndahesudintocctmsdriver.util.sp.SPUtil;
import com.arpa.hndahesudintocctmsdriver.util.string.StringUtil; import com.arpa.hndahesudintocctmsdriver.util.string.StringUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity; import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity;
import com.dahe.mylibrary.utils.ActivityUtils;
import com.esign.esignsdk.EsignSdk; import com.esign.esignsdk.EsignSdk;
import com.esign.esignsdk.data.AuthEvent; import com.esign.esignsdk.data.AuthEvent;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.lxj.xpopup.XPopup; import com.lxj.xpopup.XPopup;
import com.lxj.xpopup.core.BasePopupView; import com.lxj.xpopup.core.BasePopupView;
import com.lxj.xpopup.interfaces.OnCancelListener;
import com.lxj.xpopup.interfaces.OnConfirmListener; import com.lxj.xpopup.interfaces.OnConfirmListener;
import com.arpa.hndahesudintocctmsdriver.R; import com.arpa.hndahesudintocctmsdriver.R;
import com.arpa.hndahesudintocctmsdriver.bean.BaseBean; import com.arpa.hndahesudintocctmsdriver.bean.BaseBean;
@@ -93,7 +101,15 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
if (bb.getCode() == 200) { if (bb.getCode() == 200) {
//Toast.makeText(con,"接单成功",Toast.LENGTH_SHORT).show(); //Toast.makeText(con,"接单成功",Toast.LENGTH_SHORT).show();
customDialog.dismiss(); 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(); //finish();
} else { } else {
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show(); Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show();
@@ -120,6 +136,21 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
car.setText("选择车辆:" + clb.getData().get(index).getCarNumber()); car.setText("选择车辆:" + clb.getData().get(index).getCarNumber());
cid = clb.getData().get(index).getCarId(); cid = clb.getData().get(index).getCarId();
break; break;
case 1111://安联用户验证通过,接单
new XPopup.Builder(con)
.isDestroyOnDismiss(true) //对于只使用一次的弹窗,推荐设置这个
.asConfirm("请确认接单", "是否确定承运此运单?",
"取消", "确认",
() -> {
Log.e("--id--", "cid:" + cid + "---wid:" + id);
hyr.confirm(cid, id);
}, () -> customDialog.dismiss(), false, R.layout.alert_ok_cancel) //最后一个参数绑定已有布局
.show();
break;
case 2222://安联用户验证不通过
customDialog.dismiss();
new MessageUtils().showCenMessage(con, (String) m.obj);
break;
} }
} }
@@ -236,20 +267,7 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
if (cid != null) { if (cid != null) {
// if (fpKey){ // if (fpKey){
if (key) { if (key) {
new XPopup.Builder(con) reOrder();
.isDestroyOnDismiss(true) //对于只使用一次的弹窗,推荐设置这个
.asConfirm("请确认接单", "是否确定承运此运单?",
"取消", "确认",
new OnConfirmListener() {
@Override
public void onConfirm() {
Log.e("--id--", "cid:" + cid + "---wid:" + id);
customDialog = new CustomDialog(con, "正在接单...");
customDialog.show();
hyr.confirm(cid, id);
}
}, null, false, R.layout.alert_ok_cancel) //最后一个参数绑定已有布局
.show();
} else { } else {
Toast.makeText(con, "请先同意并签署运输合同", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "请先同意并签署运输合同", Toast.LENGTH_SHORT).show();
} }
@@ -316,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 @Subscribe
public void processResult(AuthEvent auth) { public void processResult(AuthEvent auth) {
//添加实名/意愿/签署完成之后的逻辑 //添加实名/意愿/签署完成之后的逻辑
@@ -350,4 +413,15 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
} }
} }
/**
* 接单
* 先判断安联用户信息验证,随后接单
*/
private void reOrder() {
customDialog = new CustomDialog(con, "正在接单...");
customDialog.show();
//验证安联用户是否通过
ALProcess.verification(con, hd);
}
} }
@@ -81,7 +81,7 @@ public class OrderAllActivity extends BaseActivity {
}else{ }else{
Toast.makeText(con,"抢单",Toast.LENGTH_SHORT).show(); Toast.makeText(con,"抢单",Toast.LENGTH_SHORT).show();
} }
xp.dismiss(); // xp.dismiss();
break; break;
default:break; default:break;
} }
@@ -31,7 +31,6 @@ import com.amap.api.maps.model.LatLngBounds;
import com.amap.api.maps.model.MarkerOptions; import com.amap.api.maps.model.MarkerOptions;
import com.amap.api.maps.model.PolylineOptions; import com.amap.api.maps.model.PolylineOptions;
import com.amap.api.services.core.AMapException;
import com.amap.api.services.core.LatLonPoint; import com.amap.api.services.core.LatLonPoint;
import com.amap.api.services.route.BusRouteResult; import com.amap.api.services.route.BusRouteResult;
import com.amap.api.services.route.DrivePath; import com.amap.api.services.route.DrivePath;
@@ -40,7 +39,10 @@ import com.amap.api.services.route.DriveStep;
import com.amap.api.services.route.RideRouteResult; import com.amap.api.services.route.RideRouteResult;
import com.amap.api.services.route.RouteSearch; import com.amap.api.services.route.RouteSearch;
import com.amap.api.services.route.WalkRouteResult; import com.amap.api.services.route.WalkRouteResult;
import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivity;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.dahe.mylibrary.utils.TimeUtil;
import com.dahe.mylibrary.utils.ToastUtils;
import com.google.android.material.bottomsheet.BottomSheetBehavior; import com.google.android.material.bottomsheet.BottomSheetBehavior;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.arpa.hndahesudintocctmsdriver.R; import com.arpa.hndahesudintocctmsdriver.R;
@@ -52,7 +54,6 @@ import com.arpa.hndahesudintocctmsdriver.request.HuoYuanRequset;
import com.arpa.hndahesudintocctmsdriver.ui.UiAuxiliary; import com.arpa.hndahesudintocctmsdriver.ui.UiAuxiliary;
import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.GetShangChuanActivity; import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.GetShangChuanActivity;
import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.OrderComplaintActivity; import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.OrderComplaintActivity;
import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivity;
import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.WebPDFActivity; import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.WebPDFActivity;
import com.arpa.hndahesudintocctmsdriver.util.location.LocationGDUtil; import com.arpa.hndahesudintocctmsdriver.util.location.LocationGDUtil;
import com.arpa.hndahesudintocctmsdriver.util.sp.SPUtil; import com.arpa.hndahesudintocctmsdriver.util.sp.SPUtil;
@@ -68,16 +69,15 @@ import com.arpa.hndahesudintocctmsdriver.util.view.ScoreView;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
public class StartYunDanActivity extends BaseActivity { public class StartYunDanActivity extends BaseActivity {
public static final String GET_EVALUTE="getEvalute"; public static final String GET_EVALUTE = "getEvalute";
public static final String KEEP_EVALUTE="keepEvalte"; public static final String KEEP_EVALUTE = "keepEvalte";
public static final String GET_COMPLAINT="getComplaint"; public static final String GET_COMPLAINT = "getComplaint";
private String TAG="StartYunDanActivity"; private String TAG = "StartYunDanActivity";
private NestedScrollView bottomSheet; private NestedScrollView bottomSheet;
private MapView map; private MapView map;
private BaseRecyclerView brv; private BaseRecyclerView brv;
@@ -85,57 +85,58 @@ public class StartYunDanActivity extends BaseActivity {
private LinearLayout protect; private LinearLayout protect;
//private RelativeLayout title_rl; //private RelativeLayout title_rl;
private TextView title; private TextView title;
private ScoreView sv1,sv2; private ScoreView sv1, sv2;
private Gson gson=new Gson(); private Gson gson = new Gson();
private StartOrderBean sob; private StartOrderBean sob;
private WNewsBean wnb; private WNewsBean wnb;
private HuoYuanRequset hyr; private HuoYuanRequset hyr;
//是否处于展开状态 //是否处于展开状态
private boolean key=false; private boolean key = false;
private int id=0; private int id = 0;
LocationGDUtil ld; LocationGDUtil ld;
@Override @Override
public void msgMethod(Message m) { public void msgMethod(Message m) {
super.msgMethod(m); super.msgMethod(m);
switch (m.what){ switch (m.what) {
case RequsetCodeConstants.SUCCESS: case RequsetCodeConstants.SUCCESS:
//获取页面数据 //获取页面数据
if (CacheGroup.cacheList.get(HuoYuanFragmengt.START_ORDER)!=null && CacheGroup.cacheList.get(GET_EVALUTE)!=null) { if (CacheGroup.cacheList.get(HuoYuanFragmengt.START_ORDER) != null && CacheGroup.cacheList.get(GET_EVALUTE) != null) {
Log.e("-评论-",CacheGroup.cacheList.get(GET_EVALUTE)); Log.e("-评论-", CacheGroup.cacheList.get(GET_EVALUTE));
Log.e("-运单-",CacheGroup.cacheList.get(HuoYuanFragmengt.START_ORDER)); Log.e("-运单-", CacheGroup.cacheList.get(HuoYuanFragmengt.START_ORDER));
sob=gson.fromJson(CacheGroup.cacheList.get(HuoYuanFragmengt.START_ORDER), StartOrderBean.class); sob = gson.fromJson(CacheGroup.cacheList.get(HuoYuanFragmengt.START_ORDER), StartOrderBean.class);
wnb=gson.fromJson(CacheGroup.cacheList.get(GET_EVALUTE), WNewsBean.class); wnb = gson.fromJson(CacheGroup.cacheList.get(GET_EVALUTE), WNewsBean.class);
if(sob.getCode()==200 && sob.getData()!=null){ if (sob.getCode() == 200 && sob.getData() != null) {
id = sob.getData().getWaybillId(); id = sob.getData().getWaybillId();
initView(null); initView(null);
}else if(sob.getData()==null){ } else if (sob.getData() == null) {
// Toast.makeText(con,"运单执行结束",Toast.LENGTH_SHORT).show(); // Toast.makeText(con,"运单执行结束",Toast.LENGTH_SHORT).show();
SPUtil.insSP(con,"order","ShippingNoteNumber",""); SPUtil.insSP(con, "order", "ShippingNoteNumber", "");
UiAuxiliary.homeRequest("运单结束"); UiAuxiliary.homeRequest("运单结束");
// finish(); // finish();
}else{ } else {
Toast.makeText(con,sob.getMsg(),Toast.LENGTH_SHORT).show(); Toast.makeText(con, sob.getMsg(), Toast.LENGTH_SHORT).show();
} }
CacheGroup.cacheList.remove(HuoYuanFragmengt.START_ORDER); CacheGroup.cacheList.remove(HuoYuanFragmengt.START_ORDER);
CacheGroup.cacheList.remove(GET_EVALUTE); CacheGroup.cacheList.remove(GET_EVALUTE);
} }
//保存评价 //保存评价
if(CacheGroup.cacheList.get(KEEP_EVALUTE)!=null){ if (CacheGroup.cacheList.get(KEEP_EVALUTE) != null) {
BaseBean bb=gson.fromJson(CacheGroup.cacheList.get(KEEP_EVALUTE),BaseBean.class); BaseBean bb = gson.fromJson(CacheGroup.cacheList.get(KEEP_EVALUTE), BaseBean.class);
if(bb.getCode()==200){ if (bb.getCode() == 200) {
Toast.makeText(con,"评价保存成功",Toast.LENGTH_SHORT).show(); Toast.makeText(con, "评价保存成功", Toast.LENGTH_SHORT).show();
hyr.startOrder(id); hyr.startOrder(id);
hyr.getEvaluate(id); hyr.getEvaluate(id);
}else{ } else {
Toast.makeText(con,bb.getMsg(),Toast.LENGTH_SHORT).show(); Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show();
} }
CacheGroup.cacheList.remove(KEEP_EVALUTE); CacheGroup.cacheList.remove(KEEP_EVALUTE);
} }
break; break;
case 15: case 15:
break; break;
default:break; default:
break;
} }
} }
@@ -147,28 +148,28 @@ public class StartYunDanActivity extends BaseActivity {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
StateStyleUtil.stateTextColor(this); StateStyleUtil.stateTextColor(this);
setContentView(R.layout.activity_yundan_start); setContentView(R.layout.activity_yundan_start);
con=this; con = this;
id=getIntent().getExtras().getInt("id"); id = getIntent().getExtras().getInt("id");
brv=findViewById(R.id.brv); brv = findViewById(R.id.brv);
protect=findViewById(R.id.protect); protect = findViewById(R.id.protect);
title=findViewById(R.id.title); title = findViewById(R.id.title);
bottomSheet =findViewById(R.id.bottom_sheet); bottomSheet = findViewById(R.id.bottom_sheet);
BottomSheetBehavior mBottomSheetBehavior = BottomSheetBehavior.from(bottomSheet); BottomSheetBehavior mBottomSheetBehavior = BottomSheetBehavior.from(bottomSheet);
mBottomSheetBehavior.setHideable(false); mBottomSheetBehavior.setHideable(false);
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED); mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
//mBottomSheetBehavior.set //mBottomSheetBehavior.set
map=findViewById(R.id.map); map = findViewById(R.id.map);
map.onCreate(savedInstanceState); map.onCreate(savedInstanceState);
if (aMap == null) { if (aMap == null) {
aMap = map.getMap(); aMap = map.getMap();
initLoaction(); initLoaction();
} }
Log.e("--id--",""+id); Log.e("--id--", "" + id);
String userdata= SPUtil.getSP(con,"data","userdata"); String userdata = SPUtil.getSP(con, "data", "userdata");
if(!userdata.equals("")){ if (!userdata.equals("")) {
ub=gson.fromJson(userdata,UserBean.class); ub = gson.fromJson(userdata, UserBean.class);
} }
hyr=new HuoYuanRequset(con,hd); hyr = new HuoYuanRequset(con, hd);
// hyr.startOrder(id); // hyr.startOrder(id);
// hyr.getEvaluate(id); // hyr.getEvaluate(id);
} }
@@ -184,59 +185,60 @@ public class StartYunDanActivity extends BaseActivity {
//控件隐藏的动画 //控件隐藏的动画
mHiddenAmin = new AlphaAnimation(1.0f, 0.0f); mHiddenAmin = new AlphaAnimation(1.0f, 0.0f);
mHiddenAmin.setDuration(1000); mHiddenAmin.setDuration(1000);
List<ManyBean> list=new ArrayList<>(); List<ManyBean> list = new ArrayList<>();
//list.add(new ManyBean(new model(),R.layout.yundan_start_top)); //list.add(new ManyBean(new model(),R.layout.yundan_start_top));
list.add(new ManyBean(sob.getData(),R.layout.item_yundan_yunxing)); list.add(new ManyBean(sob.getData(), R.layout.item_yundan_yunxing));
list.add(new ManyBean(sob.getData(),R.layout.yundan_start_bottom)); list.add(new ManyBean(sob.getData(), R.layout.yundan_start_bottom));
brv.creates(con,list).setOnItemViewListener((position, o, v, layout) -> { brv.creates(con, list).setOnItemViewListener((position, o, v, layout) -> {
switch (layout){ switch (layout) {
case R.layout.yundan_start_top: case R.layout.yundan_start_top:
ImageButton return_btn=v.findViewById(R.id.return_btn); ImageButton return_btn = v.findViewById(R.id.return_btn);
return_btn.setOnClickListener(v1 -> finish()); return_btn.setOnClickListener(v1 -> finish());
break; break;
case R.layout.yundan_start_bottom: case R.layout.yundan_start_bottom:
initStartBody(v); initStartBody(v);
break; break;
case R.layout.item_yundan_yunxing: case R.layout.item_yundan_yunxing:
ImageView head_img=v.findViewById(R.id.head_img); ImageView head_img = v.findViewById(R.id.head_img);
if(ub!=null && ub.getData()!=null && !ub.getData().getHeadportraitUrl().equals("")){ if (ub != null && ub.getData() != null && !ub.getData().getHeadportraitUrl().equals("")) {
Glide.with(con).load(ub.getData().getHeadportraitUrl()).into(head_img); Glide.with(con).load(ub.getData().getHeadportraitUrl()).into(head_img);
} }
break; break;
default: break; default:
break;
} }
}); });
} }
private boolean iskey=false; private boolean iskey = false;
private void initStartBody(View v){ private void initStartBody(View v) {
LinearLayout jiesuan=v.findViewById(R.id.jiesuan); LinearLayout jiesuan = v.findViewById(R.id.jiesuan);
// if(id==0){ // if(id==0){
// jiesuan.setVisibility(View.GONE); // jiesuan.setVisibility(View.GONE);
// }else{ // }else{
// jiesuan.setVisibility(View.VISIBLE); // jiesuan.setVisibility(View.VISIBLE);
// } // }
sv1=v.findViewById(R.id.score1); sv1 = v.findViewById(R.id.score1);
sv2=v.findViewById(R.id.score2); sv2 = v.findViewById(R.id.score2);
sv1.initView(); sv1.initView();
sv2.initView(); sv2.initView();
sv1.setScore(5); sv1.setScore(5);
//设置是否可以修改评分,默认为true //设置是否可以修改评分,默认为true
TextView pl_submit=v.findViewById(R.id.pl_submit); TextView pl_submit = v.findViewById(R.id.pl_submit);
TextView m_pl_value=v.findViewById(R.id.m_pl_value); TextView m_pl_value = v.findViewById(R.id.m_pl_value);
TextView pl_value=v.findViewById(R.id.pl_value); TextView pl_value = v.findViewById(R.id.pl_value);
if(wnb.getData()!=null){ if (wnb.getData() != null) {
for (WNewsBean.DataDTO datum : wnb.getData()) { for (WNewsBean.DataDTO datum : wnb.getData()) {
if(datum.getType()==0){ if (datum.getType() == 0) {
sv1.setScore(datum.getAttitudeScore()); sv1.setScore(datum.getAttitudeScore());
m_pl_value.setText(datum.getContent()); m_pl_value.setText(datum.getContent());
pl_submit.setVisibility(View.GONE); pl_submit.setVisibility(View.GONE);
sv1.setUpKey(false); sv1.setUpKey(false);
m_pl_value.setEnabled(false); m_pl_value.setEnabled(false);
} }
if(datum.getType()==1){ if (datum.getType() == 1) {
Log.e("分数",datum.getAttitudeScore()+"_"); Log.e("分数", datum.getAttitudeScore() + "_");
sv2.setScore(datum.getAttitudeScore()); sv2.setScore(datum.getAttitudeScore());
pl_value.setText(datum.getContent()); pl_value.setText(datum.getContent());
} }
@@ -244,45 +246,45 @@ public class StartYunDanActivity extends BaseActivity {
} }
sv2.setUpKey(false); sv2.setUpKey(false);
pl_submit.setOnClickListener(v12 -> { pl_submit.setOnClickListener(v12 -> {
String evaluate=m_pl_value.getText()+""; String evaluate = m_pl_value.getText() + "";
if(id!=0){ if (id != 0) {
if(evaluate.length()>=5){ if (evaluate.length() >= 5) {
Log.e("星星",""+sv1.getScore()); Log.e("星星", "" + sv1.getScore());
hyr.keepEvaluate(sv1.getScore(),m_pl_value.getText()+"",id); hyr.keepEvaluate(sv1.getScore(), m_pl_value.getText() + "", id);
}else{ } else {
Toast.makeText(con,"写够5个字才是好司机~",Toast.LENGTH_SHORT).show(); Toast.makeText(con, "写够5个字才是好司机~", Toast.LENGTH_SHORT).show();
} }
}else{ } else {
Toast.makeText(con,"运单尚未结束",Toast.LENGTH_SHORT).show(); Toast.makeText(con, "运单尚未结束", Toast.LENGTH_SHORT).show();
} }
}); });
Button complaint=v.findViewById(R.id.complaint); Button complaint = v.findViewById(R.id.complaint);
complaint.setOnClickListener(v1 -> { complaint.setOnClickListener(v1 -> {
Intent in=new Intent(con, OrderComplaintActivity.class); Intent in = new Intent(con, OrderComplaintActivity.class);
in.putExtra("id",id); in.putExtra("id", id);
startActivity(in); startActivity(in);
}); });
BaseRecyclerView bv_zhuang=v.findViewById(R.id.bv_zhuang); BaseRecyclerView bv_zhuang = v.findViewById(R.id.bv_zhuang);
BaseRecyclerView bv_xie=v.findViewById(R.id.bv_xie); BaseRecyclerView bv_xie = v.findViewById(R.id.bv_xie);
//bv_zhuang.set //bv_zhuang.set
List<Object> list_zhuang=new ArrayList<>(); List<Object> list_zhuang = new ArrayList<>();
List<Object> list_xie=new ArrayList<>(); List<Object> list_xie = new ArrayList<>();
for(int i=0;i<sob.getData().getWayChildren().size();i++){ for (int i = 0; i < sob.getData().getWayChildren().size(); i++) {
StartOrderBean.DataDTO.WayChildrenDTO sdw=sob.getData().getWayChildren().get(i); StartOrderBean.DataDTO.WayChildrenDTO sdw = sob.getData().getWayChildren().get(i);
if(sdw.getType()==1){ if (sdw.getType() == 1) {
sdw.setUpdateTime(StringUtil.isNull((String) sdw.getUpdateTime(),"未装货")); sdw.setUpdateTime(StringUtil.isNull((String) sdw.getUpdateTime(), "未装货"));
list_zhuang.add(sdw); list_zhuang.add(sdw);
}else{ } else {
sdw.setUpdateTime(StringUtil.isNull((String) sdw.getUpdateTime(),"未卸货")); sdw.setUpdateTime(StringUtil.isNull((String) sdw.getUpdateTime(), "未卸货"));
list_xie.add(sdw); list_xie.add(sdw);
} }
} }
TextView get_contract=v.findViewById(R.id.get_contract); TextView get_contract = v.findViewById(R.id.get_contract);
get_contract.setOnClickListener(v13 -> { get_contract.setOnClickListener(v13 -> {
Intent in=new Intent(con, WebPDFActivity.class); Intent in = new Intent(con, WebPDFActivity.class);
in.putExtra("title","电子合同"); in.putExtra("title", "电子合同");
Log.e("--地址--",sob.getData().getContractUrl()); Log.e("--地址--", sob.getData().getContractUrl());
in.putExtra("url",sob.getData().getContractUrl()); in.putExtra("url", sob.getData().getContractUrl());
startActivity(in); startActivity(in);
}); });
// v.findViewById(R.id.upload_receipt).setOnClickListener(new View.OnClickListener() { // v.findViewById(R.id.upload_receipt).setOnClickListener(new View.OnClickListener() {
@@ -294,130 +296,149 @@ public class StartYunDanActivity extends BaseActivity {
// startActivity(in); // startActivity(in);
// } // }
// }); // });
bv_zhuang.createV(con,list_zhuang,R.layout.item_huoyuan_start_zx).setOnItemViewListener((position, o, v14) -> { bv_zhuang.createV(con, list_zhuang, R.layout.item_huoyuan_start_zx).setOnItemViewListener((position, o, v14) -> {
// //
boolean upkey=false; boolean upkey = false;
if(position==0){ if (position == 0) {
upkey=true; upkey = true;
} }
initZX(upkey, v14,position,o,0); initZX(upkey, v14, position, o, 0);
}); });
bv_xie.createV(con,list_xie,R.layout.item_huoyuan_start_zx).setOnItemViewListener((position, o, v15) -> { bv_xie.createV(con, list_xie, R.layout.item_huoyuan_start_zx).setOnItemViewListener((position, o, v15) -> {
// //
boolean upkey=false; boolean upkey = false;
if(position==(list_xie.size()-1)){ if (position == (list_xie.size() - 1)) {
upkey=true; upkey = true;
} }
initZX(upkey, v15, position, o, 1); initZX(upkey, v15, position, o, 1);
}); });
search(); search();
} }
public void initZX(boolean key,View v,int position,Object o,int type){ public void initZX(boolean key, View v, int position, Object o, int type) {
StartOrderBean.DataDTO.WayChildrenDTO sdw= (StartOrderBean.DataDTO.WayChildrenDTO) o; StartOrderBean.DataDTO.WayChildrenDTO sdw = (StartOrderBean.DataDTO.WayChildrenDTO) o;
TextView index=v.findViewById(R.id.index); TextView index = v.findViewById(R.id.index);
TextView s_zx=v.findViewById(R.id.s_zx); TextView s_zx = v.findViewById(R.id.s_zx);
TextView j_zx=v.findViewById(R.id.j_zx); TextView j_zx = v.findViewById(R.id.j_zx);
if(type==1){ if (type == 1) {
s_zx.setText("实际卸货时间:"); s_zx.setText("实际卸货时间:");
j_zx.setText("计划卸货时间:"); j_zx.setText("计划卸货时间:");
} }
if(position==0){ if (position == 0) {
if(type==0){ if (type == 0) {
index.setText("装货地"); index.setText("装货地");
}else{ } else {
index.setText("卸货地"); index.setText("卸货地");
} }
}else{ } else {
if(type==0) { if (type == 0) {
index.setText("" + (position + 1) + "装货地"); index.setText("" + (position + 1) + "装货地");
}else{ } else {
index.setText("" + (position + 1) + "卸货地"); index.setText("" + (position + 1) + "卸货地");
} }
} }
TextView goodName=v.findViewById(R.id.goodName); TextView goodName = v.findViewById(R.id.goodName);
TextView goodNum=v.findViewById(R.id.goodNum); TextView goodNum = v.findViewById(R.id.goodNum);
TextView goodUnit=v.findViewById(R.id.goodUnit); TextView goodUnit = v.findViewById(R.id.goodUnit);
goodName.setText(sdw.getGoods().get(0).getGoodName()); goodName.setText(sdw.getGoods().get(0).getGoodName());
goodNum.setText(sdw.getGoods().get(0).getGoodNum()); goodNum.setText(sdw.getGoods().get(0).getGoodNum());
goodUnit.setText(sdw.getGoods().get(0).getGoodUnit()); goodUnit.setText(sdw.getGoods().get(0).getGoodUnit());
TextView huoyuan_state=v.findViewById(R.id.huoyuan_state); TextView huoyuan_state = v.findViewById(R.id.huoyuan_state);
huoyuan_state.setText(stateText(sdw.getStatus(),type)); huoyuan_state.setText(stateText(sdw.getStatus(), type));
huoyuan_state.setOnClickListener(new View.OnClickListener() { huoyuan_state.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
String wid= sdw.getId()+""; String wid = sdw.getId() + "";
if(sdw.getStatus()==0){ if (sdw.getStatus() == 0) {
if(type==0){ if (type == 0) {
Intent in=new Intent(con, ShangChuangImgActivity.class); Intent in = new Intent(con, ShangChuangImgActivity.class);
in.putExtra("type",type); in.putExtra("type", type);
in.putExtra("wid",wid); in.putExtra("wid", wid);
in.putExtra("sob",gson.toJson(sob)); in.putExtra("sob", gson.toJson(sob));
in.putExtra("keys",key); in.putExtra("keys", key);
startActivity(in); startActivity(in);
}else{ } else {
Toast.makeText(con,"您还没有装货",Toast.LENGTH_SHORT).show(); Toast.makeText(con, "您还没有装货", Toast.LENGTH_SHORT).show();
} }
}else if(sdw.getStatus()==1){ } else if (sdw.getStatus() == 1) {//装货回单
Intent in=new Intent(con, ShangChuangImgActivity.class); Intent in = new Intent(con, ShangChuangImgActivity.class);
in.putExtra("type",2); in.putExtra("type", 2);
in.putExtra("wid",wid); in.putExtra("wid", wid);
in.putExtra("h_type",type); in.putExtra("h_type", type);
in.putExtra("sob",gson.toJson(sob)); in.putExtra("sob", gson.toJson(sob));
startActivity(in); startActivity(in);
}else if(sdw.getStatus()==2){ } else if (sdw.getStatus() == 2) {//上传收货单(卸货回单)
Intent in=new Intent(con, ShangChuangImgActivity.class); Intent in = new Intent(con, ShangChuangImgActivity.class);
in.putExtra("type",2); in.putExtra("type", 2);
in.putExtra("wid",wid); in.putExtra("wid", wid);
in.putExtra("h_type",type); in.putExtra("h_type", type);
in.putExtra("sob",gson.toJson(sob)); in.putExtra("sob", gson.toJson(sob));
in.putExtra("keys",key); in.putExtra("keys", key);
startActivity(in); startActivity(in);
}else if(sdw.getStatus()==3){ } else if (sdw.getStatus() == 3) {
Intent in=new Intent(con, GetShangChuanActivity.class); Intent in = new Intent(con, GetShangChuanActivity.class);
in.putExtra("sdwStr",gson.toJson(sdw)); in.putExtra("sdwStr", gson.toJson(sdw));
startActivity(in); startActivity(in);
}else{ } else {//卸货照片
Intent in=new Intent(con, ShangChuangImgActivity.class); StartOrderBean.DataDTO.WayChildrenDTO zInfo;
in.putExtra("type",type); for (int i = 0; i < sob.getData().getWayChildren().size(); i++) {
in.putExtra("wid",wid); if (sob.getData().getWayChildren().get(i).getType() == 1) {
in.putExtra("sob",gson.toJson(sob)); zInfo = sob.getData().getWayChildren().get(i);
in.putExtra("keys",key); if (zInfo.getReceiptUrl() != null && zInfo.getReceiptUrl().size() > 0) {
int dis = TimeUtil.compareNowDate(TimeUtil.string2Millis(zInfo.getImageTakenDate(), TimeUtil.DEFAULT_FORMAT4));
if (dis > 5) {//大于五分钟可以接单
Intent in = new Intent(con, ShangChuangImgActivity.class);
in.putExtra("type", type);
in.putExtra("wid", wid);
in.putExtra("sob", gson.toJson(sob));
in.putExtra("keys", key);
startActivity(in); startActivity(in);
} else {
ToastUtils.showToast(StartYunDanActivity.this, "请到卸货地再进行卸货操作!");
}
break;
} else {
ToastUtils.showToast(StartYunDanActivity.this, "请先上传出货单,再进行卸货操作!");
}
break;
}
}
} }
} }
}); });
} }
public String stateText(int state,int type){ public String stateText(int state, int type) {
String str=""; String str = "";
//0待装货,1已装货 2已卸货 3已上传回单 4待卸货 //0待装货,1已装货 2已卸货 3已上传回单 4待卸货
switch (state){ switch (state) {
case 0://str="待装货"; case 0://str="待装货";
if(type==0){ if (type == 0) {
str="立即装货"; str = "立即装货";
// str="确认装货"; // str="确认装货";
}else{ } else {
str="请先装货"; str = "请先装货";
} }
break; break;
case 1://str="已装货"; case 1://str="已装货";
str="上传出货单"; str = "上传出货单";
// str="确认回单"; // str="确认回单";
break; break;
case 2://str="已卸货"; case 2://str="已卸货";
str="上传收货单"; str = "上传收货单";
// str="确认回单"; // str="确认回单";
break; break;
case 3: case 3:
//str="已上传回单"; //str="已上传回单";
str="查看凭证"; str = "查看凭证";
break; break;
case 4: case 4:
//str="待卸货"; //str="待卸货";
str="确认卸货"; str = "确认卸货";
break;
default:
break; break;
default:break;
} }
return str; return str;
} }
@@ -425,7 +446,7 @@ public class StartYunDanActivity extends BaseActivity {
@Override @Override
protected void onResume() { protected void onResume() {
super.onResume(); super.onResume();
if(map!=null){ if (map != null) {
map.onResume(); map.onResume();
} }
hyr.startOrder(id); hyr.startOrder(id);
@@ -435,7 +456,7 @@ public class StartYunDanActivity extends BaseActivity {
@Override @Override
protected void onPause() { protected void onPause() {
super.onPause(); super.onPause();
if(map!=null){ if (map != null) {
map.onPause(); map.onPause();
} }
} }
@@ -443,7 +464,7 @@ public class StartYunDanActivity extends BaseActivity {
@Override @Override
protected void onDestroy() { protected void onDestroy() {
super.onDestroy(); super.onDestroy();
if(map!=null){ if (map != null) {
map.onDestroy(); map.onDestroy();
} }
} }
@@ -453,11 +474,12 @@ public class StartYunDanActivity extends BaseActivity {
super.onSaveInstanceState(outState); super.onSaveInstanceState(outState);
map.onSaveInstanceState(outState); map.onSaveInstanceState(outState);
} }
LocationSource.OnLocationChangedListener mListener; LocationSource.OnLocationChangedListener mListener;
AMapLocationClient mlocationClient; AMapLocationClient mlocationClient;
AMapLocationClientOption mLocationOption; AMapLocationClientOption mLocationOption;
public void initLoaction(){ public void initLoaction() {
// 设置定位监听 // 设置定位监听
aMap.setLocationSource(new LocationSource() { aMap.setLocationSource(new LocationSource() {
@Override @Override
@@ -476,13 +498,13 @@ public class StartYunDanActivity extends BaseActivity {
mlocationClient.setLocationListener(new AMapLocationListener() { mlocationClient.setLocationListener(new AMapLocationListener() {
@Override @Override
public void onLocationChanged(AMapLocation aMapLocation) { public void onLocationChanged(AMapLocation aMapLocation) {
if (mListener != null&&aMapLocation != null) { if (mListener != null && aMapLocation != null) {
if (aMapLocation != null if (aMapLocation != null
&&aMapLocation.getErrorCode() == 0) { && aMapLocation.getErrorCode() == 0) {
mListener.onLocationChanged(aMapLocation);// 显示系统小蓝点 mListener.onLocationChanged(aMapLocation);// 显示系统小蓝点
} else { } else {
String errText = "定位失败," + aMapLocation.getErrorCode()+ ": " + aMapLocation.getErrorInfo(); String errText = "定位失败," + aMapLocation.getErrorCode() + ": " + aMapLocation.getErrorInfo();
Log.e("AmapErr",errText); Log.e("AmapErr", errText);
} }
} }
} }
@@ -534,10 +556,10 @@ public class StartYunDanActivity extends BaseActivity {
private RouteSearch mRouteSearch;//路线查询器 private RouteSearch mRouteSearch;//路线查询器
private List<LatLonPoint> lists=new ArrayList<>(); private List<LatLonPoint> lists = new ArrayList<>();
public void search(){ public void search() {
// try { // try {
// AMapLocationClient.updatePrivacyShow(con,true,true); // AMapLocationClient.updatePrivacyShow(con,true,true);
// AMapLocationClient.updatePrivacyAgree(con,true); // AMapLocationClient.updatePrivacyAgree(con,true);
@@ -548,31 +570,30 @@ public class StartYunDanActivity extends BaseActivity {
//设置数据回调监听器 //设置数据回调监听器
mRouteSearch.setRouteSearchListener(new OnRouteSearchListener()); mRouteSearch.setRouteSearchListener(new OnRouteSearchListener());
//设置开始位置坐标点(注意经纬度不能写反,会报错1800(只能规划到中国区域里的地图路线)) //设置开始位置坐标点(注意经纬度不能写反,会报错1800(只能规划到中国区域里的地图路线))
LatLonPoint startPoint=new LatLonPoint(Double.parseDouble(sob.getData().getWayChildren().get(0).getLatitude()), LatLonPoint startPoint = new LatLonPoint(Double.parseDouble(sob.getData().getWayChildren().get(0).getLatitude()),
Double.parseDouble(sob.getData().getWayChildren().get((0)).getLongitude())); Double.parseDouble(sob.getData().getWayChildren().get((0)).getLongitude()));
//设置目的地坐标点 //设置目的地坐标点
LatLonPoint endPoint = new LatLonPoint(Double.parseDouble(sob.getData().getWayChildren().get((sob.getData().getWayChildren().size()-1)).getLatitude()), LatLonPoint endPoint = new LatLonPoint(Double.parseDouble(sob.getData().getWayChildren().get((sob.getData().getWayChildren().size() - 1)).getLatitude()),
Double.parseDouble(sob.getData().getWayChildren().get((sob.getData().getWayChildren().size()-1)).getLongitude())); Double.parseDouble(sob.getData().getWayChildren().get((sob.getData().getWayChildren().size() - 1)).getLongitude()));
//查询信息对象 //查询信息对象
for (int i=0;i<sob.getData().getWayChildren().size();i++){ for (int i = 0; i < sob.getData().getWayChildren().size(); i++) {
if(i!=0 && i!=(sob.getData().getWayChildren().size()-1)){ if (i != 0 && i != (sob.getData().getWayChildren().size() - 1)) {
LatLonPoint sp=new LatLonPoint(Double.parseDouble(sob.getData().getWayChildren().get(i).getLatitude()), LatLonPoint sp = new LatLonPoint(Double.parseDouble(sob.getData().getWayChildren().get(i).getLatitude()),
Double.parseDouble(sob.getData().getWayChildren().get((i)).getLongitude())); Double.parseDouble(sob.getData().getWayChildren().get((i)).getLongitude()));
lists.add(sp); lists.add(sp);
} }
} }
RouteSearch.FromAndTo fromAndTo = new RouteSearch.FromAndTo(startPoint,endPoint); RouteSearch.FromAndTo fromAndTo = new RouteSearch.FromAndTo(startPoint, endPoint);
//设置搜索参数 1.fromAndTo 路径的起点终点 2.路径规划的策略(这里是驾车模式,具体看高德API) 3.途 //设置搜索参数 1.fromAndTo 路径的起点终点 2.路径规划的策略(这里是驾车模式,具体看高德API) 3.途
//经点,可选 4.避让区域,可选, 5.避让道路 ,可选 //经点,可选 4.避让区域,可选, 5.避让道路 ,可选
RouteSearch.DriveRouteQuery query = new RouteSearch.DriveRouteQuery query = new
RouteSearch.DriveRouteQuery(fromAndTo,RouteSearch.DRIVING_SINGLE_DEFAULT,lists,null,""); RouteSearch.DriveRouteQuery(fromAndTo, RouteSearch.DRIVING_SINGLE_DEFAULT, lists, null, "");
//开始异步查询 //开始异步查询
mRouteSearch.calculateDriveRouteAsyn(query); mRouteSearch.calculateDriveRouteAsyn(query);
} }
class OnRouteSearchListener implements RouteSearch.OnRouteSearchListener {
class OnRouteSearchListener implements RouteSearch.OnRouteSearchListener{
@Override @Override
public void onBusRouteSearched(BusRouteResult busRouteResult, int i) { public void onBusRouteSearched(BusRouteResult busRouteResult, int i) {
@@ -581,7 +602,7 @@ public class StartYunDanActivity extends BaseActivity {
@Override @Override
public void onDriveRouteSearched(DriveRouteResult driveRouteResult, int rCode) { public void onDriveRouteSearched(DriveRouteResult driveRouteResult, int rCode) {
if (rCode == 1000){//获取规划路线成功,获取到的是了,路线坐标点的集合 if (rCode == 1000) {//获取规划路线成功,获取到的是了,路线坐标点的集合
List<DrivePath> paths = driveRouteResult.getPaths(); List<DrivePath> paths = driveRouteResult.getPaths();
//创建存储坐标点的集合 //创建存储坐标点的集合
List<LatLng> latLngs = new ArrayList<>(); List<LatLng> latLngs = new ArrayList<>();
@@ -590,7 +611,7 @@ public class StartYunDanActivity extends BaseActivity {
for (DriveStep mDriveStep : mDrivePath.getSteps()) { for (DriveStep mDriveStep : mDrivePath.getSteps()) {
for (LatLonPoint mLatLonPoint : mDriveStep.getPolyline()) { for (LatLonPoint mLatLonPoint : mDriveStep.getPolyline()) {
latLngs.add(new latLngs.add(new
LatLng(mLatLonPoint.getLatitude(),mLatLonPoint.getLongitude())); LatLng(mLatLonPoint.getLatitude(), mLatLonPoint.getLongitude()));
} }
} }
} }
@@ -601,24 +622,24 @@ public class StartYunDanActivity extends BaseActivity {
.icon(BitmapDescriptorFactory.fromResource(R.mipmap.qi)) .icon(BitmapDescriptorFactory.fromResource(R.mipmap.qi))
.position(new LatLng(Double.parseDouble(sob.getData().getWayChildren().get(0).getLatitude()), .position(new LatLng(Double.parseDouble(sob.getData().getWayChildren().get(0).getLatitude()),
Double.parseDouble(sob.getData().getWayChildren().get(0).getLongitude())))); Double.parseDouble(sob.getData().getWayChildren().get(0).getLongitude()))));
for(int i=0;i<sob.getData().getWayChildren().size();i++){ for (int i = 0; i < sob.getData().getWayChildren().size(); i++) {
if(i!=0 && i!=(sob.getData().getWayChildren().size()-1)){ if (i != 0 && i != (sob.getData().getWayChildren().size() - 1)) {
StartOrderBean.DataDTO.WayChildrenDTO sdw=sob.getData().getWayChildren().get(i); StartOrderBean.DataDTO.WayChildrenDTO sdw = sob.getData().getWayChildren().get(i);
int icon=0; int icon = 0;
if(sdw.getType()==1){ if (sdw.getType() == 1) {
icon=R.mipmap.z_loc; icon = R.mipmap.z_loc;
}else{ } else {
icon=R.mipmap.x_loc; icon = R.mipmap.x_loc;
} }
aMap.addMarker(new MarkerOptions() aMap.addMarker(new MarkerOptions()
.icon(BitmapDescriptorFactory.fromResource(icon)) .icon(BitmapDescriptorFactory.fromResource(icon))
.position(new LatLng(Double.parseDouble(sdw.getLatitude()),Double.parseDouble(sdw.getLongitude())))); .position(new LatLng(Double.parseDouble(sdw.getLatitude()), Double.parseDouble(sdw.getLongitude()))));
} }
} }
aMap.addMarker(new MarkerOptions() aMap.addMarker(new MarkerOptions()
.icon(BitmapDescriptorFactory.fromResource(R.mipmap.zhong)) .icon(BitmapDescriptorFactory.fromResource(R.mipmap.zhong))
.position(new LatLng(Double.parseDouble(sob.getData().getWayChildren().get((sob.getData().getWayChildren().size()-1)).getLatitude()), .position(new LatLng(Double.parseDouble(sob.getData().getWayChildren().get((sob.getData().getWayChildren().size() - 1)).getLatitude()),
Double.parseDouble(sob.getData().getWayChildren().get((sob.getData().getWayChildren().size()-1)).getLongitude())))); Double.parseDouble(sob.getData().getWayChildren().get((sob.getData().getWayChildren().size() - 1)).getLongitude()))));
//绘制规划路径路线 //绘制规划路径路线
aMap.addPolyline(new PolylineOptions() aMap.addPolyline(new PolylineOptions()
//路线坐标点的集合 //路线坐标点的集合
@@ -629,15 +650,15 @@ public class StartYunDanActivity extends BaseActivity {
//设置画线的颜色 //设置画线的颜色
//显示完整包含所有marker地图路线 //显示完整包含所有marker地图路线
LatLngBounds.Builder builder =LatLngBounds.builder(); LatLngBounds.Builder builder = LatLngBounds.builder();
for (int i = 0; i < latLngs.size(); i++) { for (int i = 0; i < latLngs.size(); i++) {
builder.include(latLngs.get(i)); builder.include(latLngs.get(i));
} }
//显示全部marker,第二个参数是四周留空宽度 //显示全部marker,第二个参数是四周留空宽度
aMap.moveCamera(CameraUpdateFactory.newLatLngBounds(builder.build(),200)); aMap.moveCamera(CameraUpdateFactory.newLatLngBounds(builder.build(), 200));
LatLng latLng = new LatLng(Double.parseDouble(sob.getData().getWayChildren().get(0).getLatitude()), LatLng latLng = new LatLng(Double.parseDouble(sob.getData().getWayChildren().get(0).getLatitude()),
Double.parseDouble(sob.getData().getWayChildren().get((0)).getLongitude()));//构造一个位置 Double.parseDouble(sob.getData().getWayChildren().get((0)).getLongitude()));//构造一个位置
aMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng,6)); aMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, 6));
} }
} }
@@ -653,7 +674,7 @@ public class StartYunDanActivity extends BaseActivity {
} }
public void up_traffic(){ public void up_traffic() {
// ShippingNoteInfo[] snis=new ShippingNoteInfo[1]; // ShippingNoteInfo[] snis=new ShippingNoteInfo[1];
// ShippingNoteInfo sni=new ShippingNoteInfo(); // ShippingNoteInfo sni=new ShippingNoteInfo();
// sni.setShippingNoteNumber(sob.getData().getShippingNoteNumber()); // sni.setShippingNoteNumber(sob.getData().getShippingNoteNumber());
@@ -16,6 +16,7 @@ import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity;
import com.arpa.hndahesudintocctmsdriver.util.string.StringUtil; import com.arpa.hndahesudintocctmsdriver.util.string.StringUtil;
import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil; import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseActivity; import com.arpa.hndahesudintocctmsdriver.util.view.BaseActivity;
import com.lxj.xpopup.util.SmartGlideImageLoader;
/** /**
* @author hlh * @author hlh
@@ -74,16 +75,22 @@ public class GetShangChuanActivity extends BaseActivity {
Glide.with(con).load(sdw.getSendPutImagesUrl().get(0)).into(img1); Glide.with(con).load(sdw.getSendPutImagesUrl().get(0)).into(img1);
img1.setOnClickListener(v -> { img1.setOnClickListener(v -> {
new XPopup.Builder(con) new XPopup.Builder(con)
.asImageViewer(img1,sdw.getSendPutImagesUrl().get(0), true, -1, -1, 50, false,new CertificatesActivity.ImageLoader()) .asImageViewer(img1,sdw.getSendPutImagesUrl().get(0), new SmartGlideImageLoader(R.mipmap.ic_launcher))
.show(); .show();
// new XPopup.Builder(con)
// .asImageViewer(img1,sdw.getSendPutImagesUrl().get(0), true, -1, -1, 50, false,new CertificatesActivity.ImageLoader())
// .show();
}); });
} }
if(sdw.getReceiptUrl()!=null && sdw.getReceiptUrl().size()>=1){ if(sdw.getReceiptUrl()!=null && sdw.getReceiptUrl().size()>=1){
Glide.with(con).load(sdw.getReceiptUrl().get(0)).into(img2); Glide.with(con).load(sdw.getReceiptUrl().get(0)).into(img2);
img2.setOnClickListener(v -> { img2.setOnClickListener(v -> {
new XPopup.Builder(con) new XPopup.Builder(con)
.asImageViewer(img2,sdw.getReceiptUrl().get(0), true, -1, -1, 50, false,new CertificatesActivity.ImageLoader()) .asImageViewer(img2,sdw.getReceiptUrl().get(0), new SmartGlideImageLoader(R.mipmap.ic_launcher))
.show(); .show();
// new XPopup.Builder(con)
// .asImageViewer(img2,sdw.getReceiptUrl().get(0), true, -1, -1, 50, false,new CertificatesActivity.ImageLoader())
// .show();
}); });
} }
//new GlideUrl(sdw.getSendPutImagesUrl().toString(), new LazyHeaders.Builder().addHeader("Cookie", AppCurrentUser.getInstance().getUserCookie()).build()); //new GlideUrl(sdw.getSendPutImagesUrl().toString(), new LazyHeaders.Builder().addHeader("Cookie", AppCurrentUser.getInstance().getUserCookie()).build());
@@ -19,42 +19,44 @@ import com.alct.mdp.callback.OnResultListener;
import com.alct.mdp.model.Goods; import com.alct.mdp.model.Goods;
import com.alct.mdp.model.Image; import com.alct.mdp.model.Image;
import com.alct.mdp.model.Location; import com.alct.mdp.model.Location;
import com.arpa.hndahesudintocctmsdriver.R;
import com.arpa.hndahesudintocctmsdriver.bean.BaseBean;
import com.arpa.hndahesudintocctmsdriver.bean.StartOrderBean;
import com.arpa.hndahesudintocctmsdriver.bean.UploadBean;
import com.arpa.hndahesudintocctmsdriver.report.JTTProcess; import com.arpa.hndahesudintocctmsdriver.report.JTTProcess;
import com.arpa.hndahesudintocctmsdriver.request.HuoYuanRequset;
import com.arpa.hndahesudintocctmsdriver.request.bean.LUInputBean;
import com.arpa.hndahesudintocctmsdriver.request.bean.UploadReceiptInputBean;
import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity;
import com.arpa.hndahesudintocctmsdriver.util.BitmapUtil; import com.arpa.hndahesudintocctmsdriver.util.BitmapUtil;
import com.arpa.hndahesudintocctmsdriver.util.NfcUtils; import com.arpa.hndahesudintocctmsdriver.util.NfcUtils;
import com.arpa.hndahesudintocctmsdriver.util.alert.CustomDialog;
import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil; import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil;
import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup;
import com.arpa.hndahesudintocctmsdriver.util.file.FileUtil;
import com.arpa.hndahesudintocctmsdriver.util.file.ImageFileCompressUtil;
import com.arpa.hndahesudintocctmsdriver.util.http.RequsetCodeConstants;
import com.arpa.hndahesudintocctmsdriver.util.img.GetCarImageAlert; import com.arpa.hndahesudintocctmsdriver.util.img.GetCarImageAlert;
import com.arpa.hndahesudintocctmsdriver.util.location.LocationGDUtil;
import com.arpa.hndahesudintocctmsdriver.util.location.LocationUtil;
import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.time.Timer;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.dahe.mylibrary.utils.ToastUtils;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.luck.picture.lib.PictureSelector; import com.luck.picture.lib.PictureSelector;
import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.entity.LocalMedia; import com.luck.picture.lib.entity.LocalMedia;
import com.lxj.xpopup.XPopup; import com.lxj.xpopup.XPopup;
import com.arpa.hndahesudintocctmsdriver.R; import com.lxj.xpopup.util.SmartGlideImageLoader;
import com.arpa.hndahesudintocctmsdriver.bean.BaseBean;
import com.arpa.hndahesudintocctmsdriver.bean.StartOrderBean;
import com.arpa.hndahesudintocctmsdriver.bean.UploadBean;
import com.arpa.hndahesudintocctmsdriver.request.HuoYuanRequset;
import com.arpa.hndahesudintocctmsdriver.request.bean.LUInputBean;
import com.arpa.hndahesudintocctmsdriver.request.bean.UploadReceiptInputBean;
import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity;
import com.arpa.hndahesudintocctmsdriver.util.location.LocationGDUtil;
import com.arpa.hndahesudintocctmsdriver.util.location.LocationUtil;
import com.arpa.hndahesudintocctmsdriver.util.alert.CustomDialog;
import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup;
import com.arpa.hndahesudintocctmsdriver.util.file.FileUtil;
import com.arpa.hndahesudintocctmsdriver.util.file.ImageFileCompressUtil;
import com.arpa.hndahesudintocctmsdriver.util.http.RequsetCodeConstants;
import com.arpa.hndahesudintocctmsdriver.util.time.Timer;
import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity;
import java.io.File; import java.io.File;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
public class ShangChuangImgActivity extends BaseAppCompatActivity { public class ShangChuangImgActivity2 extends BaseAppCompatActivity {
private TextView submit,name_top,name_body,address,tips,tips_x; private TextView submit,name_top,name_body,address,tips,tips_x;
private RelativeLayout getImg; private RelativeLayout getImg;
@@ -238,11 +240,15 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
getImg.setOnClickListener(v -> { getImg.setOnClickListener(v -> {
if(key){ if(key){
Log.e("--imgIds.size()--",imgIds.size()+""); Log.e("--imgIds.size()--",imgIds.size()+"");
gia.showPopueWindow(this,index==2); gia.showPopueWindow(this,true);
// gia.showPopueWindow(this,index==2);
}else{ }else{
new XPopup.Builder(con) new XPopup.Builder(con)
.asImageViewer(res_img, ub.getData().getUrl(), true, -1, -1, 50, false,new CertificatesActivity.ImageLoader()) .asImageViewer(res_img, ub.getData().getUrl(), new SmartGlideImageLoader(R.mipmap.ic_launcher))
.show(); .show();
// new XPopup.Builder(con)
// .asImageViewer(res_img, ub.getData().getUrl(), true, -1, -1, 50, false,new CertificatesActivity.ImageLoader())
// .show();
Toast.makeText(con,"查看了照片", Toast.LENGTH_SHORT).show(); Toast.makeText(con,"查看了照片", Toast.LENGTH_SHORT).show();
} }
}); });
@@ -309,7 +315,7 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
lub.setWaybillId(wid); lub.setWaybillId(wid);
Log.e("--装货信息", gson.toJson(lub)); Log.e("--装货信息", gson.toJson(lub));
if(locationKey){ if(locationKey){
hyr.loading(lub); // hyr.loading(lub);
if(keys){ if(keys){
nfc(); nfc();
up_traffic_start(); up_traffic_start();
@@ -338,7 +344,7 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
up_traffic_end(); up_traffic_end();
up_image(); up_image();
} }
hyr.dischargeCargo(lub); // hyr.dischargeCargo(lub);
}else{ }else{
Toast.makeText(con,"定位异常,请重新定位",Toast.LENGTH_SHORT).show(); Toast.makeText(con,"定位异常,请重新定位",Toast.LENGTH_SHORT).show();
} }
@@ -348,7 +354,7 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
} }
break; break;
case 2: case 2:
if(imgIds!=null && imgIds.size()>0){ if(imgIds!=null && imgIds.size()>0){//卸货回单
//上传回单 //上传回单
urib.setLatitude(lgdu.getLatitude()+""); urib.setLatitude(lgdu.getLatitude()+"");
urib.setLongitude(lgdu.getLongitude()+""); urib.setLongitude(lgdu.getLongitude()+"");
@@ -366,8 +372,8 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
up_trafficReceipt(); up_trafficReceipt();
receipt_image(); receipt_image();
} }
hyr.receipt(urib); // hyr.receipt(urib);
}{ }else{
Toast.makeText(con,"定位异常,请重新定位",Toast.LENGTH_SHORT).show(); Toast.makeText(con,"定位异常,请重新定位",Toast.LENGTH_SHORT).show();
} }
}else{ }else{
@@ -384,20 +390,30 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
public void up_traffic_start(){ public void up_traffic_start(){
//安联 //安联
if(sob.getData().getReportAlct()==1) { if(sob.getData().getReportAlct()==1) {
StartOrderBean.DataDTO.WayChildrenDTO data = new StartOrderBean.DataDTO.WayChildrenDTO();
for (StartOrderBean.DataDTO.WayChildrenDTO wayChild : sob.getData().getWayChildren()) {
if (wayChild.getType()==1){
data = wayChild;
}
}
Location l = new Location(); Location l = new Location();
l.setBaiduLongitude(lu.getLongitude()); l.setBaiduLongitude(Double.parseDouble(data.getLongitude()));
l.setBaiduLatitude(lu.getLatitude()); l.setBaiduLatitude(Double.parseDouble(data.getLatitude()));
l.setLocation(lu.getAddress()); l.setLocation(data.getAddress());
l.setTime(Timer.getTimerT()); l.setTime(data.getImageTakenDate());
MDPLocationCollectionManager.pickup(con,sob.getData().getShippingNoteNumber(), l, new com.alct.mdp.callback.OnResultListener() { MDPLocationCollectionManager.pickup(con,sob.getData().getShippingNoteNumber(), l, new OnResultListener() {
@Override @Override
public void onSuccess() { public void onSuccess() {
Log.e("上报安联", "装货上传成功"); Log.e("上报安联", "装货上传成功");
ToastUtils.showToast(ShangChuangImgActivity2.this,"装货上传成功");
} }
@Override @Override
public void onFailure(String s, String s1) { public void onFailure(String s, String s1) {
Log.e("上报安联失败(装货):", s + s1); Log.e("上报安联失败(装货):", s + s1);
ToastUtils.showToast(ShangChuangImgActivity2.this,s + s1);
} }
}); });
} }
@@ -432,21 +448,29 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
public void up_traffic_end(){ public void up_traffic_end(){
//安联 //安联
if(sob.getData().getReportAlct()==1){ if(sob.getData().getReportAlct()==1){
StartOrderBean.DataDTO.WayChildrenDTO data = new StartOrderBean.DataDTO.WayChildrenDTO();
for (StartOrderBean.DataDTO.WayChildrenDTO wayChild : sob.getData().getWayChildren()) {
if (wayChild.getType()==2){
data = wayChild;
}
}
Location l=new Location(); Location l=new Location();
l.setBaiduLongitude(lu.getLongitude()); l.setBaiduLongitude(Double.parseDouble(data.getLongitude()));
l.setBaiduLatitude(lu.getLatitude()); l.setBaiduLatitude(Double.parseDouble(data.getLatitude()));
l.setLocation(lu.getAddress()); l.setLocation(data.getAddress());
l.setTime(Timer.getTimerT()); l.setTime(data.getImageTakenDate());
Log.e("-安联卸货信息-",gson.toJson(l)); Log.e("-安联卸货信息-",gson.toJson(l));
MDPLocationCollectionManager.unload(con, sob.getData().getShippingNoteNumber(), l, new com.alct.mdp.callback.OnResultListener() { MDPLocationCollectionManager.unload(con, sob.getData().getShippingNoteNumber(), l, new OnResultListener() {
@Override @Override
public void onSuccess() { public void onSuccess() {
Log.e("上报安联","卸货上传成功"); Log.e("上报安联","卸货上传成功");
ToastUtils.showToast(ShangChuangImgActivity2.this,"卸货上传成功");
} }
@Override @Override
public void onFailure(String s, String s1) { public void onFailure(String s, String s1) {
Log.e("上报安联失败(卸货):",s+s1); Log.e("上报安联失败(卸货):",s+s1);
ToastUtils.showToast(ShangChuangImgActivity2.this,s+s1);
} }
}); });
} }
@@ -458,12 +482,18 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
//上传安联-签收 //上传安联-签收
public void up_trafficSign(){ public void up_trafficSign(){
StartOrderBean.DataDTO.WayChildrenDTO data = new StartOrderBean.DataDTO.WayChildrenDTO();
for (StartOrderBean.DataDTO.WayChildrenDTO wayChild : sob.getData().getWayChildren()) {
if (wayChild.getType()==2){
data = wayChild;
}
}
//安联 //安联
Location l=new Location(); Location l=new Location();
l.setBaiduLongitude(lu.getLongitude()); l.setBaiduLongitude(Double.parseDouble(data.getLongitude()));
l.setBaiduLatitude(lu.getLatitude()); l.setBaiduLatitude(Double.parseDouble(data.getLatitude()));
l.setLocation(lu.getAddress()); l.setLocation(data.getAddress());
l.setTime(Timer.getTimerT()); l.setTime(data.getImageTakenDate());
List<Goods> gs=new ArrayList<>(); List<Goods> gs=new ArrayList<>();
for (StartOrderBean.DataDTO.WayChildrenDTO wayChild : sob.getData().getWayChildren()) { for (StartOrderBean.DataDTO.WayChildrenDTO wayChild : sob.getData().getWayChildren()) {
if(wid.equals(wayChild.getId()+"")){ if(wid.equals(wayChild.getId()+"")){
@@ -483,14 +513,16 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
} }
} }
} }
MDPLocationCollectionManager.sign(con, sob.getData().getShippingNoteNumber(), l,gs, new com.alct.mdp.callback.OnResultListener() { MDPLocationCollectionManager.sign(con, sob.getData().getShippingNoteNumber(), l,gs, new OnResultListener() {
@Override @Override
public void onSuccess() { public void onSuccess() {
Log.e("上报安联","签收成功"); Log.e("上报安联","签收成功");
ToastUtils.showToast(ShangChuangImgActivity2.this,"签收成功");
} }
@Override @Override
public void onFailure(String s, String s1) { public void onFailure(String s, String s1) {
ToastUtils.showToast(ShangChuangImgActivity2.this,s+s1);
Log.e("上报安联失败(签收):",s+s1); Log.e("上报安联失败(签收):",s+s1);
} }
}); });
@@ -498,22 +530,30 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
//上传安联-回单 //上传安联-回单
public void up_trafficReceipt(){ public void up_trafficReceipt(){
StartOrderBean.DataDTO.WayChildrenDTO data = new StartOrderBean.DataDTO.WayChildrenDTO();
for (StartOrderBean.DataDTO.WayChildrenDTO wayChild : sob.getData().getWayChildren()) {
if (wayChild.getType()==2){
data = wayChild;
}
}
//安联 //安联
Location l=new Location(); Location l=new Location();
l.setBaiduLongitude(lu.getLongitude()); l.setBaiduLongitude(Double.parseDouble(data.getLongitude()));
l.setBaiduLatitude(lu.getLatitude()); l.setBaiduLatitude(Double.parseDouble(data.getLatitude()));
l.setLocation(lu.getAddress()); l.setLocation(data.getAddress());
l.setTime(Timer.getTimerT()); l.setTime(data.getImageTakenDate());
MDPLocationCollectionManager.pod(con, sob.getData().getShippingNoteNumber(), l, new com.alct.mdp.callback.OnResultListener() { MDPLocationCollectionManager.pod(con, sob.getData().getShippingNoteNumber(), l, new OnResultListener() {
@Override @Override
public void onSuccess() { public void onSuccess() {
Log.e("上报安联","回单上传成功"); Log.e("上报安联","回单上传成功");
ToastUtils.showToast(ShangChuangImgActivity2.this,"回单上传成功");
} }
@Override @Override
public void onFailure(String s, String s1) { public void onFailure(String s, String s1) {
Log.e("上报安联失败(回单):",s+s1); Log.e("上报安联失败(回单):",s+s1);
ToastUtils.showToast(ShangChuangImgActivity2.this,s+s1);
} }
}); });
@@ -521,26 +561,36 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
public void up_image_z(){ public void up_image_z(){
///storage/emulated/0/Android/data/com.oneclouds.wangluohuoyun/files/Pictures/163124593063154.jpg ///storage/emulated/0/Android/data/com.oneclouds.wangluohuoyun/files/Pictures/163124593063154.jpg
StartOrderBean.DataDTO.WayChildrenDTO data = new StartOrderBean.DataDTO.WayChildrenDTO();
for (StartOrderBean.DataDTO.WayChildrenDTO wayChild : sob.getData().getWayChildren()) {
if (wayChild.getType()==1){
data = wayChild;
}
}
File file=new File(path); File file=new File(path);
Image image=new Image(); Image image=new Image();
String base= BitmapUtil.imageToBase64(path); String base= BitmapUtil.imageToBase64(path);
image.setFileData("data:image/"+ FileUtil.lastName(file) +";base64,"+base); image.setFileData("data:image/"+ FileUtil.lastName(file) +";base64,"+base);
image.setFileExt(FileUtil.lastName(file)); image.setFileExt(FileUtil.lastName(file));
image.setFileName(FileUtil.fileName(file)); image.setFileName(FileUtil.fileName(file));
image.setImageTakenDate(Timer.getTimerT()); image.setImageTakenDate(data.getImageTakenDate());
image.setBaiduLongitude(lu.getLongitude()); image.setBaiduLongitude(Double.parseDouble(data.getLongitude()));
image.setBaiduLatitude(lu.getLatitude()); image.setBaiduLatitude(Double.parseDouble(data.getLatitude()));
image.setLocation(lu.getAddress()); image.setLocation(data.getAddress());
MDPLocationCollectionManager.uploadPickupImage(con, sob.getData().getShippingNoteNumber(), image, new com.alct.mdp.callback.OnResultListener() { MDPLocationCollectionManager.uploadPickupImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() {
@Override @Override
public void onSuccess() { public void onSuccess() {
Log.e("上报安联","装货照片上传成功"); Log.e("上报安联","装货照片上传成功");
ToastUtils.showToast(ShangChuangImgActivity2.this,"装货照片上传成功");
} }
@Override @Override
public void onFailure(String s, String s1) { public void onFailure(String s, String s1) {
Log.e("上报安联失败(装货照片):",s+s1); Log.e("上报安联失败(装货照片):",s+s1);
ToastUtils.showToast(ShangChuangImgActivity2.this,s+s1);
// SPUtil.insSP(con,"make","装货",sob.getData().getShippingNoteNumber()); // SPUtil.insSP(con,"make","装货",sob.getData().getShippingNoteNumber());
// SPUtil.insSP(con,"make","装货-"+sob.getData().getShippingNoteNumber(),gson.toJson(image)); // SPUtil.insSP(con,"make","装货-"+sob.getData().getShippingNoteNumber(),gson.toJson(image));
// Intent serviceIn=new Intent(con, MakeUpAlService.class); // Intent serviceIn=new Intent(con, MakeUpAlService.class);
@@ -551,26 +601,36 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
} }
public void up_image(){ public void up_image(){
StartOrderBean.DataDTO.WayChildrenDTO data = new StartOrderBean.DataDTO.WayChildrenDTO();
for (StartOrderBean.DataDTO.WayChildrenDTO wayChild : sob.getData().getWayChildren()) {
if (wayChild.getType()==2){
data = wayChild;
}
}
File file=new File(path); File file=new File(path);
Image image=new Image(); Image image=new Image();
String base= BitmapUtil.imageToBase64(path); String base= BitmapUtil.imageToBase64(path);
image.setFileData("data:image/"+ FileUtil.lastName(file) +";base64,"+base); image.setFileData("data:image/"+ FileUtil.lastName(file) +";base64,"+base);
image.setFileExt(FileUtil.lastName(file)); image.setFileExt(FileUtil.lastName(file));
image.setFileName(FileUtil.fileName(file)); image.setFileName(FileUtil.fileName(file));
image.setImageTakenDate(Timer.getTimerT()); image.setImageTakenDate(data.getImageTakenDate());
image.setBaiduLongitude(lu.getLongitude()); image.setBaiduLongitude(Double.parseDouble(data.getLongitude()));
image.setBaiduLatitude(lu.getLatitude()); image.setBaiduLatitude(Double.parseDouble(data.getLatitude()));
image.setLocation(lu.getAddress()); image.setLocation(data.getAddress());
MDPLocationCollectionManager.uploadUnloadImage(con, sob.getData().getShippingNoteNumber(), image, new com.alct.mdp.callback.OnResultListener() { MDPLocationCollectionManager.uploadUnloadImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() {
@Override @Override
public void onSuccess() { public void onSuccess() {
Log.e("上报安联","卸货照片上传成功"); Log.e("上报安联","卸货照片上传成功");
ToastUtils.showToast(ShangChuangImgActivity2.this,"卸货照片上传成功");
} }
@Override @Override
public void onFailure(String s, String s1) { public void onFailure(String s, String s1) {
Log.e("上报安联失败(卸货照片):",s+s1); Log.e("上报安联失败(卸货照片):",s+s1);
ToastUtils.showToast(ShangChuangImgActivity2.this,s+s1);
// SPUtil.insSP(con,"make","卸货",sob.getData().getShippingNoteNumber()); // SPUtil.insSP(con,"make","卸货",sob.getData().getShippingNoteNumber());
// SPUtil.insSP(con,"make","卸货-"+sob.getData().getShippingNoteNumber(),gson.toJson(image)); // SPUtil.insSP(con,"make","卸货-"+sob.getData().getShippingNoteNumber(),gson.toJson(image));
// Intent serviceIn=new Intent(con, MakeUpAlService.class); // Intent serviceIn=new Intent(con, MakeUpAlService.class);
@@ -582,26 +642,35 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
public void receipt_image(){ public void receipt_image(){
///storage/emulated/0/Android/data/com.oneclouds.wangluohuoyun/files/Pictures/163124593063154.jpg ///storage/emulated/0/Android/data/com.oneclouds.wangluohuoyun/files/Pictures/163124593063154.jpg
StartOrderBean.DataDTO.WayChildrenDTO data = new StartOrderBean.DataDTO.WayChildrenDTO();
for (StartOrderBean.DataDTO.WayChildrenDTO wayChild : sob.getData().getWayChildren()) {
if (wayChild.getType()==2){
data = wayChild;
}
}
File file=new File(path); File file=new File(path);
Image image=new Image(); Image image=new Image();
String base= BitmapUtil.imageToBase64(path); String base= BitmapUtil.imageToBase64(path);
image.setFileData("data:image/"+ FileUtil.lastName(file) +";base64,"+base); image.setFileData("data:image/"+ FileUtil.lastName(file) +";base64,"+base);
image.setFileExt(FileUtil.lastName(file)); image.setFileExt(FileUtil.lastName(file));
image.setFileName(FileUtil.fileName(file)); image.setFileName(FileUtil.fileName(file));
image.setImageTakenDate(Timer.getTimerT()); image.setImageTakenDate(data.getImageTakenDate());
image.setBaiduLongitude(lu.getLongitude()); image.setBaiduLongitude(Double.parseDouble(data.getLongitude()));
image.setBaiduLatitude(lu.getLatitude()); image.setBaiduLatitude(Double.parseDouble(data.getLatitude()));
image.setLocation(lu.getAddress()); image.setLocation(data.getAddress());
MDPLocationCollectionManager.uploadPODImage(con, sob.getData().getShippingNoteNumber(), image, new com.alct.mdp.callback.OnResultListener() { MDPLocationCollectionManager.uploadPODImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() {
@Override @Override
public void onSuccess() { public void onSuccess() {
Log.e("上报安联","回单照片上传成功"); Log.e("上报安联","回单照片上传成功");
ToastUtils.showToast(ShangChuangImgActivity2.this,"回单照片上传成功");
} }
@Override @Override
public void onFailure(String s, String s1) { public void onFailure(String s, String s1) {
Log.e("上报安联失败(回单照片):",s+s1); Log.e("上报安联失败(回单照片):",s+s1);
ToastUtils.showToast(ShangChuangImgActivity2.this,s+s1);
// SPUtil.insSP(con,"make","回单",sob.getData().getShippingNoteNumber()); // SPUtil.insSP(con,"make","回单",sob.getData().getShippingNoteNumber());
//// SPUtil.insSP(con,"make","回单-"+sob.getData().getShippingNoteNumber(),gson.toJson(image)); //// SPUtil.insSP(con,"make","回单-"+sob.getData().getShippingNoteNumber(),gson.toJson(image));
//// Intent serviceIn=new Intent(con, MakeUpAlService.class); //// Intent serviceIn=new Intent(con, MakeUpAlService.class);
@@ -0,0 +1,894 @@
package com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan;
import android.content.Intent;
import android.os.Bundle;
import android.os.Message;
import android.text.TextUtils;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.Nullable;
import com.alct.mdp.MDPLocationCollectionManager;
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.amap.api.maps.CameraUpdateFactory;
import com.amap.api.services.core.AMapException;
import com.amap.api.services.core.LatLonPoint;
import com.amap.api.services.geocoder.GeocodeAddress;
import com.amap.api.services.geocoder.GeocodeQuery;
import com.amap.api.services.geocoder.GeocodeResult;
import com.amap.api.services.geocoder.GeocodeSearch;
import com.amap.api.services.geocoder.RegeocodeResult;
import com.amap.api.services.help.Inputtips;
import com.amap.api.services.help.InputtipsQuery;
import com.amap.api.services.help.Tip;
import com.arpa.hndahesudintocctmsdriver.R;
import com.arpa.hndahesudintocctmsdriver.bean.BaseBean;
import com.arpa.hndahesudintocctmsdriver.bean.CarInfoBean;
import com.arpa.hndahesudintocctmsdriver.bean.StartOrderBean;
import com.arpa.hndahesudintocctmsdriver.bean.UploadBean;
import com.arpa.hndahesudintocctmsdriver.report.JTTProcess;
import com.arpa.hndahesudintocctmsdriver.request.HuoYuanRequset;
import com.arpa.hndahesudintocctmsdriver.request.OCRRequest;
import com.arpa.hndahesudintocctmsdriver.request.bean.LUInputBean;
import com.arpa.hndahesudintocctmsdriver.request.bean.UploadReceiptInputBean;
import com.arpa.hndahesudintocctmsdriver.util.BitmapUtil;
import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.arpa.hndahesudintocctmsdriver.util.NfcUtils;
import com.arpa.hndahesudintocctmsdriver.util.alert.CustomDialog;
import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil;
import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup;
import com.arpa.hndahesudintocctmsdriver.util.file.FileUtil;
import com.arpa.hndahesudintocctmsdriver.util.file.ImageFileCompressUtil;
import com.arpa.hndahesudintocctmsdriver.util.http.RequsetCodeConstants;
import com.arpa.hndahesudintocctmsdriver.util.img.GetCarImageAlert;
import com.arpa.hndahesudintocctmsdriver.util.location.LocationGDUtil;
import com.arpa.hndahesudintocctmsdriver.util.location.LocationUtil;
import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.time.Timer;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity;
import com.baidu.mapapi.model.LatLng;
import com.baidu.mapapi.utils.CoordinateConverter;
import com.bumptech.glide.Glide;
import com.dahe.mylibrary.utils.ToastUtils;
import com.github.gzuliyujiang.wheelpicker.DatePicker;
import com.github.gzuliyujiang.wheelpicker.DatimePicker;
import com.github.gzuliyujiang.wheelpicker.annotation.DateMode;
import com.github.gzuliyujiang.wheelpicker.annotation.TimeMode;
import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener;
import com.github.gzuliyujiang.wheelpicker.contract.OnDatimePickedListener;
import com.github.gzuliyujiang.wheelpicker.entity.DateEntity;
import com.github.gzuliyujiang.wheelpicker.entity.DatimeEntity;
import com.google.gson.Gson;
import com.luck.picture.lib.PictureSelector;
import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.entity.LocalMedia;
import com.lxj.xpopup.XPopup;
import com.lxj.xpopup.interfaces.OnSelectListener;
import com.lxj.xpopup.util.SmartGlideImageLoader;
import java.io.File;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class ShangChuangImgActivityBC extends BaseAppCompatActivity implements Inputtips.InputtipsListener {
private TextView submit, name_top, name_body, address, tips, tips_x,tvDate,tvLocation;
private RelativeLayout getImg;
private EditText etAddress;
private Button btnOk;
private ImageView res_img, img_icon, img_delete;
private String[] names = {"装货", "卸货", "回单"};
public static String[] TYPE_NAME = {"zhuanghuo", "xiehuo", "huidan"};
private int index = 0;
//
private Gson gson = new Gson();
//
private LUInputBean lub = new LUInputBean();
private UploadReceiptInputBean urib = new UploadReceiptInputBean();
private LocationGDUtil lgdu;
public LocationUtil lu;
private List<Integer> imgIds = new ArrayList<>();
private UploadBean ub;
private HuoYuanRequset hyr;
//
private GetCarImageAlert gia = new GetCarImageAlert();
private CustomDialog customDialog;
private int id = 0;
private boolean key = true;
private boolean keys = false;
private boolean locationKey = false;
private TextView tv_loaction;
private String selDate;
private GeocodeSearch geocoderSearch;
private TempLoca tempLoca = new TempLoca();
private TempLoca tempLocaBd = new TempLoca();
@Override
public void onGetInputtips(List<Tip> tipList, int rCode) {
if (rCode == AMapException.CODE_AMAP_SUCCESS) {
List<String> names = new ArrayList<String>();
if(tipList != null) {
int size = tipList.size();
for (int i = 0; i < size; i++) {
Tip tip = tipList.get(i);
if(tip != null) {
names.add(tip.getDistrict()+tip.getName());
}
}
new XPopup.Builder(this)
.isDestroyOnDismiss(true) //对于只使用一次的弹窗,推荐设置这个
.hasShadowBg(false) // 去掉半透明背景
.atView(etAddress)
.asAttachList(names.toArray(new String[0]), new int[]{}, new OnSelectListener() {
@Override
public void onSelect(int position, String text) {
Tip tip = tipList.get(position);
etAddress.setText(tip.getDistrict()+tip.getAddress()+tip.getName());
LatLonPoint latLonPoint = tip.getPoint();
tempLoca.setAddress(etAddress.getText().toString());
tempLoca.setLatitude(latLonPoint.getLatitude());
tempLoca.setLongitude(latLonPoint.getLongitude());
tempLoca.setTime(tvDate.getText().toString());
LatLng latLng = convertGPSToBaidu(new LatLng(latLonPoint.getLatitude(), latLonPoint.getLongitude()));
tempLocaBd.setLongitude(latLng.longitude);
tempLocaBd.setLatitude(latLng.latitude);
tempLocaBd.setAddress(etAddress.getText().toString());
tempLocaBd.setTime(tvDate.getText().toString());
}
})
.show();
// SimpleAdapter aAdapter = new SimpleAdapter(getApplicationContext(), listString, R.layout.item_layout,
// new String[]{"name", "address"}, new int[]{R.id.poi_field_id, R.id.poi_value_id});
//
// minputlist.setAdapter(aAdapter);
// aAdapter.notifyDataSetChanged();
}
} else {
}
}
class TempLoca{
private double latitude;
private double longitude;
private String address;
private String time;
public TempLoca() {
}
public TempLoca(double latitude, double longitude, String address, String time) {
this.latitude = latitude;
this.longitude = longitude;
this.address = address;
this.time = time;
}
public double getLatitude() {
return latitude;
}
public void setLatitude(double latitude) {
this.latitude = latitude;
}
public double getLongitude() {
return longitude;
}
public void setLongitude(double longitude) {
this.longitude = longitude;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
}
@Override
public void msgMethod(Message m) {
super.msgMethod(m);
switch (m.what) {
case RequsetCodeConstants.SUCCESS:
if (CacheGroup.cacheList.get("upload") != null) {
Log.e("upload", CacheGroup.cacheList.get("upload"));
ub = gson.fromJson(CacheGroup.cacheList.remove("upload"), UploadBean.class);
if (ub.getCode() == 200) {
imgIds.add(ub.getData().getId());
Glide.with(con).load(ub.getData().getUrl()).into(res_img);
res_img.setVisibility(View.VISIBLE);
img_delete.setVisibility(View.VISIBLE);
img_icon.setVisibility(View.GONE);
key = false;
} else {
Toast.makeText(con, ub.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove("upload");
}
for (int i = 0; i < TYPE_NAME.length; i++) {
if (CacheGroup.cacheList.get(TYPE_NAME[i]) != null) {
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME[i]), BaseBean.class);
if (bb.getCode() == 200) {
if (index == 2) {
if (!keys){//装货回单
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
}
} else {
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove(TYPE_NAME[i]);
break;
}
}
if (CacheGroup.cacheList.get("carName") != null) {
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("carName"), BaseBean.class);
if (bb.getCode() == 200) {
}
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(ShangChuangImgActivityBC.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;
customDialog.dismiss();
tv_loaction.setText("定位成功");
tv_loaction.setTextColor(getResources().getColor(R.color.theme_color, null));
latLng = convertGPSToBaidu(new LatLng(lgdu.getLatitude(), lgdu.getLongitude()));
initLocation();
break;
case 16://定位失败
locationKey = false;
customDialog.dismiss();
tv_loaction.setText("定位失败,点击重试");
tv_loaction.setTextColor(getResources().getColor(R.color.loaction_no_color, null));
Toast.makeText(con, "定位失败,请确认开启定位后重试!", Toast.LENGTH_LONG).show();
//定位结果接收
//finish();
break;
case 15:
break;
case ImageFileCompressUtil.COMPRESS_SUCCESS:
path = (String) m.obj;
Log.e("res:", "选定图片结果");
Log.e("res:", path);
//选定图片结果
// if(index==1 || index==2){
// new OCRRequest().OCRPlateLicense(con,hd,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;
}
}
private LatLng latLng;
public LatLng convertGPSToBaidu(LatLng srLatLng) {
CoordinateConverter converter = new CoordinateConverter();
converter.from(CoordinateConverter.CoordType.COMMON);
converter.coord(srLatLng);
return converter.convert();
}
private String wid;
private int h_type;
String sobStr = "";
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
StateStyleUtil.stateTextColor(this);
setContentView(R.layout.activity_shangchuan_bc);
con = this;
submit = findViewById(R.id.submit);
name_top = findViewById(R.id.name_top);
name_body = findViewById(R.id.name_body);
address = findViewById(R.id.address);
getImg = findViewById(R.id.getImg);
res_img = findViewById(R.id.res_img);
img_icon = findViewById(R.id.img_icon);
img_delete = findViewById(R.id.img_delete);
tv_loaction = findViewById(R.id.tv_loaction);
btnOk = findViewById(R.id.btnOk);
etAddress = findViewById(R.id.etAddress);
tvDate = findViewById(R.id.tvDate);
tvLocation = findViewById(R.id.tvLocation);
tips = findViewById(R.id.tips);
tips_x = findViewById(R.id.tips_x);
Bundle ins = getIntent().getExtras();
index = ins.getInt("type");
wid = ins.getString("wid");
h_type = ins.getInt("h_type");
keys = ins.getBoolean("keys");
sobStr = getIntent().getExtras().getString("sob");
//Log.e("---sdwStr--",sdwStr);
sob = new Gson().fromJson(sobStr, StartOrderBean.class);
initView(null);
customDialog = new CustomDialog(con, "正在定位当前位置...");
customDialog.show();
lgdu = new LocationGDUtil(con, hd);
//启动定位
lgdu.onCreate();
tv_loaction.setOnClickListener(v -> {
if (!locationKey) {
customDialog.show();
lgdu.onCreate();
}
});
btnOk.setOnClickListener(v -> {
String s = etAddress.getText().toString();
if (TextUtils.isEmpty(selDate)){
ToastUtils.showToast(this,"请先选择时间");
return;
}
if (!TextUtils.isEmpty(s)&&s.length()>=4){
InputtipsQuery inputquery = new InputtipsQuery(s, "");
// inputquery.setCityLimit(true);
Inputtips inputTips = new Inputtips(this, inputquery);
inputTips.setInputtipsListener(this);
inputTips.requestInputtipsAsyn();
// GeocodeQuery query = new GeocodeQuery(s, "100000");// 第一个参数表示地址,第二个参数表示查询城市,中文或者中文全拼,citycode、adcode
// geocoderSearch.getFromLocationNameAsyn(query);// 设置同步地理编码请求
}else{
ToastUtils.showToast(this,"请输入地址且长度大于4");
}
});
tvDate.setOnClickListener(v -> {
DatimePicker datimePicker = new DatimePicker(this);
datimePicker.setBodyWidth(300);
datimePicker.getWheelLayout().setRange(DatimeEntity.yearOnFuture(-1),DatimeEntity.yearOnFuture(10),DatimeEntity.now());
datimePicker.setOnDatimePickedListener((year, month, day, hour, minute, second) -> {
selDate = year+"-"+month+"-"+day+" "+ hour+":"+minute;
tvDate.setText(selDate);
});
datimePicker.getWheelLayout().setDateLabel("", "", "");
datimePicker.getWheelLayout().setTimeLabel("","","");
datimePicker.getWheelLayout().setTimeMode(TimeMode.HOUR_24_NO_SECOND);
datimePicker.show();
});
hyr = new HuoYuanRequset(con, hd);
}
public void initData() {
//nfc初始化设置
NfcUtils nfcUtils = new NfcUtils(this);
}
@Override
public void initView(Object obj) {
super.initView(obj);
name_top.setText("上传" + names[index] + "照片");
name_body.setText(names[index] + "照片");
if (index == 1) {
tips.setVisibility(View.VISIBLE);
tips_x.setVisibility(View.VISIBLE);
}
submit.setOnClickListener(v -> {
if (imgIds.size() != 0) {
typeRequest();
} else {
Toast.makeText(con, "请先上传一张图片", Toast.LENGTH_SHORT).show();
}
});
getImg.setOnClickListener(v -> {
if (key) {
Log.e("--imgIds.size()--", imgIds.size() + "");
gia.showPopueWindow(this, true);
} else {
new XPopup.Builder(con)
.asImageViewer(res_img, ub.getData().getUrl(), new SmartGlideImageLoader(R.mipmap.ic_launcher))
.show();
// new XPopup.Builder(con)
// .asImageViewer(res_img, ub.getData().getUrl(), true, -1, -1, 50, false,new CertificatesActivity.ImageLoader())
// .show();
Toast.makeText(con, "查看了照片", Toast.LENGTH_SHORT).show();
}
});
img_delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imgIds = new ArrayList<>();
ub = new UploadBean();
res_img.setVisibility(View.GONE);
img_delete.setVisibility(View.GONE);
img_icon.setVisibility(View.VISIBLE);
key = true;
}
});
}
String path;
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 12 && resultCode == RESULT_OK) {
if (null == gia.getFile()) {
new ToastUtil(con, Gravity.CENTER, "图片选择失败").show(Toast.LENGTH_SHORT);
return;
}
path = gia.getFile().getPath();
Log.e("图片地址:", path);
gia.dis();
ImageFileCompressUtil.imageFileCompress(con, new File(path), hd);
} else if (requestCode == PictureConfig.CHOOSE_REQUEST && resultCode == RESULT_OK) {
List<LocalMedia> imgs = PictureSelector.obtainMultipleResult(data);
if (imgs != null && imgs.size() > 0) {
LocalMedia image = imgs.get(0);
String paths = image.getAndroidQToPath();
if (TextUtils.isEmpty(paths)) {
paths = image.getPath();
}
path = paths;
Log.e("图片地址:", path);
gia.dis();
ImageFileCompressUtil.imageFileCompress(con, new File(path), hd);
}
}
}
public void initLocation() {
address.setText(lgdu.getAddress());
}
public void typeRequest() {
// for(int i=0;i<imgIds.size();i++){
// Log.e("--imgIds--",imgIds.get(i)+"");
// }
if(TextUtils.isEmpty(tempLoca.getTime())||TextUtils.isEmpty(tempLoca.getAddress())){
ToastUtils.showToast(this,"请选择时间以及地点");
return;
}
switch (index) {
case 0:
//装货
if (imgIds != null && imgIds.size() > 0) {
lub.setLatitude(tempLoca.getLatitude() + "");
lub.setLongitude(tempLoca.getLongitude() + "");
lub.setLocationAddress(tempLoca.getAddress());
lub.setImageId(imgIds);
lub.setWaybillId(wid);
Log.e("--装货信息", gson.toJson(lub));
if (locationKey) {//高德定位
if (keys) {
nfc();
loadInfo();
// up_traffic_start();
// up_image_z();
}
} else {
Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(con, "图片上传异常,请重新上传", Toast.LENGTH_SHORT).show();
}
break;
case 1:
if (imgIds != null && imgIds.size() > 0) {
//卸货
lub.setLatitude(tempLoca.getLatitude() + "");
lub.setLongitude(tempLoca.getLongitude() + "");
lub.setLocationAddress(tempLoca.getAddress());
lub.setImageId(imgIds);
lub.setWaybillId(wid);
lub.setRealLoadTime(tempLoca.getTime());
Log.e("--卸货信息", gson.toJson(lub));
if (locationKey&&!TextUtils.isEmpty(tempLoca.address)) {
if (keys) {
nfc();
uploadInfo();
}
} else {
Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(con, "图片上传异常,请重新上传", Toast.LENGTH_SHORT).show();
}
break;
case 2:
if (imgIds != null && imgIds.size() > 0) {//卸货回单
//上传回单
urib.setLatitude(tempLoca.getLatitude() + "");
urib.setLongitude(tempLoca.getLongitude() + "");
urib.setLocationAddress(tempLoca.getAddress());
//装卸货类型
urib.setType(h_type + 1);
//回单id 数组
urib.setReceiptId(imgIds);
//子运运单ID
urib.setWaybillId(wid);
Log.e("--回单信息", gson.toJson(urib));
if (locationKey) {
if (index == 2 && keys && !TextUtils.isEmpty(tempLoca.address)) {
up_trafficSign();
up_trafficReceipt();
receipt_image();
}
hyr.receipt(urib);
} else {
Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(con, "图片上传异常,请重新上传", Toast.LENGTH_SHORT).show();
}
break;
default:
break;
}
}
private StartOrderBean sob;
public void nfc() {
// if(sob.getData().getNfcId().equals(nfcStr)){
// Toast.makeText(con,"nfcId匹配失败",Toast.LENGTH_LONG).show();
// }
if ("".equals(sob.getData().getNfcId()) || sob.getData().getNfcId() == null) {
return;
}
MDPLocationCollectionManager.checkNfc(con, sob.getData().getShippingNoteNumber(),
sob.getData().getNfcId(), new OnResultListener() {
@Override
public void onSuccess() {
Toast.makeText(con, "nfcId匹配成功", Toast.LENGTH_LONG).show();
}
@Override
public void onFailure(String s, String s1) {
Log.e("不匹配", "" + s + s1);
}
});
}
//上传安联-签收
public void up_trafficSign() {
//安联
Location l = new Location();
l.setBaiduLongitude(tempLocaBd.longitude);
l.setBaiduLatitude(tempLocaBd.latitude);
l.setLocation(tempLocaBd.getAddress());
l.setTime(tempLocaBd.getTime());
List<Goods> gs = new ArrayList<>();
for (StartOrderBean.DataDTO.WayChildrenDTO wayChild : sob.getData().getWayChildren()) {
if (wid.equals(wayChild.getId() + "")) {
for (StartOrderBean.DataDTO.WayChildrenDTO.GoodsDTO good : wayChild.getGoods()) {
Goods g = new Goods();
g.setGoodsName(good.getGoodName());
g.setUnit(good.getGoodUnit());
g.setItemNo(good.getId());
//实收
g.setQuantity(1);
//应收
g.setReceivedQuantity(1);
//破损
g.setDamageQuantity(1);
//丢失
g.setQuantity(1);
}
}
}
MDPLocationCollectionManager.sign(con, sob.getData().getShippingNoteNumber(), l, gs, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "签收成功");
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(签收):", s + s1);
}
});
}
//上传安联-回单
public void up_trafficReceipt() {
//安联
Location l = new Location();
l.setBaiduLongitude(tempLocaBd.longitude);
l.setBaiduLatitude(tempLocaBd.latitude);
l.setLocation(tempLocaBd.getAddress());
l.setTime(tempLocaBd.getTime());
MDPLocationCollectionManager.pod(con, sob.getData().getShippingNoteNumber(), l, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "回单上传成功");
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(回单):", s + s1);
}
});
}
public void up_image_z() {
///storage/emulated/0/Android/data/com.oneclouds.wangluohuoyun/files/Pictures/163124593063154.jpg
File file = new File(path);
Image image = new Image();
String base = BitmapUtil.imageToBase64(path);
image.setFileData("data:image/" + FileUtil.lastName(file) + ";base64," + base);
image.setFileExt(FileUtil.lastName(file));
image.setFileName(FileUtil.fileName(file));
image.setImageTakenDate(Timer.getTimerT());
image.setBaiduLongitude(tempLocaBd.longitude);
image.setBaiduLatitude(tempLocaBd.latitude);
image.setLocation(tempLocaBd.getAddress());
MDPLocationCollectionManager.uploadPickupImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "装货照片上传成功");
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(装货照片):", s + s1);
// SPUtil.insSP(con,"make","装货",sob.getData().getShippingNoteNumber());
// SPUtil.insSP(con,"make","装货-"+sob.getData().getShippingNoteNumber(),gson.toJson(image));
// Intent serviceIn=new Intent(con, MakeUpAlService.class);
// startService(serviceIn);
}
});
}
public void up_image() {
File file = new File(path);
Image image = new Image();
String base = BitmapUtil.imageToBase64(path);
image.setFileData("data:image/" + FileUtil.lastName(file) + ";base64," + base);
image.setFileExt(FileUtil.lastName(file));
image.setFileName(FileUtil.fileName(file));
image.setImageTakenDate(tempLocaBd.getTime());
image.setBaiduLongitude(tempLocaBd.longitude);
image.setBaiduLatitude(tempLocaBd.latitude);
image.setLocation(tempLocaBd.getAddress());
MDPLocationCollectionManager.uploadUnloadImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "卸货照片上传成功");
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(卸货照片):", s + s1);
// SPUtil.insSP(con,"make","卸货",sob.getData().getShippingNoteNumber());
// SPUtil.insSP(con,"make","卸货-"+sob.getData().getShippingNoteNumber(),gson.toJson(image));
// Intent serviceIn=new Intent(con, MakeUpAlService.class);
// startService(serviceIn);
}
});
}
public void receipt_image() {
///storage/emulated/0/Android/data/com.oneclouds.wangluohuoyun/files/Pictures/163124593063154.jpg
File file = new File(path);
Image image = new Image();
String base = BitmapUtil.imageToBase64(path);
image.setFileData("data:image/" + FileUtil.lastName(file) + ";base64," + base);
image.setFileExt(FileUtil.lastName(file));
image.setFileName(FileUtil.fileName(file));
image.setImageTakenDate(tempLocaBd.getTime());
image.setBaiduLongitude(tempLocaBd.longitude);
image.setBaiduLatitude(tempLocaBd.latitude);
image.setLocation(tempLocaBd.getAddress());
MDPLocationCollectionManager.uploadPODImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "回单照片上传成功");
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(回单照片):", s + s1);
// SPUtil.insSP(con,"make","回单",sob.getData().getShippingNoteNumber());
//// SPUtil.insSP(con,"make","回单-"+sob.getData().getShippingNoteNumber(),gson.toJson(image));
//// Intent serviceIn=new Intent(con, MakeUpAlService.class);
//// startService(serviceIn);
}
});
}
@Override
protected void onResume() {
super.onResume();
//开启前台调度系统
//NfcUtils.mNfcAdapter.enableForegroundDispatch(this, NfcUtils.mPendingIntent, NfcUtils.mIntentFilter, NfcUtils.mTechList);
}
@Override
protected void onPause() {
super.onPause();
//关闭前台调度系统
//NfcUtils.mNfcAdapter.disableForegroundDispatch(this);
}
String nfcStr = "";
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
//当该Activity接收到NFC标签时,运行该方法
//调用工具方法,读取NFC数据
try {
nfcStr = NfcUtils.readNFCId(intent);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
Log.e("nfc", nfcStr);
}
/**
* 上传安联和交通厅,平台-装货
*/
private void loadInfo() {
//安联
if (sob.getData().getReportAlct() == 1) {
Location l = new Location();
l.setBaiduLongitude(tempLocaBd.longitude);
l.setBaiduLatitude(tempLocaBd.latitude);
l.setLocation(tempLocaBd.getAddress());
l.setTime(tempLocaBd.getTime());
MDPLocationCollectionManager.pickup(con, sob.getData().getShippingNoteNumber(), l, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "装货上传成功");
//交通厅
if (sob.getData().getReport() == 1) {
JTTProcess.start(con, sob, "");
}
//装货状态
hyr.loading(lub);
//装货照片
up_image_z();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(装货):", s + s1);
new MessageUtils().showCenMessage(con, s1);
}
});
}
}
/**
* 上传安联和交通厅,平台-卸货
*/
private void uploadInfo() {
//安联
if (sob.getData().getReportAlct() == 1) {
Location l = new Location();
l.setBaiduLongitude(tempLocaBd.longitude);
l.setBaiduLatitude(tempLocaBd.latitude);
l.setLocation(tempLocaBd.getAddress());
l.setTime(tempLocaBd.getTime());
Log.e("-安联卸货信息-", gson.toJson(l));
MDPLocationCollectionManager.unload(con, sob.getData().getShippingNoteNumber(), l, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "卸货上传成功");
//交通厅
if (sob.getData().getReport() == 1) {
JTTProcess.stop(con, sob, "");
}
//卸货状态-平台
hyr.dischargeCargo4(lub);
//卸货照片-安联
up_image();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(卸货):", s + s1);
// new MessageUtils().showCenMessage(con, s1);
//运单状态不一致,平台更新状态
hyr.dischargeCargo4(lub);
}
});
}
}
}
@@ -29,6 +29,7 @@ import androidx.cardview.widget.CardView;
import androidx.core.app.ActivityCompat; import androidx.core.app.ActivityCompat;
import com.alct.mdp.MDPLocationCollectionManager; import com.alct.mdp.MDPLocationCollectionManager;
import com.arpa.hndahesudintocctmsdriver.BuildConfig;
import com.arpa.hndahesudintocctmsdriver.bean.ImageConfig; import com.arpa.hndahesudintocctmsdriver.bean.ImageConfig;
import com.arpa.hndahesudintocctmsdriver.parts.ConfigParts; import com.arpa.hndahesudintocctmsdriver.parts.ConfigParts;
import com.arpa.hndahesudintocctmsdriver.report.JTTProcess; import com.arpa.hndahesudintocctmsdriver.report.JTTProcess;
@@ -84,9 +85,6 @@ public class WelcomeActivity extends BaseAppCompatActivity {
@Override @Override
public void msgMethod(Message m) { public void msgMethod(Message m) {
super.msgMethod(m); super.msgMethod(m);
System.out.println("csdf");
System.out.println("csdf");
System.out.println("csdf");
switch (m.what) { switch (m.what) {
case 200: case 200:
if (CacheGroup.cacheList.get("getImage") != null) { if (CacheGroup.cacheList.get("getImage") != null) {
@@ -310,8 +308,12 @@ public class WelcomeActivity extends BaseAppCompatActivity {
}, cd * 1000); }, cd * 1000);
} }
String keys = "f9d35b1133cff1f6e3960c89b249e03f"; // String keys = "f9d35b1133cff1f6e3960c89b249e03f";
String license = "eQQm7gCZPF58Cy4i9OGkqSdFdDnFF0VSUVpw92WcrNLx7zVbpGJwjQhnKL8b0piApIbOTog5log/S1ZIxoUQogueaG84BQlJfRwKjtvpVWImlmhthQyQd2ogRqGkm3rkVGeG9wK49fzP3g5AtghNF05je2rQWd/Tyy/wutXq0e0rvR/bEckFaZ4BesQaYd0MejFC3lA8BjxNWiuvCKs15e1aRUOU5vwN5wsaTsTHokBIYhioSxOoGgHn6NrX6K9Dsl9uTWZ2dOVK/jEzYsNt6E/1Ww2ck1XmIWdRCQNmCpgikuPT0ACAL/w7UaRoWzM/Pm+akWqyp+bEavHT1Vhug3HAHOSGfOghGw2NerNlyEg8h6cVneMx+TsidnQ0ZG29aqdcLBRsvi26BYJJCA8+0WXjT+73RhS8g97Rfb6h0/W//5Az8UNZ6dp6XvUi2EJXQRhY5hkHiuwWT2W1ik+6wiiURkkrBACKbO1kmZWbVpRIe3Y3pcr3Q/V+oAcyPHRXCxu+JIe/j40/epuRrCyf8yvKsZ2Dnkl4QQmlwNqlW1F/arS+19G6zOG+6VKwtbI01A1R9SU1TYOA5UL/Qpo6Gyi3Ec3/irgQlzkq1rZrOIS4oo6tghul/zcG8rjno3luqHYwIZf8vAVfpwBesIVcANCOIuTRPU3A8vdmUoK/twGIchPapmjlAzLhjZ4KoAbNeMsWu3sN6kF44xofLMghos2X8OtvUA9CMD37v2FpYoM75qavyoivsBAbb6mG0p5TmkZ37BxfaGGP6SYrCa9ygQ=="; // String license = "eQQm7gCZPF58Cy4i9OGkqSdFdDnFF0VSUVpw92WcrNLx7zVbpGJwjQhnKL8b0piApIbOTog5log/S1ZIxoUQogueaG84BQlJfRwKjtvpVWImlmhthQyQd2ogRqGkm3rkVGeG9wK49fzP3g5AtghNF05je2rQWd/Tyy/wutXq0e0rvR/bEckFaZ4BesQaYd0MejFC3lA8BjxNWiuvCKs15e1aRUOU5vwN5wsaTsTHokBIYhioSxOoGgHn6NrX6K9Dsl9uTWZ2dOVK/jEzYsNt6E/1Ww2ck1XmIWdRCQNmCpgikuPT0ACAL/w7UaRoWzM/Pm+akWqyp+bEavHT1Vhug3HAHOSGfOghGw2NerNlyEg8h6cVneMx+TsidnQ0ZG29aqdcLBRsvi26BYJJCA8+0WXjT+73RhS8g97Rfb6h0/W//5Az8UNZ6dp6XvUi2EJXQRhY5hkHiuwWT2W1ik+6wiiURkkrBACKbO1kmZWbVpRIe3Y3pcr3Q/V+oAcyPHRXCxu+JIe/j40/epuRrCyf8yvKsZ2Dnkl4QQmlwNqlW1F/arS+19G6zOG+6VKwtbI01A1R9SU1TYOA5UL/Qpo6Gyi3Ec3/irgQlzkq1rZrOIS4oo6tghul/zcG8rjno3luqHYwIZf8vAVfpwBesIVcANCOIuTRPU3A8vdmUoK/twGIchPapmjlAzLhjZ4KoAbNeMsWu3sN6kF44xofLMghos2X8OtvUA9CMD37v2FpYoM75qavyoivsBAbb6mG0p5TmkZ37BxfaGGP6SYrCa9ygQ==";
String keys = "19ac0aa74338e487e45057faf7212401";
String license = "HF41uGxM/1i3CtW98DimoA97BlNTAnQ+DiEAihYmZ2jR1jqC4be253joEJbOJgFDIzp5aIoeuXSWWHFaDVfaHL2Pksbq5f8M8EqsVhP9q/i1xGYSYf6MJVlHdMAVLWgR0Kra+n8dVzkSDuZeyJuDsskAmZaGFQN1CqnWYCI1tmV1Tk4A57e9LQMed0U11QWjdshdU2DGqBXKmGE419PdW3NmIxOR2u9iB1OKBmvzCUT8RAYyBzSn/yhU++YJ25g5a8Pb5kOvi+eOh+PEFEcQL6oOp/CF4Iw5nadlsLhc+XEnVJpwL2myZBoSlVcKxrJKbRn1/DIgXBueKKnqhyHKdJlpqI9eghAlRF0p2Q4f23m89mWRZf4nhKzTeXGIjCTFO4TNVucrlGU7tyJcrRCDVdfV24fziH+hB3QGckpuYzzjefr7hZalLRJ/w8dPw/8dCY1wnWq3AJ3zw2g1PzMxl51q7AgdKvwc1ERcGBns0zb8PK6vGKCnJq3uHiJEnslbTI0MEosje+h+OPO7hf2QofErewjI19wHEOv4dTvuFLh3VmGFMObAmov5kI47705fjSxCvAPGATBrfUSwim+5EQ1hanc5IcXe0/nOTiRUNEpZ+x65zVydqAs7490yqQiIUQvPazEwcal7vH2OD54lCcgpxKxqdmGc5/bp5UnqB45+n+iuInV/Q9DMOQVk15uaVZmhS8VaCqH21CmfH/ZGLb9wiEpaRLrPZLKX3bK7MT9Z0/OlDnb2QUKU8LMMIhLuQQntzsf0Wn4kA/0e9QAJJQ==";
public void init() { public void init() {
String state = SPUtil.getSP(con, "state_data", "authorization_state"); String state = SPUtil.getSP(con, "state_data", "authorization_state");
@@ -325,7 +327,7 @@ public class WelcomeActivity extends BaseAppCompatActivity {
//安联初始化 //安联初始化
if (context.getPackageName().equals(getCurrentProcessName(context))) { if (context.getPackageName().equals(getCurrentProcessName(context))) {
//Log.e("--使用的测试环境--",BuildConfig.OPEN_API_URL); //Log.e("--使用的测试环境--",BuildConfig.OPEN_API_URL);
MDPLocationCollectionManager.initialize(getApplicationContext(), "https://oapi.alct56.com"); MDPLocationCollectionManager.initialize(getApplicationContext(), BuildConfig.OPEN_AL_URL);
} }
//在使用SDK各组件之前初始化context信息,传入ApplicationContext //在使用SDK各组件之前初始化context信息,传入ApplicationContext
// 路由初始化 // 路由初始化
@@ -35,6 +35,7 @@ import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup;
import com.arpa.hndahesudintocctmsdriver.util.http.RequsetCodeConstants; import com.arpa.hndahesudintocctmsdriver.util.http.RequsetCodeConstants;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseFragment; import com.arpa.hndahesudintocctmsdriver.util.view.BaseFragment;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView; import com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView;
import com.lxj.xpopup.util.SmartGlideImageLoader;
import com.zhpan.bannerview.BannerViewPager; import com.zhpan.bannerview.BannerViewPager;
import com.zhpan.bannerview.constants.PageStyle; import com.zhpan.bannerview.constants.PageStyle;
@@ -176,8 +177,11 @@ public class WoDeFragment extends BaseFragment {
headportraitUrl.setOnClickListener(v1 -> { headportraitUrl.setOnClickListener(v1 -> {
if(ub.getData().getHeadportraitUrl()!=null && !ub.getData().getHeadportraitUrl().equals("")){ if(ub.getData().getHeadportraitUrl()!=null && !ub.getData().getHeadportraitUrl().equals("")){
new XPopup.Builder(con) new XPopup.Builder(con)
.asImageViewer(headportraitUrl,ub.getData().getHeadportraitUrl(), true, -1, -1, 50, false,new CertificatesActivity.ImageLoader()) .asImageViewer(headportraitUrl,ub.getData().getHeadportraitUrl(),new SmartGlideImageLoader(R.mipmap.ic_launcher_round))
.show(); .show();
// new XPopup.Builder(con)
// .asImageViewer(headportraitUrl,ub.getData().getHeadportraitUrl(), true, -1, -1, 50, false,new CertificatesActivity.ImageLoader())
// .show();
}else{ }else{
Intent in=new Intent(con, PersonalAuthActivity.class); Intent in=new Intent(con, PersonalAuthActivity.class);
startActivity(in); startActivity(in);
@@ -34,6 +34,7 @@ import com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
public class WalletFragment extends BaseFragment{ public class WalletFragment extends BaseFragment{
public static UserBean userBean; public static UserBean userBean;
@@ -0,0 +1,112 @@
package com.arpa.hndahesudintocctmsdriver.util;
import android.content.Context;
import android.content.Intent;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.widget.Toast;
import com.arpa.hndahesudintocctmsdriver.bean.JTT;
import com.arpa.hndahesudintocctmsdriver.bean.StartOrderBean;
import com.arpa.hndahesudintocctmsdriver.constant.JTTConstant;
import com.arpa.hndahesudintocctmsdriver.parts.StartOrderParts;
import com.arpa.hndahesudintocctmsdriver.report.JTTProcess;
import com.arpa.hndahesudintocctmsdriver.request.HuoYuanRequset;
import com.arpa.hndahesudintocctmsdriver.request.UserRequset;
import com.arpa.hndahesudintocctmsdriver.service.TrackService;
import com.arpa.hndahesudintocctmsdriver.ui.home.HuoYuanFragmengt;
import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup;
import com.arpa.hndahesudintocctmsdriver.util.http.RequsetCodeConstants;
import com.arpa.hndahesudintocctmsdriver.util.sp.SPUtil;
import com.arpa.hndahesudintocctmsdriver.util.string.StringUtil;
import com.dahe.mylibrary.utils.SelectPhotoUtils5;
import com.google.gson.Gson;
/**
* @ClassName BillLocationUtils
* @Author 用户
* @Date 2022/10/17 10:24
* @Description TODO
*/
public class BillLocationUtils {
private Context con;
private static class SingletonHolder {
private static final BillLocationUtils INSTANCE = new BillLocationUtils();
}
private BillLocationUtils() {
}
public static final BillLocationUtils getInstance() {
return SingletonHolder.INSTANCE;
}
private HuoYuanRequset hyr;
private UserRequset ur;
public void getBillLocation(Context con) {
this.con = con;
hyr = new HuoYuanRequset(con, hd);
ur = new UserRequset(con, hd);
//获取执行中的运单
hyr.startOrder(0);
}
public Handler hd = new Handler(msg -> {
msgMethod(msg);
return false;
});
public void msgMethod(Message m) {
switch (m.what) {
case RequsetCodeConstants.SUCCESS:
Gson gson = new Gson();
// Toast.makeText(con,RequsetCodeConstants.FEEDBACK_TEXT,Toast.LENGTH_SHORT).show();
if (CacheGroup.cacheList.get(HuoYuanFragmengt.START_ORDER) != null) {
StartOrderBean sob = gson.fromJson(CacheGroup.cacheList.get(HuoYuanFragmengt.START_ORDER), StartOrderBean.class);
if (sob.getCode() == 200) {
if (sob.getData() != null) {
SPUtil.insSP(con, JTTConstant.JTT_DATA_NAME, JTTConstant.JTT_DATA_ORDER_KEY, gson.toJson(sob));
initStart(sob);
StartOrderParts.setStartOrder(con, sob);
ur.getJtts(sob.getData().getShippingNoteNumber());
}
} else {
Toast.makeText(con, sob.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove(HuoYuanFragmengt.START_ORDER);
break;
}
if (CacheGroup.cacheList.get("jttRes") != null) {
JTT jtt = gson.fromJson(CacheGroup.cacheList.get("jttRes"), JTT.class);
if (jtt.getCode() == 200) {
SPUtil.insSP(con, "data", "jtt", CacheGroup.cacheList.get("jttRes"));
JTTProcess.auth(con);
} else {
Toast.makeText(con, StringUtil.isNull(jtt.getMsg(), "返回错误"), Toast.LENGTH_LONG).show();
}
CacheGroup.cacheList.remove("jttRes");
}
}
}
private void initStart(StartOrderBean sob) {
if (sob.getData() != null) {
if (sob != null && sob.getData() != null && 0 < sob.getData().getWayChildren().size()) {
//order_start.setVisibility(View.VISIBLE);
SPUtil.insSP(con, "order", "ShippingNoteNumber", sob.getData().getShippingNoteNumber());
Log.e("开始轨迹上传服务", "-----");
Intent serviceIn = new Intent(con, TrackService.class);
con.startService(serviceIn);
} else {
SPUtil.insSP(con, "order", "ShippingNoteNumber", "");
}
}
}
}
@@ -0,0 +1,70 @@
package com.arpa.hndahesudintocctmsdriver.util
import android.content.Context
import android.content.Intent
import com.arpa.hndahesudintocctmsdriver.cuspop.MessagePop
import com.arpa.hndahesudintocctmsdriver.cuspop.SimCenterPop
import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity
import com.lxj.xpopup.XPopup
/**
* @ClassName MessageUtils
* @Author 用户
* @Date 2023/8/15 09:51
* @Description TODO
*/
class MessageUtils {
companion object {
fun getInstance() = InstanceHelper.sSingle
}
object InstanceHelper {
val sSingle = MessageUtils()
}
fun showCenMessage(ctx: Context, message: String) {
XPopup.Builder(ctx) //
.hasNavigationBar(false)
.isDestroyOnDismiss(true) //对于只使用一次的弹窗对象,推荐设置这个
.asCustom(MessagePop(ctx, message).setOnMyItemClickListener(object : MessagePop.OnMyItemClickListener{
override fun onItemClick(startTime: String, endTime: String) {
}
}))
.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()
}
}
@@ -51,6 +51,9 @@ public class AdapterAlls extends RecyclerView.Adapter<AdapterAlls.ViewHolder> {
} }
public void add(List<ManyBean> addMessageList) { public void add(List<ManyBean> addMessageList) {
if (object==null){
return;
}
//增加数据 //增加数据
int position = object.size(); int position = object.size();
object.addAll(position, addMessageList); object.addAll(position, addMessageList);
@@ -31,23 +31,23 @@ public class GetCarImageAlert {
PopupWindow popupWindow; PopupWindow popupWindow;
ImageView img; ImageView img;
public void showPopueWindow(AppCompatActivity act,boolean key){ public void showPopueWindow(AppCompatActivity act, boolean key) {
View popView = View.inflate(act, R.layout.choice_car_timg,null); View popView = View.inflate(act, R.layout.choice_car_timg, null);
Button btn_xiangce =popView.findViewById(R.id.btn_xiangce); Button btn_xiangce = popView.findViewById(R.id.btn_xiangce);
Button btn_paizhao = popView.findViewById(R.id.btn_paizhao); Button btn_paizhao = popView.findViewById(R.id.btn_paizhao);
Button btn_quxiao = popView.findViewById(R.id.btn_quxiao); Button btn_quxiao = popView.findViewById(R.id.btn_quxiao);
View v_1=popView.findViewById(R.id.v_1); View v_1 = popView.findViewById(R.id.v_1);
TextView tv_ts=popView.findViewById(R.id.tv_ts); TextView tv_ts = popView.findViewById(R.id.tv_ts);
img=popView.findViewById(R.id.img); img = popView.findViewById(R.id.img);
//获取屏幕宽高 //获取屏幕宽高
int weight =act.getResources().getDisplayMetrics().widthPixels; int weight = act.getResources().getDisplayMetrics().widthPixels;
int height = act.getResources().getDisplayMetrics().heightPixels*2/3; int height = act.getResources().getDisplayMetrics().heightPixels * 2 / 3;
popupWindow = new PopupWindow(popView,weight,height); popupWindow = new PopupWindow(popView, weight, height);
//popupWindow.setAnimationStyle(R.style.anim_popup_dir); //popupWindow.setAnimationStyle(R.style.anim_popup_dir);
popupWindow.setFocusable(true); popupWindow.setFocusable(true);
//点击外部popueWindow消失 //点击外部popueWindow消失
popupWindow.setOutsideTouchable(true); popupWindow.setOutsideTouchable(true);
if(key){ if (key) {
btn_xiangce.setVisibility(View.VISIBLE); btn_xiangce.setVisibility(View.VISIBLE);
img.setImageResource(R.drawable.huidan); img.setImageResource(R.drawable.huidan);
tv_ts.setText("请按照如图所示拍摄回单照片,回单照片必须保持清晰完整,能看清具体吨数,便于结算运费时核查,感谢配合。"); tv_ts.setText("请按照如图所示拍摄回单照片,回单照片必须保持清晰完整,能看清具体吨数,便于结算运费时核查,感谢配合。");
@@ -55,6 +55,7 @@ public class GetCarImageAlert {
//请按照如图所示拍摄回单照片,回单照片必须保持清晰完整,能看清具体吨数,便于结算运费时核查,感谢配合。 //请按照如图所示拍摄回单照片,回单照片必须保持清晰完整,能看清具体吨数,便于结算运费时核查,感谢配合。
} }
btn_xiangce.setOnClickListener(v -> { btn_xiangce.setOnClickListener(v -> {
try {
PermissionX.init(act) PermissionX.init(act)
.permissions(Manifest.permission.READ_EXTERNAL_STORAGE) .permissions(Manifest.permission.READ_EXTERNAL_STORAGE)
.request((allGranted, grantedList, deniedList) -> { .request((allGranted, grantedList, deniedList) -> {
@@ -64,18 +65,41 @@ public class GetCarImageAlert {
Toast.makeText(act.getBaseContext(), "开启权限失败,请手动开启权限", Toast.LENGTH_LONG).show(); Toast.makeText(act.getBaseContext(), "开启权限失败,请手动开启权限", Toast.LENGTH_LONG).show();
} }
}); });
} catch (Exception e) {
Toast.makeText(act.getBaseContext(), "程序出现问题了,请重新登录后重试!!!", Toast.LENGTH_LONG).show();
}
}); });
btn_paizhao.setOnClickListener(v -> { btn_paizhao.setOnClickListener(v -> {
try{
PermissionX.init(act) PermissionX.init(act)
.permissions(Manifest.permission.CAMERA) .permissions(Manifest.permission.CAMERA)
.request((allGranted, grantedList, deniedList) -> { .request((allGranted, grantedList, deniedList) -> {
if (allGranted) { if (allGranted) {
file=ImageGetUtil.createImageFile(act); openCam(act);
ImageGetUtil.cameraAlbumGetImage(act,file); // file=ImageGetUtil.createImageFile(act);
// ImageGetUtil.cameraAlbumGetImage(act,file);
} else { } else {
Toast.makeText(act.getBaseContext(), "开启权限失败,请手动开启权限", Toast.LENGTH_LONG).show(); Toast.makeText(act.getBaseContext(), "开启权限失败,请手动开启权限", Toast.LENGTH_LONG).show();
} }
}); });
}catch (Exception e){
Toast.makeText(act.getBaseContext(), "程序出现问题了,请重新登录后重试!!!", Toast.LENGTH_LONG).show();
}
});
img.setOnClickListener(v -> {
if (!key) {
PermissionX.init(act)
.permissions(Manifest.permission.CAMERA)
.request((allGranted, grantedList, deniedList) -> {
if (allGranted) {
openCam(act);
} else {
Toast.makeText(act.getBaseContext(), "开启权限失败,请手动开启权限", Toast.LENGTH_LONG).show();
}
});
}
}); });
btn_quxiao.setOnClickListener(v -> popupWindow.dismiss()); btn_quxiao.setOnClickListener(v -> popupWindow.dismiss());
//popupWindow消失屏幕变为不透明 //popupWindow消失屏幕变为不透明
@@ -88,15 +112,24 @@ public class GetCarImageAlert {
WindowManager.LayoutParams lp = act.getWindow().getAttributes(); WindowManager.LayoutParams lp = act.getWindow().getAttributes();
lp.alpha = 0.5f; lp.alpha = 0.5f;
act.getWindow().setAttributes(lp); act.getWindow().setAttributes(lp);
popupWindow.showAtLocation(popView, Gravity.BOTTOM,0,50); popupWindow.showAtLocation(popView, Gravity.BOTTOM, 0, 50);
} }
public File getFile() { public File getFile() {
return file; return file;
} }
public void dis(){ public void dis() {
popupWindow.dismiss(); popupWindow.dismiss();
} }
private void openCam(AppCompatActivity act) {
file = ImageGetUtil.createImageFile(act);
if (file != null) {
ImageGetUtil.cameraAlbumGetImage(act, file);
} else {
Toast.makeText(act.getBaseContext(), "路径创建失败,请清除缓存后重试", Toast.LENGTH_LONG).show();
}
}
} }
@@ -9,6 +9,8 @@ import android.provider.MediaStore;
import androidx.core.content.FileProvider; import androidx.core.content.FileProvider;
import com.sdk.base.framework.utils.app.AppUtils;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
@@ -39,7 +41,7 @@ public class ImageGetUtil {
if(imageFile!=null){ if(imageFile!=null){
if(Build.VERSION.SDK_INT>= Build.VERSION_CODES.N){ if(Build.VERSION.SDK_INT>= Build.VERSION_CODES.N){
/*7.0以上要通过FileProvider将File转化为Uri*/ /*7.0以上要通过FileProvider将File转化为Uri*/
uri = FileProvider.getUriForFile(act.getApplicationContext(),"com.arpa.hndahesudintocctmsdriver.fileprovider",imageFile); uri = FileProvider.getUriForFile(act.getApplicationContext(), AppUtils.getPackageName()+".fileprovider",imageFile);
}else { }else {
/*7.0以下则直接使用Uri的fromFile方法将File转化为Uri*/ /*7.0以下则直接使用Uri的fromFile方法将File转化为Uri*/
uri = Uri.fromFile(imageFile); uri = Uri.fromFile(imageFile);
@@ -20,6 +20,7 @@ public class LocationUtil{
private double latitude; private double latitude;
private double longitude; private double longitude;
private int errorCode;
private String address; private String address;
private Context con; private Context con;
private Handler hd; private Handler hd;
@@ -39,6 +40,10 @@ public class LocationUtil{
return longitude; return longitude;
} }
public double getErrorCode() {
return errorCode;
}
public String getAddress() { public String getAddress() {
return address; return address;
} }
@@ -62,7 +67,7 @@ public class LocationUtil{
//LocationMode.Hight_Accuracy:高精度; //LocationMode.Hight_Accuracy:高精度;
//LocationMode. Battery_Saving:低功耗; //LocationMode. Battery_Saving:低功耗;
//LocationMode. Device_Sensors:仅使用设备; //LocationMode. Device_Sensors:仅使用设备;
option.setCoorType("GCJ02"); option.setCoorType("BD09ll");
//可选,设置返回经纬度坐标类型,默认GCJ02 //可选,设置返回经纬度坐标类型,默认GCJ02
//GCJ02:国测局坐标; //GCJ02:国测局坐标;
//BD09ll:百度经纬度坐标; //BD09ll:百度经纬度坐标;
@@ -112,7 +117,8 @@ public class LocationUtil{
float radius = location.getRadius(); //获取定位精度,默认值为0.0f float radius = location.getRadius(); //获取定位精度,默认值为0.0f
String coorType = location.getCoorType(); String coorType = location.getCoorType();
//获取经纬度坐标类型,以LocationClientOption中设置过的坐标类型为准 //获取经纬度坐标类型,以LocationClientOption中设置过的坐标类型为准
int errorCode = location.getLocType(); errorCode = location.getLocType();
String locTypeDescription = location.getLocTypeDescription();
//获取定位类型、定位错误返回码,具体信息可参照类参考中BDLocation类中的说明 //获取定位类型、定位错误返回码,具体信息可参照类参考中BDLocation类中的说明
Log.e("定位位置address",address+""); Log.e("定位位置address",address+"");
Log.e("定位坐标latitude",latitude+""); Log.e("定位坐标latitude",latitude+"");
@@ -12,12 +12,12 @@ import android.os.Message;
public class MsgUtil { public class MsgUtil {
public static void addHdMsgWat(Handler hd,int what){ public static void addHdMsgWat(Handler hd,int what){
Message msg=new Message(); Message msg=Message.obtain();
msg.what=what; msg.what=what;
hd.sendMessage(msg); hd.sendMessage(msg);
} }
public static void addHdMsgWatBody(Handler hd,int what,String body){ public static void addHdMsgWatBody(Handler hd,int what,String body){
Message msg=new Message(); Message msg=Message.obtain();
msg.what=what; msg.what=what;
msg.obj=body; msg.obj=body;
hd.sendMessage(msg); hd.sendMessage(msg);
@@ -0,0 +1,43 @@
package com.arpa.hndahesudintocctmsdriver.util.view;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.ColorMatrix;
import android.graphics.ColorMatrixColorFilter;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.widget.FrameLayout;
/**
* @ClassName GrayFrameLayout
* @Author 用户
* @Date 2023/1/29 15:28
* @Description TODO
*/
public class GrayFrameLayout extends FrameLayout {
private Paint mPaint = new Paint();
public GrayFrameLayout(Context context, AttributeSet attrs) {
super(context, attrs);
ColorMatrix cm = new ColorMatrix();
cm.setSaturation(0);
mPaint.setColorFilter(new ColorMatrixColorFilter(cm));
}
@Override
protected void dispatchDraw(Canvas canvas) {
canvas.saveLayer(null, mPaint, Canvas.ALL_SAVE_FLAG);
super.dispatchDraw(canvas);
canvas.restore();
}
@Override
public void draw(Canvas canvas) {
canvas.saveLayer(null, mPaint, Canvas.ALL_SAVE_FLAG);
super.draw(canvas);
canvas.restore();
}
}

Before

Width:  |  Height:  |  Size: 139 KiB

After

Width:  |  Height:  |  Size: 139 KiB

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 432 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 426 KiB

@@ -55,13 +55,13 @@
android:layout_width="@dimen/dp_90" android:layout_width="@dimen/dp_90"
android:layout_height="@dimen/dp_90" android:layout_height="@dimen/dp_90"
android:background="#EEEEEE"> android:background="#EEEEEE">
<ImageView <ImageView
android:layout_width="@dimen/dp_23" android:layout_width="@dimen/dp_23"
android:layout_height="@dimen/dp_23" android:layout_height="@dimen/dp_23"
android:layout_centerVertical="true" android:layout_centerInParent="true"
android:layout_centerHorizontal="true"
android:scaleType="fitXY" android:scaleType="fitXY"
android:src="@mipmap/up_img"/> android:src="@mipmap/up_img" />
</RelativeLayout> </RelativeLayout>
<RelativeLayout <RelativeLayout
android:layout_marginLeft="@dimen/dp_8" android:layout_marginLeft="@dimen/dp_8"
@@ -118,6 +118,7 @@
android:background="@drawable/bg_bai" android:background="@drawable/bg_bai"
android:elevation="@dimen/dp_1"> android:elevation="@dimen/dp_1">
<RelativeLayout <RelativeLayout
android:visibility="gone"
android:id="@+id/cow1" android:id="@+id/cow1"
android:layout_marginBottom="@dimen/dp_10" android:layout_marginBottom="@dimen/dp_10"
android:layout_width="match_parent" android:layout_width="match_parent"
@@ -130,28 +131,28 @@
android:textColor="#ffc4c4ce" android:textColor="#ffc4c4ce"
android:textSize="@dimen/sp_13" android:textSize="@dimen/sp_13"
/> />
<EditText <EditText
android:id="@+id/value1" android:id="@+id/value1"
android:layout_alignParentRight="true"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textColor="#ff999999" android:layout_alignParentRight="true"
android:textSize="@dimen/sp_13"
android:maxLines="1"
android:hint="点击进行手动输入"
android:ellipsize="end"
android:layout_marginLeft="@dimen/dp_30" android:layout_marginLeft="@dimen/dp_30"
android:gravity="right"
android:background="@null" android:background="@null"
/> android:ellipsize="end"
android:gravity="right"
android:hint="点击进行手动输入"
android:maxLines="1"
android:textColor="#ff999999"
android:textSize="@dimen/sp_13" />
</RelativeLayout> </RelativeLayout>
<View <View
android:visibility="gone"
android:id="@+id/vs" android:id="@+id/vs"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_1" android:layout_height="@dimen/dp_1"
android:background="@drawable/bottom_xu"/> android:background="@drawable/bottom_xu"/>
<RelativeLayout <RelativeLayout
android:layout_marginTop="@dimen/dp_10"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<TextView <TextView
+44 -38
View File
@@ -176,10 +176,12 @@
android:layout_centerVertical="true"/> android:layout_centerVertical="true"/>
</RelativeLayout> </RelativeLayout>
<View <View
android:visibility="gone"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_2" android:layout_height="@dimen/dp_2"
android:background="#F6F6F9"/> android:background="#F6F6F9"/>
<RelativeLayout <RelativeLayout
android:visibility="gone"
android:id="@+id/r6" android:id="@+id/r6"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
@@ -202,10 +204,12 @@
android:layout_centerVertical="true"/> android:layout_centerVertical="true"/>
</RelativeLayout> </RelativeLayout>
<View <View
android:visibility="gone"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_2" android:layout_height="@dimen/dp_2"
android:background="#F6F6F9"/> android:background="#F6F6F9"/>
<RelativeLayout <RelativeLayout
android:visibility="gone"
android:id="@+id/r7" android:id="@+id/r7"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
@@ -227,44 +231,7 @@
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:layout_centerVertical="true"/> android:layout_centerVertical="true"/>
</RelativeLayout> </RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_2"
android:background="#F6F6F9"/>
<RelativeLayout
android:id="@+id/r3"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_marginTop="@dimen/dp_20"
android:layout_marginBottom="@dimen/dp_20"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="道路运输证信息"
android:textColor="#ff000000"
android:textSize="@dimen/sp_15"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(4.5吨以上车辆需提交)"
android:textColor="#C4C4CE"
android:textSize="@dimen/sp_13"
/>
</LinearLayout>
<ImageView
android:layout_width="@dimen/dp_6"
android:layout_height="@dimen/dp_10"
android:src="@mipmap/chevron"
android:scaleType="fitXY"
android:background="@null"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"/>
</RelativeLayout>
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_2" android:layout_height="@dimen/dp_2"
@@ -303,6 +270,45 @@
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:layout_centerVertical="true"/> android:layout_centerVertical="true"/>
</RelativeLayout> </RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_2"
android:background="#F6F6F9"/>
<RelativeLayout
android:id="@+id/r3"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_marginTop="@dimen/dp_20"
android:layout_marginBottom="@dimen/dp_20"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="道路运输证信息"
android:textColor="#ff000000"
android:textSize="@dimen/sp_15"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="(4.5吨以上车辆需提交)"
android:textColor="#C4C4CE"
android:textSize="@dimen/sp_13"
/>
</LinearLayout>
<ImageView
android:layout_width="@dimen/dp_6"
android:layout_height="@dimen/dp_10"
android:src="@mipmap/chevron"
android:scaleType="fitXY"
android:background="@null"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"/>
</RelativeLayout>
<View <View
android:id="@+id/vs1" android:id="@+id/vs1"
android:layout_width="match_parent" android:layout_width="match_parent"
@@ -55,10 +55,11 @@
android:layout_width="@dimen/dp_90" android:layout_width="@dimen/dp_90"
android:layout_height="@dimen/dp_90" android:layout_height="@dimen/dp_90"
android:background="#EEEEEE"> android:background="#EEEEEE">
<ImageView <ImageView
android:id="@+id/img1" android:id="@+id/img1"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"/> android:layout_height="match_parent" />
</RelativeLayout> </RelativeLayout>
<LinearLayout <LinearLayout
android:layout_marginTop="@dimen/dp_13" android:layout_marginTop="@dimen/dp_13"
@@ -0,0 +1,225 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/activity_shangchuan"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_theme">
<ImageView
android:layout_width="@dimen/dp_300"
android:layout_height="@dimen/dp_207"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/dp_16"
android:src="@mipmap/top_creativity" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_58">
<ImageView
android:id="@+id/return_btn"
android:layout_width="@dimen/dp_40"
android:layout_height="@dimen/dp_31"
android:layout_marginLeft="@dimen/dp_30"
android:padding="@dimen/dp_10"
android:scaleType="fitXY"
android:src="@mipmap/return_lefts" />
<TextView
android:id="@+id/tv_loaction"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="@dimen/dp_30"
android:padding="@dimen/dp_5"
android:text="定位成功"
android:textColor="@color/theme_color"
android:textSize="@dimen/sp_14" />
</RelativeLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_8"
android:text="补传"
android:textColor="#ff000000"
android:textSize="@dimen/sp_23" />
<TextView
android:id="@+id/tvDate"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_50"
android:gravity="center_vertical"
android:hint="请选择时间"></TextView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<EditText
android:layout_weight="1"
android:id="@+id/etAddress"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_50"
android:hint="请输入地址"></EditText>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/red"
android:text="确定"
android:id="@+id/btnOk"
></Button>
</LinearLayout>
<TextView
android:id="@+id/tvLocation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
></TextView>
<TextView
android:id="@+id/name_top"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_8"
android:text="上传卸货照片"
android:textColor="#ff000000"
android:textSize="@dimen/sp_23" />
<androidx.cardview.widget.CardView
android:id="@+id/getImg1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_33"
android:layout_marginRight="@dimen/dp_38"
app:cardCornerRadius="@dimen/dp_8">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RelativeLayout
android:id="@+id/getImg"
android:layout_width="@dimen/dp_90"
android:layout_height="@dimen/dp_90"
android:layout_marginLeft="@dimen/dp_11"
android:layout_marginTop="@dimen/dp_13"
android:layout_marginBottom="@dimen/dp_13"
android:background="#EEEEEE">
<ImageView
android:id="@+id/res_img"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ImageView
android:id="@+id/img_icon"
android:layout_width="@dimen/dp_23"
android:layout_height="@dimen/dp_23"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@mipmap/up_img" />
<ImageView
android:id="@+id/img_delete"
android:layout_width="@dimen/dp_25"
android:layout_height="@dimen/dp_25"
android:layout_alignParentRight="true"
android:padding="@dimen/dp_3"
android:src="@mipmap/icon_delete"
android:visibility="gone" />
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_8"
android:layout_marginTop="@dimen/dp_13"
android:layout_marginRight="@dimen/dp_10"
android:orientation="vertical">
<TextView
android:id="@+id/name_body"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_7"
android:text="卸货照片"
android:textColor="#ff000000"
android:textSize="@dimen/sp_13" />
<TextView
android:id="@+id/address"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_13"
android:text=""
android:textColor="#ff999999"
android:textSize="@dimen/sp_13" />
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_10"
android:layout_marginRight="@dimen/dp_38">
<TextView
android:id="@+id/tips_x"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="*"
android:textColor="#E61829"
android:visibility="gone" />
<TextView
android:id="@+id/tips"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="卸货照片包含车牌号、三分之二车身或者卸货场景"
android:textColor="#E61829"
android:visibility="gone" />
</LinearLayout>
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="@dimen/dp_42"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_33"
android:layout_marginRight="@dimen/dp_38"
app:cardBackgroundColor="@color/red"
app:cardCornerRadius="@dimen/dp_21">
<TextView
android:id="@+id/submit"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:gravity="center"
android:text="提交"
android:textColor="#fff"
android:textSize="@dimen/sp_15" />
</androidx.cardview.widget.CardView>
</LinearLayout>
</RelativeLayout>
@@ -477,7 +477,7 @@
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_102"/> android:layout_height="@dimen/dp_40"/>
<Button <Button
android:id="@+id/submit" android:id="@+id/submit"
+17
View File
@@ -99,6 +99,8 @@
android:textSize="@dimen/sp_17" android:textSize="@dimen/sp_17"
android:background="@null" android:background="@null"
android:layout_marginBottom="@dimen/dp_3"/> android:layout_marginBottom="@dimen/dp_3"/>
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:layout_marginTop="@dimen/dp_8" android:layout_marginTop="@dimen/dp_8"
@@ -122,6 +124,7 @@
android:progressDrawable="@drawable/par_bg" android:progressDrawable="@drawable/par_bg"
/> />
<TextView <TextView
android:id="@+id/tvContent"
android:layout_marginTop="@dimen/dp_6" android:layout_marginTop="@dimen/dp_6"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@@ -131,6 +134,20 @@
android:layout_gravity="center" android:layout_gravity="center"
/> />
</LinearLayout> </LinearLayout>
<Button
android:visibility="gone"
android:layout_marginLeft="@dimen/dp_18"
android:layout_marginRight="@dimen/dp_18"
android:id="@+id/tvOk"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="立即安装"
android:textColor="@color/theme_color"
android:textSize="@dimen/sp_17"
android:background="@null"
android:layout_marginBottom="@dimen/dp_13"/>
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/force_box" android:id="@+id/force_box"
+2 -1
View File
@@ -46,7 +46,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="vertical"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:visibility="gone"> android:visibility="gone"
>
<androidx.cardview.widget.CardView <androidx.cardview.widget.CardView
android:id="@+id/btn_news" android:id="@+id/btn_news"
+2 -2
View File
@@ -10,7 +10,7 @@
android:layout_marginLeft="@dimen/dp_13" android:layout_marginLeft="@dimen/dp_13"
android:layout_width="@dimen/dp_290" android:layout_width="@dimen/dp_290"
android:layout_height="@dimen/dp_56" android:layout_height="@dimen/dp_56"
android:src="@mipmap/icon_home_1" android:src="@drawable/icon_home_1"
android:scaleType="fitXY"/> android:scaleType="fitXY"/>
<ImageView <ImageView
@@ -20,7 +20,7 @@
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:layout_marginRight="@dimen/dp_13" android:layout_marginRight="@dimen/dp_13"
android:scaleType="fitXY" android:scaleType="fitXY"
android:src="@mipmap/icon_home_2" /> android:src="@drawable/icon_home_2" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
@@ -22,6 +22,7 @@
android:layout_marginLeft="@dimen/dp_10" android:layout_marginLeft="@dimen/dp_10"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical">
<LinearLayout <LinearLayout
android:layout_marginTop="@dimen/dp_7" android:layout_marginTop="@dimen/dp_7"
@@ -37,10 +38,11 @@
android:id="@+id/name" android:id="@+id/name"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:singleLine="true"
android:textSize="@dimen/sp_13" /> android:textSize="@dimen/sp_13" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:layout_marginTop="@dimen/dp_7" android:layout_marginTop="@dimen/dp_18"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal"> android:orientation="horizontal">
@@ -51,12 +53,13 @@
android:text="店铺地址:"/> android:text="店铺地址:"/>
<TextView <TextView
android:id="@+id/address" android:id="@+id/address"
android:singleLine="true"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="@dimen/sp_13" /> android:textSize="@dimen/sp_13" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:layout_marginTop="@dimen/dp_7" android:layout_marginTop="@dimen/dp_18"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal"> android:orientation="horizontal">
@@ -64,13 +67,15 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="@dimen/sp_13" android:textSize="@dimen/sp_13"
android:text="口味:"/> android:text="联系方式:"/>
<TextView <TextView
android:id="@+id/taste" android:id="@+id/taste"
android:singleLine="true"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="@dimen/sp_13" /> android:textSize="@dimen/sp_13" />
<TextView <TextView
android:visibility="gone"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="@dimen/sp_13" android:textSize="@dimen/sp_13"
@@ -81,6 +86,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="@dimen/sp_13" /> android:textSize="@dimen/sp_13" />
<TextView <TextView
android:visibility="gone"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="@dimen/sp_13" android:textSize="@dimen/sp_13"
+53 -52
View File
@@ -1,66 +1,68 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/item_huoyuan_new"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="vertical"
android:id="@+id/item_huoyuan_new"
android:paddingBottom="@dimen/dp_78"> android:paddingBottom="@dimen/dp_78">
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_200" android:layout_height="@dimen/dp_200"
android:orientation="vertical" android:background="@drawable/bg_banner"
android:background="@drawable/bg_banner"> android:orientation="vertical">
<com.youth.banner.Banner <com.youth.banner.Banner
android:layout_marginTop="@dimen/dp_12"
android:id="@+id/banner" android:id="@+id/banner"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_gravity="center" android:layout_gravity="center"
android:layout_margin="@dimen/dp_25"/> android:layout_margin="@dimen/dp_25"
android:layout_marginTop="@dimen/dp_12" />
</LinearLayout> </LinearLayout>
<RelativeLayout <LinearLayout
android:layout_marginTop="@dimen/dp_m_12"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_m_12">
<ImageView <ImageView
android:id="@+id/fun_left" android:id="@+id/fun_left"
android:layout_marginLeft="@dimen/dp_8"
android:layout_width="@dimen/dp_176" android:layout_width="@dimen/dp_176"
android:layout_height="@dimen/dp_116" android:layout_height="@dimen/dp_116"
android:src="@mipmap/icon_home_3" android:layout_marginLeft="@dimen/dp_8"
android:scaleType="fitXY"/> android:layout_weight="1"
android:background="@mipmap/icon_home_3"
android:scaleType="fitXY" />
<ImageView <ImageView
android:id="@+id/fun_right" android:id="@+id/fun_right"
android:layout_width="@dimen/dp_176" android:layout_width="@dimen/dp_176"
android:layout_height="@dimen/dp_116" android:layout_height="@dimen/dp_116"
android:layout_alignParentRight="true"
android:layout_marginRight="8dp" android:layout_marginRight="8dp"
android:scaleType="fitXY" android:layout_weight="1"
android:src="@mipmap/icon_home_4" /> android:background="@mipmap/icon_home_4"
android:scaleType="fitXY" />
</RelativeLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical">
<RelativeLayout <RelativeLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_23" android:layout_height="@dimen/dp_23"
android:visibility="gone"> android:visibility="gone">
<View <View
android:layout_width="@dimen/dp_54" android:layout_width="@dimen/dp_54"
android:layout_height="@dimen/dp_3" android:layout_height="@dimen/dp_3"
android:background="#999999" android:layout_centerHorizontal="true"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:layout_centerHorizontal="true"/> android:background="#999999" />
</RelativeLayout> </RelativeLayout>
<LinearLayout <LinearLayout
@@ -69,11 +71,11 @@
android:orientation="vertical"> android:orientation="vertical">
<com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView <com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView
android:layout_marginBottom="@dimen/dp_14"
android:id="@+id/brv_function" android:id="@+id/brv_function"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:overScrollMode="never"/> android:layout_marginBottom="@dimen/dp_14"
android:overScrollMode="never" />
</LinearLayout> </LinearLayout>
@@ -81,54 +83,53 @@
<LinearLayout <LinearLayout
android:id="@+id/auth_box" android:id="@+id/auth_box"
android:layout_marginTop="@dimen/dp_4"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:layout_marginTop="@dimen/dp_4"
android:background="#fff" android:background="#fff"
android:orientation="vertical"
android:visibility="gone"> android:visibility="gone">
<TextView <TextView
android:id="@+id/text_login" android:id="@+id/text_login"
android:layout_marginTop="@dimen/dp_20"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="@dimen/dp_20"
android:text="认证成功 开始接单" android:text="认证成功 开始接单"
android:textColor="#ff666666" android:textColor="#ff666666"
android:textSize="@dimen/sp_14" android:textSize="@dimen/sp_14" />
android:layout_gravity="center"
/>
<Button <Button
android:id="@+id/btn_auth" android:id="@+id/btn_auth"
android:layout_marginTop="@dimen/dp_7"
android:layout_marginBottom="@dimen/dp_16"
android:layout_width="@dimen/dp_60" android:layout_width="@dimen/dp_60"
android:layout_height="@dimen/dp_24" android:layout_height="@dimen/dp_24"
android:text="去认证"
android:background="@drawable/bg_btn"
android:textColor="#ffffffff"
android:textSize="@dimen/sp_10"
android:layout_gravity="center" android:layout_gravity="center"
android:gravity="center" /> android:layout_marginTop="@dimen/dp_7"
android:layout_marginBottom="@dimen/dp_16"
android:background="@drawable/bg_btn"
android:gravity="center"
android:text="去认证"
android:textColor="#ffffffff"
android:textSize="@dimen/sp_10" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/order_box" android:id="@+id/order_box"
android:layout_marginTop="@dimen/dp_4"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:layout_marginTop="@dimen/dp_4"
android:background="#fff" android:background="#fff"
android:orientation="vertical"
android:visibility="gone"> android:visibility="gone">
<RelativeLayout <RelativeLayout
android:layout_marginTop="@dimen/dp_24"
android:layout_marginLeft="@dimen/dp_20"
android:layout_marginRight="@dimen/dp_20"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_24"
android:layout_marginRight="@dimen/dp_20">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -136,35 +137,36 @@
android:text="执行中运单" android:text="执行中运单"
android:textColor="#ff333333" android:textColor="#ff333333"
android:textSize="@dimen/sp_16" android:textSize="@dimen/sp_16"
android:textStyle="bold" android:textStyle="bold" />
/>
<LinearLayout <LinearLayout
android:id="@+id/order_all" android:id="@+id/order_all"
android:layout_alignParentRight="true"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:orientation="horizontal"> android:orientation="horizontal">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="全部运单" android:text="全部运单"
android:textColor="#ff999999" android:textColor="#ff999999"
android:textSize="@dimen/sp_14" android:textSize="@dimen/sp_14" />
/>
<ImageView <ImageView
android:layout_marginLeft="@dimen/dp_4"
android:layout_width="@dimen/dp_7" android:layout_width="@dimen/dp_7"
android:layout_height="@dimen/dp_12" android:layout_height="@dimen/dp_12"
android:src="@mipmap/chevron" android:layout_gravity="center"
android:layout_gravity="center"/> android:layout_marginLeft="@dimen/dp_4"
android:src="@mipmap/chevron" />
</LinearLayout> </LinearLayout>
</RelativeLayout> </RelativeLayout>
<com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView <com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView
android:layout_marginBottom="@dimen/dp_12"
android:id="@+id/brv_order" android:id="@+id/brv_order"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"/> android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/dp_12" />
</LinearLayout> </LinearLayout>
<!-- <LinearLayout <!-- <LinearLayout
android:layout_marginTop="@dimen/dp_4" android:layout_marginTop="@dimen/dp_4"
@@ -251,6 +253,5 @@
android:layout_marginBottom="@dimen/dp_5" android:layout_marginBottom="@dimen/dp_5"
android:alpha="0.6"/> android:alpha="0.6"/>
</LinearLayout>--> </LinearLayout>-->
<include <include layout="@layout/item_order_recommend" />
layout="@layout/item_order_recommend"/>
</LinearLayout> </LinearLayout>
@@ -0,0 +1,100 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/dp_16"
android:background="@color/white"
android:elevation="@dimen/dp_5"
app:cardCornerRadius="@dimen/dp_10">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical">
<TextView
android:layout_marginTop="@dimen/dp_10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="提示"
android:textStyle="bold"
android:textColor="@color/red"
android:textSize="@dimen/sp_20"></TextView>
<TextView
android:lineSpacingExtra="@dimen/dp_6"
android:gravity="center"
android:id="@+id/tvContent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_14"
android:textColor="#D86B6B"
android:textSize="@dimen/sp_14"
tools:text="提示"></TextView>
<TextView
android:id="@+id/tvMessage2"
android:lineSpacingExtra="@dimen/dp_6"
android:gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_14"
android:textColor="@color/color_9"
android:textSize="@dimen/sp_14"
android:text="请重新登录或联系管理员"></TextView>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_6"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="联系电话:"
android:textColor="@color/black"
android:textSize="@dimen/sp_14"></TextView>
<TextView
android:id="@+id/tvPhone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="13783631930"
android:textColor="#009688"
android:textSize="@dimen/sp_16"></TextView>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_10"
android:orientation="horizontal"
android:paddingTop="@dimen/dp_10"
android:paddingBottom="@dimen/dp_10">
<TextView
android:id="@+id/tvCancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="取消"
android:textSize="@dimen/sp_16"></TextView>
<TextView
android:id="@+id/tvOk"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="确认拨打"
android:textColor="@color/colorPrimary"
android:textSize="@dimen/sp_16"></TextView>
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/dp_16"
android:background="@color/white"
android:elevation="@dimen/dp_5"
app:cardCornerRadius="@dimen/dp_10">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical">
<TextView
android:layout_marginTop="@dimen/dp_10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="提示"
android:textStyle="bold"
android:textColor="@color/black"
android:textSize="@dimen/sp_20"></TextView>
<TextView
android:paddingLeft="@dimen/dp_10"
android:paddingRight="@dimen/dp_10"
android:lineSpacingExtra="@dimen/dp_6"
android:gravity="center"
android:id="@+id/tvContent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_14"
android:textColor="#333"
android:textSize="@dimen/sp_14"
tools:text="提示"></TextView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_10"
android:orientation="horizontal"
android:paddingTop="@dimen/dp_10"
android:paddingBottom="@dimen/dp_10">
<TextView
android:id="@+id/tvCancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="取消"
android:textSize="@dimen/sp_16"></TextView>
<TextView
android:id="@+id/tvOk"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="去注册"
android:textColor="@color/colorPrimary"
android:textSize="@dimen/sp_16"></TextView>
</LinearLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
Binary file not shown.
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,5 +1,5 @@
<resources> <resources>
<string name="app_name">大河好运司机</string> <!-- <string name="appName">大河好运司机</string>-->
<!--设置界面--> <!--设置界面-->
<string name="alivc_recorder_setting_min_record_duration">最小时长</string> <string name="alivc_recorder_setting_min_record_duration">最小时长</string>
<string name="alivc_recorder_setting_max_record_duration">最大时长</string> <string name="alivc_recorder_setting_max_record_duration">最大时长</string>

Some files were not shown because too many files have changed in this diff Show More