Compare commits

..
68 Commits
Author SHA1 Message Date
lijia 4ac0511f08 webview添加loading 2024-09-09 15:51:39 +08:00
lijia 1d9e8baed8 电子签1版 2024-09-09 14:57:02 +08:00
lijia d385764b56 取消运单优化 2024-09-04 16:05:05 +08:00
lijia eeadd1d196 首页添加执行中运单跳转功能 2024-09-04 09:23:31 +08:00
lijia 0e9224a034 用户注册添加银行卡逻辑,首页添加银行卡提示入口 2024-08-27 09:27:30 +08:00
lijia a20d49ecdf 协议https无法打开,临时切回http 2024-08-05 15:00:02 +08:00
lijia 7a89c41ed2 68版 2024-08-05 09:00:26 +08:00
lijia 894246456a 添加运单金额隐藏逻辑 2024-08-01 15:10:45 +08:00
lijia 212d12db47 LocationManager定位封装 2024-07-25 16:49:56 +08:00
lijia 9db4b16e24 https无法打开处理 2024-07-23 15:59:00 +08:00
lijia 361ad6111c 手机信息上报完善 2024-07-23 15:31:04 +08:00
lijia 8ba586c204 手机信息上报 2024-07-23 11:03:23 +08:00
lijia c45e623a58 67版本 2024-07-23 09:43:51 +08:00
lijia b6d43b53e5 高德地图key替换 2024-07-23 09:04:40 +08:00
lijia 553dbeed41 道路运输证查看大图 2024-07-22 11:28:20 +08:00
lijia 3e67b50097 迁移https 2024-07-18 16:02:17 +08:00
lijia c6a5363cfe 银行卡解绑显示错乱优化 2024-07-17 11:34:31 +08:00
lijia ba031f075c 登录也优化点击范围 2024-07-17 09:12:30 +08:00
lijia ef6247fc22 卸货,装卸回单添加loading 2024-07-16 17:38:32 +08:00
lijia 9766690957 66版本 2024-07-16 11:03:49 +08:00
lijia 1009561bde 高德企业账号key替换 2024-07-15 17:20:29 +08:00
lijia 0d3e35d6f7 新增司机,车辆显示错乱修复 2024-07-15 11:29:21 +08:00
lijia c1355629eb 页面显示bug修复 2024-07-10 17:24:36 +08:00
lijia 06cc3ba9db 修复软键盘与输入框联动以及提交添加loading 2024-07-10 15:05:19 +08:00
lijia 9202ba437c 车辆详情偶发不刷新问题处理 2024-07-09 10:18:07 +08:00
lijia 93b36a59b3 新增牵引车后转挂车报错优化 2024-07-08 10:29:25 +08:00
lijia 9600c213d4 删除车辆刷新列表奔溃处理 2024-07-08 09:49:52 +08:00
lijia bc86fdf444 补充VersionCode请求头 2024-07-05 10:34:09 +08:00
lijia bc135b9e98 车头,挂车,道路运输证新增绑定逻辑,优化车辆解绑逻辑 2024-07-04 16:50:35 +08:00
lijia 141c38182f 协议网址替换 2024-06-21 10:38:03 +08:00
lijia 491c9b8c84 装卸货,回单添加loading 2024-06-21 08:53:53 +08:00
lijia ce1356509b 整改优化 2024-06-17 11:19:25 +08:00
lijia 7e40fef702 隐私协议统一替换 2024-05-22 15:09:14 +08:00
lijia 6071e05014 协议临时性替换 2024-05-20 16:43:45 +08:00
lijia dba86a51e9 添加备案号 2024-04-27 09:49:05 +08:00
lijia 4e38376f74 上传银行卡防抖处理 2024-04-22 15:33:55 +08:00
lijia 2842812fb0 图标修复 2024-04-17 14:29:08 +08:00
lijia 4dddcc5d96 拍照bug修复 2024-01-04 15:29:33 +08:00
lijia f352932fa9 3.3.3版本 2023-11-09 14:54:09 +08:00
lijia b6645b7d1f 3.3.2版本 2023-11-08 15:31:58 +08:00
lijia 109a713850 从业资格证重复上传优化 2023-11-02 16:26:40 +08:00
lijia fb164ccb15 更换极光推送key 2023-10-19 14:45:30 +08:00
lijia d3915a92a0 多渠道高德key动态切换 2023-10-16 14:34:17 +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
142 changed files with 19193 additions and 26255 deletions
+71 -61
View File
@@ -3,6 +3,7 @@ plugins {
id 'kotlin-android'
id 'kotlin-kapt'
id 'com.huawei.agconnect'
id 'kotlin-android-extensions'
}
android {
@@ -15,34 +16,37 @@ android {
keyPassword '123456'
storeFile file('key.jks')
storePassword '123456'
v1SigningEnabled true
v2SigningEnabled true
}
debug {
keyAlias 'key0'
keyPassword '123456'
storeFile file('key.jks')
storePassword '123456'
}
release {
keyAlias 'key0'
keyPassword '123456'
storeFile file('key.jks')
storePassword '123456'
}
// debug {
// keyAlias 'key0'
// keyPassword '123456'
// storeFile file('key.jks')
// storePassword '123456'
// }
// release {
// keyAlias 'key0'
// keyPassword '123456'
// storeFile file('key.jks')
// storePassword '123456'
// }
}
defaultConfig {
applicationId "com.arpa.hndahesudintocctmsdriver"
minSdkVersion 22
minSdkVersion 24
targetSdkVersion 30
versionCode 51
versionName "3.2.0"
versionCode 68
versionName "3.3.8"
flavorDimensions "CHANNEL_VALUE"
flavorDimensions "app_icon"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
javaCompileOptions {
annotationProcessorOptions {
includeCompileClasspath = true
arguments = [moduleName :project.getName() ]
arguments = [moduleName: project.getName()]
}
}
@@ -53,27 +57,7 @@ android {
// 还可以添加 '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 {
// main {
// jniLibs.srcDirs = ['libs']
// }
// }
sourceSets {
main {
@@ -85,9 +69,10 @@ android {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.config
}
debug {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.config
}
}
compileOptions {
@@ -103,7 +88,7 @@ android {
}
}
repositories{
repositories {
flatDir {
dirs 'libs'
}
@@ -111,28 +96,53 @@ android {
productFlavors {
qa {
manifestPlaceholders = [CHANNEL_VALUE: "大河好运司机"]
buildConfigField("String", "OPEN_API_URL", "\"http://192.168.111.244:4009\"")
buildConfigField("String", "BASE_URL", "\"http://app.dahehuoyun.com/api/\"")
applicationId "com.arpa.hndahesudintocctmsdriver.text"
manifestPlaceholders = [CHANNEL_VALUE: "司机测试",
app_icon : "@drawable/diver_logo_text",
GAODEKEY : "6791d69f6221a0841b521763af86eb01",
JPUSH_PKGNAME: applicationId,
JPUSH_APPKEY : "fba6f55621c670d8c1fe9191", //JPush 上注册的包名对应的 Appkey.
JPUSH_CHANNEL: "developer-default"//暂时填写默认值即可.
]
buildConfigField("String", "OPEN_AL_URL", "\"https://oapi-staging.alct56.com\"")
buildConfigField("String", "BASE_URL", "\"https://app.test.dahehuoyun.com/api/\"")
buildConfigField "boolean", "isTest", "true"
//APP名称,可以在androidMainfest中引用
resValue "string", "appName", "司机测试"
}
product {
manifestPlaceholders = [CHANNEL_VALUE: "大河好运司机"]
buildConfigField("String", "OPEN_API_URL", "\"https://oapi.alct56.com\"")
applicationId "com.arpa.hndahesudintocctmsdriver"
manifestPlaceholders = [CHANNEL_VALUE: "大河好运司机",
app_icon : "@drawable/diver_logo",
GAODEKEY : "9480fd96746922630e9bf6c75a101059",
JPUSH_PKGNAME: applicationId,
JPUSH_APPKEY : "fba6f55621c670d8c1fe9191", //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 ->
flavor.manifestPlaceholders = [CHANNEL_VALUE: name]
}
// productFlavors.all { flavor ->
// flavor.manifestPlaceholders = [CHANNEL_VALUE: name]
// }
android.applicationVariants.all { variant ->
variant.outputs.all {
def date = new Date().format("MMdd_HH-mm" , TimeZone.getTimeZone("GMT+08"))
if(variant.buildType.name.equals('release')){
outputFileName = "dhhy-driver-"+date+"-${versionName}.apk"
def date = new Date().format("MMdd_HH-mm", TimeZone.getTimeZone("GMT+08"))
def isText = variant.productFlavors[0].properties.get("buildConfigFields").getAt("isTest").properties.get("value")
def appName = null
if (isText == "true") {
appName = '大河好运司机测试_'
} else {
appName = '大河好运司机_'
}
outputFileName = appName + "${variant.buildType.name}_${defaultConfig.versionName}_${date}.apk"
}
}
lintOptions {
@@ -156,13 +166,13 @@ dependencies {
//角标
implementation 'com.haozhang.libary:android-slanted-textview:1.2'
//刷新头部,底部样式
implementation 'com.scwang.smart:refresh-layout-kernel:2.0.1'
implementation 'com.scwang.smart:refresh-header-material: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-layout-kernel:2.0.1'
implementation 'com.scwang.smart:refresh-header-material: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.github.jenly1314.AppUpdater:app-updater:1.1.0'
implementation 'com.github.jenly1314.AppUpdater:app-dialog:1.1.0'
implementation 'com.github.jenly1314.AppUpdater:app-updater:1.2.0'
implementation 'com.github.jenly1314.AppUpdater:app-dialog:1.2.0'
//轮播插件
implementation 'com.github.zhpanvip:BannerViewPager:3.5.4'
//
@@ -174,7 +184,7 @@ dependencies {
implementation 'com.alibaba:fastjson:1.2.61'
implementation 'org.bouncycastle:bcprov-jdk15on:1.55'
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'
@@ -189,10 +199,10 @@ dependencies {
//友盟
// 下面各SDK根据宿主App是否使用相关业务按需引入。
// 友盟统计SDK
implementation 'com.umeng.umsdk:common:9.4.2'// 必选
implementation 'com.umeng.umsdk:asms:1.4.1'// 必选
implementation 'com.umeng.umsdk:common:9.4.2'// 必选
implementation 'com.umeng.umsdk:asms:1.4.1'// 必选
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"
@@ -201,8 +211,8 @@ dependencies {
//EventBus
implementation 'org.greenrobot:eventbus:3.1.1'
//易签宝
implementation(name:'EsignSDK', ext:'aar')
implementation'pub.devrel:easypermissions:1.3.0'
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"
+78 -55
View File
@@ -2,9 +2,9 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
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="com.huawei.permission.external_app_settings.USE_COMPONENT"/>
<!-- 基础权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
@@ -53,55 +53,32 @@
android:name="com.arpa.hndahesudintocctmsdriver.App"
android:allowBackup="true"
android:excludeFromRecents="true"
android:icon="@drawable/diver_logo"
android:label="@string/app_name"
android:icon="@mipmap/diver_logo"
android:label="@string/appName"
android:largeHeap="true"
android:requestLegacyExternalStorage="true"
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true"
tools:replace="android:icon">
tools:replace="android:label,android:allowBackup">
<uses-library
android:name="com/alct/mdp"
android:required="false" />
<service
android:name=".ui.text.TestNotificationListenerService"
android:enabled="true"
android:exported="true"
android:label="@string/app_name"
android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"><!--必要的绑定权限-->
<intent-filter>
<action android:name="android.service.notification.NotificationListenerService" /><!--必要的action-->
</intent-filter>
</service>
<service
android:name=".ui.text.TestService"
android:directBootAware="true"
android:enabled="true"
android:exported="true"
android:label="@string/app_name"
android:foregroundServiceType="phoneCall|mediaPlayback|dataSync|mediaProjection|connectedDevice|location" />
<activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.MainActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:exported="true"
android:launchMode="singleTop"
android:screenOrientation="portrait"></activity>
<activity
android:name=".ui.text.TextActivity"
android:exported="true">
</activity>
android:screenOrientation="portrait" ></activity>
<activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.wallet.WithdrawalActivity"
android:screenOrientation="portrait" />
android:screenOrientation="portrait" />
<activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.wallet.UpBankActivity"
android:screenOrientation="portrait" />
android:screenOrientation="portrait"/>
<activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.OrderAllActivity"
android:screenOrientation="portrait" />
@@ -116,17 +93,11 @@
android:screenOrientation="portrait" />
<activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.auth.PhotoCarActivity"
android:screenOrientation="portrait" />
<activity
android:name="com.huawei.systemmanager.startupmgr.ui.StartupNormalAppListActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
android:windowSoftInputMode="adjustPan|stateHidden"
android:screenOrientation="portrait" />
<activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.auth.VehicleAuthActivity"
android:screenOrientation="portrait" />
android:screenOrientation="portrait"/>
<activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivity"
android:screenOrientation="portrait">
@@ -139,16 +110,45 @@
<data android:mimeType="*/*" />
</intent-filter>
</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.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
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.GetShangChuanActivity"
android:screenOrientation="portrait" />
android:screenOrientation="portrait"/>
<activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.auth.AuthQualificationActivity"
android:screenOrientation="portrait" />
android:screenOrientation="portrait"/>
<activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.OrderListActivity"
android:screenOrientation="portrait" />
android:screenOrientation="portrait"/>
<activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.HuoYunDelActivity"
android:screenOrientation="portrait">
@@ -161,15 +161,17 @@
</activity>
<activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity"
android:screenOrientation="portrait" />
android:windowSoftInputMode="adjustPan|stateHidden"
android:screenOrientation="portrait"/>
<activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.auth.AddCarSuccActivity"
android:screenOrientation="portrait" />
android:screenOrientation="portrait"/>
<activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.login.LoginActivity"
android:screenOrientation="portrait" />
android:screenOrientation="portrait"/>
<activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.login.WelcomeActivity"
android:exported="true"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -190,10 +192,10 @@
</activity>
<activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.drivercircle.VideoReleaseActivity"
android:screenOrientation="portrait" />
android:screenOrientation="portrait"/>
<activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.WebPDFActivity"
android:screenOrientation="portrait" />
android:screenOrientation="portrait"/>
<activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.StartYunDanActivity"
android:screenOrientation="portrait">
@@ -201,13 +203,13 @@
</activity>
<activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.drivercircle.HomePageActivity"
android:screenOrientation="portrait" />
android:screenOrientation="portrait"/>
<activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.alert.VehicleChoiceActivity"
android:screenOrientation="portrait" />
android:screenOrientation="portrait"/>
<activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.OrderComplaintActivity"
android:screenOrientation="portrait" />
android:screenOrientation="portrait"/>
<activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.web.WebActivity"
android:screenOrientation="portrait"
@@ -221,7 +223,7 @@
<activity
android:name=".ui.news.NewActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateAlwaysHidden" />
android:windowSoftInputMode="stateAlwaysHidden" />
<service
android:name="com.arpa.hndahesudintocctmsdriver.service.TrackService"
@@ -263,8 +265,8 @@
<!--高德地图-->
<meta-data
android:name="com.amap.api.v2.apikey"
android:value="78019612271411eca3af34db91930620" />
<!-- android:value="702eaa84675618b8eb69298d9fd42ca3" />-->
android:value="${GAODEKEY}" />
<!-- android:value="702eaa84675618b8eb69298d9fd42ca3" />-->
<service android:name="com.amap.api.location.APSService"></service>
@@ -275,7 +277,7 @@
<!-- 极光-->
<meta-data
android:name="JPUSH_APPKEY"
android:value="571d93ae5117da6dee848c92" /> <!-- </>值来自开发者平台取得的AppKey -->
android:value="fba6f55621c670d8c1fe9191" /> <!-- </>值来自开发者平台取得的AppKey -->
<meta-data
android:name="JPUSH_CHANNEL"
@@ -357,6 +359,27 @@
</intent-filter>
</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
android:name="com.arpa.hndahesudintocctmsdriver.push.XService"
android:enabled="true"
@@ -377,7 +400,7 @@
</receiver>
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="com.arpa.hndahesudintocctmsdriver.fileprovider"
android:authorities="${applicationId}.fileprovider"
android:exported="false"
android:grantUriPermissions="true"
tools:ignore="WrongManifestParent">
@@ -2,57 +2,52 @@ package com.arpa.hndahesudintocctmsdriver;
import android.app.ActivityManager;
import android.app.Application;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.ApplicationInfo;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.os.Build;
import android.util.Log;
import com.alct.mdp.MDPLocationCollectionManager;
import com.arpa.hndahesudintocctmsdriver.report.JTTProcess;
import com.arpa.hndahesudintocctmsdriver.request.net.Api;
import com.arpa.hndahesudintocctmsdriver.ui.text.TestNotificationListenerService;
import com.arpa.hndahesudintocctmsdriver.ui.MainActivity;
import com.arpa.hndahesudintocctmsdriver.util.BillLocationUtils;
import com.dahe.mylibrary.CommonBaseLibrary;
import com.dahe.mylibrary.utils.ToastUtils;
import com.esign.esignsdk.EsignSdk;
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 cn.jiguang.verifysdk.api.JVerificationInterface;
public class App extends Application {
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 = "f9d35b1133cff1f6e3960c89b249e03f";
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_NORMAL = 1; // 表示应用时正常的启动流程
public static int APP_STATUS = APP_STATUS_KILLED; // 记录App的启动状态
private Context con;
public static App mApplication = null;
/**
* 启动服务
*/
private void startService() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
/****************第三点*******************/
//安卓8.0以上开启为前台服务
startForegroundService(new Intent(this, App.class));
} else {
startService(new Intent(this, App.class));
}
startService(new Intent(this, TestNotificationListenerService.class));
}
@Override
public void onCreate() {
super.onCreate();
startService();
mApplication = this;
con = getBaseContext();
CommonBaseLibrary.getInstance().init(this, Api.BASE_URL);
CrashReport.initCrashReport(getApplicationContext(), "0fa55ffad8", false);
String state = SPUtil.getSP(con, "state_data", "authorization_state");
if ("1".equals(state)) {
try {
@@ -64,7 +59,7 @@ public class App extends Application {
//安联初始化
if (context.getPackageName().equals(getCurrentProcessName(context))) {
//Log.e("--使用的测试环境--",BuildConfig.OPEN_API_URL);
MDPLocationCollectionManager.initialize(this, "https://oapi.alct56.com");
MDPLocationCollectionManager.initialize(this, BuildConfig.OPEN_AL_URL);
}
//在使用SDK各组件之前初始化context信息,传入ApplicationContext
// 路由初始化
@@ -83,17 +78,29 @@ public class App extends Application {
}
}
Cactus.getInstance()
.isDebug(true)
// .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)
.register(this);
// 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() {
@@ -114,6 +121,10 @@ public class App extends Application {
UMConfigure.init(getApplicationContext(), UMConfigure.DEVICE_TYPE_PHONE, "");
}
private void getBillLocation() {
BillLocationUtils.getInstance().getBillLocation(con);
}
private static String getCurrentProcessName(Context context) {
String currentProcessName = "";
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);
}
}
@@ -0,0 +1,157 @@
package com.arpa.hndahesudintocctmsdriver.bean;
import android.os.Build;
import android.provider.Settings;
import androidx.activity.result.contract.ActivityResultContracts;
import com.arpa.hndahesudintocctmsdriver.App;
import com.dahe.mylibrary.utils.AppUtils;
import java.util.Locale;
/**
* @ClassName AppInfoBean
* @Author john
* @Date 2024/7/22 15:31
* @Description TODO
*/
public class AppInfoBean {
private String userPhone;
private String macIpaddr = Settings.Secure.getString(App.getApp().getContentResolver(),Settings.Secure.ANDROID_ID);
// private String macIpaddr = android.os.Build.ID;
private String clientSource = "driver";
private String status = "";
private String mobilePhoneManufacturerName = android.os.Build.BRAND;
private String mobilePhoneProductName = android.os.Build.MODEL;
private String mobilePhoneMotherboardName = android.os.Build.BOARD;
private String mobilePhoneHardwareName = android.os.Build.DEVICE;
private String mobilePhoneMachineSystemLanguage = Locale.getDefault().getLanguage();
private String androidVersion=android.os.Build.VERSION.RELEASE;
private String androidSystemSdk = android.os.Build.VERSION.SDK_INT+"";
private String appVersionName = AppUtils.getAppVersionName();
private String appVersionNumber = AppUtils.getAppVersionCode()+"";
public String getUserPhone() {
return userPhone;
}
public void setUserPhone(String userPhone) {
this.userPhone = userPhone;
}
public String getMacIpaddr() {
return macIpaddr;
}
public void setMacIpaddr(String macIpaddr) {
this.macIpaddr = macIpaddr;
}
public String getClientSource() {
return clientSource;
}
public void setClientSource(String clientSource) {
this.clientSource = clientSource;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getMobilePhoneManufacturerName() {
return mobilePhoneManufacturerName;
}
public void setMobilePhoneManufacturerName(String mobilePhoneManufacturerName) {
this.mobilePhoneManufacturerName = mobilePhoneManufacturerName;
}
public String getMobilePhoneProductName() {
return mobilePhoneProductName;
}
public void setMobilePhoneProductName(String mobilePhoneProductName) {
this.mobilePhoneProductName = mobilePhoneProductName;
}
public String getMobilePhoneMotherboardName() {
return mobilePhoneMotherboardName;
}
public void setMobilePhoneMotherboardName(String mobilePhoneMotherboardName) {
this.mobilePhoneMotherboardName = mobilePhoneMotherboardName;
}
public String getMobilePhoneHardwareName() {
return mobilePhoneHardwareName;
}
public void setMobilePhoneHardwareName(String mobilePhoneHardwareName) {
this.mobilePhoneHardwareName = mobilePhoneHardwareName;
}
public String getMobilePhoneMachineSystemLanguage() {
return mobilePhoneMachineSystemLanguage;
}
public void setMobilePhoneMachineSystemLanguage(String mobilePhoneMachineSystemLanguage) {
this.mobilePhoneMachineSystemLanguage = mobilePhoneMachineSystemLanguage;
}
public String getAndroidVersion() {
return androidVersion;
}
public void setAndroidVersion(String androidVersion) {
this.androidVersion = androidVersion;
}
public String getAndroidSystemSdk() {
return androidSystemSdk;
}
public void setAndroidSystemSdk(String androidSystemSdk) {
this.androidSystemSdk = androidSystemSdk;
}
public String getAppVersionName() {
return appVersionName;
}
public void setAppVersionName(String appVersionName) {
this.appVersionName = appVersionName;
}
public String getAppVersionNumber() {
return appVersionNumber;
}
public void setAppVersionNumber(String appVersionNumber) {
this.appVersionNumber = appVersionNumber;
}
@Override
public String toString() {
return "AppInfoBean{" +
"userPhone='" + userPhone + '\'' +
", macIpaddr='" + macIpaddr + '\'' +
", clientSource='" + clientSource + '\'' +
", status='" + status + '\'' +
", mobilePhoneManufacturerName='" + mobilePhoneManufacturerName + '\'' +
", mobilePhoneProductName='" + mobilePhoneProductName + '\'' +
", mobilePhoneMotherboardName='" + mobilePhoneMotherboardName + '\'' +
", mobilePhoneHardwareName='" + mobilePhoneHardwareName + '\'' +
", mobilePhoneMachineSystemLanguage='" + mobilePhoneMachineSystemLanguage + '\'' +
", androidVersion='" + androidVersion + '\'' +
", androidSystemSdk='" + androidSystemSdk + '\'' +
", appVersionName='" + appVersionName + '\'' +
", appVersionNumber='" + appVersionNumber + '\'' +
'}';
}
}
@@ -66,6 +66,11 @@ public class CarDelBean {
private String owner;
private String roadLicense;
private String roadLicensePhoto;
private String trailerLicenseId;
private String policyPhotoUrl;
private String insuranceCompany;
private String insuranceEndDay;
private String roadLicenseSend;
private String roadLicenseValidity;
private String threeImage;
@@ -77,6 +82,23 @@ public class CarDelBean {
private String registerNo;
private String carEnergyTypValue;
private String carPlateColorValue;
private String needUpQCPhoto;
public String getTrailerLicenseId() {
return trailerLicenseId;
}
public void setTrailerLicenseId(String trailerLicenseId) {
this.trailerLicenseId = trailerLicenseId;
}
public String getNeedUpQCPhoto() {
return needUpQCPhoto;
}
public void setNeedUpQCPhoto(String needUpQCPhoto) {
this.needUpQCPhoto = needUpQCPhoto;
}
public String getCarPlateColorValue() {
return carPlateColorValue;
@@ -86,6 +108,30 @@ public class CarDelBean {
this.carPlateColorValue = carPlateColorValue;
}
public String getPolicyPhotoUrl() {
return policyPhotoUrl == null ? "" : policyPhotoUrl;
}
public void setPolicyPhotoUrl(String policyPhotoUrl) {
this.policyPhotoUrl = policyPhotoUrl;
}
public String getInsuranceCompany() {
return insuranceCompany == null ? "" : insuranceCompany;
}
public void setInsuranceCompany(String insuranceCompany) {
this.insuranceCompany = insuranceCompany;
}
public String getInsuranceEndDay() {
return insuranceEndDay == null ? "" : insuranceEndDay;
}
public void setInsuranceEndDay(String insuranceEndDay) {
this.insuranceEndDay = insuranceEndDay;
}
public String getCarEnergyTypValue() {
return carEnergyTypValue;
}
@@ -262,6 +308,15 @@ public class CarDelBean {
private String threeImage;
private String type;
private String vehicleNumber;
private String trailerLicenseId;
public String getTrailerLicenseId() {
return trailerLicenseId;
}
public void setTrailerLicenseId(String trailerLicenseId) {
this.trailerLicenseId = trailerLicenseId;
}
public String getBackImage() {
return backImage == null ? "" : backImage;
@@ -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 {
private int carId;
private String needUpQCPhoto;
private String isTrailer;
private String needUpRLPhoto;
public String getNeedUpRLPhoto() {
return needUpRLPhoto;
}
public void setNeedUpRLPhoto(String needUpRLPhoto) {
this.needUpRLPhoto = needUpRLPhoto;
}
public String getIsTrailer() {
return isTrailer;
}
public void setIsTrailer(String isTrailer) {
this.isTrailer = isTrailer;
}
public String getNeedUpQCPhoto() {
return needUpQCPhoto;
}
public void setNeedUpQCPhoto(String needUpQCPhoto) {
this.needUpQCPhoto = needUpQCPhoto;
}
public int getCarId() {
return carId;
@@ -48,6 +48,33 @@ public class DriverExpireBean {
public static class DataDTO {
private String driverLicenseUpdateUrl;
private String idCardUpdateUrl;
private String qualificationUpdateUrl;
private String roadLicenseUpdateUrl;
private String insuranceUpdateUrl;
public String getRoadLicenseUpdateUrl() {
return roadLicenseUpdateUrl;
}
public void setRoadLicenseUpdateUrl(String roadLicenseUpdateUrl) {
this.roadLicenseUpdateUrl = roadLicenseUpdateUrl;
}
public String getInsuranceUpdateUrl() {
return insuranceUpdateUrl;
}
public void setInsuranceUpdateUrl(String insuranceUpdateUrl) {
this.insuranceUpdateUrl = insuranceUpdateUrl;
}
public String getQualificationUpdateUrl() {
return qualificationUpdateUrl;
}
public void setQualificationUpdateUrl(String qualificationUpdateUrl) {
this.qualificationUpdateUrl = qualificationUpdateUrl;
}
public String getDriverLicenseUpdateUrl() {
return driverLicenseUpdateUrl;
@@ -59,6 +59,7 @@ public class OCRVehicleBackLicenseBean {
private int id;
private String url;
private String checkRecord;
private String isSave;
private String approvedCapacity;
private String allCapacity;
private String size;
@@ -71,6 +72,14 @@ public class OCRVehicleBackLicenseBean {
private String carNumber;
private int licenseId;
public String getIsSave() {
return isSave;
}
public void setIsSave(String isSave) {
this.isSave = isSave;
}
public int getLicenseId() {
return licenseId;
}
@@ -49,7 +49,9 @@ public class OCRVehicleLicenseBean {
private String address;
private int carId;
private String carNumber;
private boolean carExist;
private String dateIssue;
private String backImage;
private String engineNumber;
private int id;
private String model;
@@ -60,6 +62,41 @@ public class OCRVehicleLicenseBean {
private String type;
private String url;
private String vehicleNumber;
private String licenseId;
public String getLicenseId() {
return licenseId;
}
public void setLicenseId(String licenseId) {
this.licenseId = licenseId;
}
private DataDto2 existCarInfo;
public DataDto2 getExistCarInfo() {
return existCarInfo;
}
public void setExistCarInfo(DataDto2 existCarInfo) {
this.existCarInfo = existCarInfo;
}
public boolean isCarExist() {
return carExist;
}
public String getBackImage() {
return backImage;
}
public void setBackImage(String backImage) {
this.backImage = backImage;
}
public void setCarExist(boolean carExist) {
this.carExist = carExist;
}
public String getAddress() {
return address == null ? "" : address;
@@ -173,4 +210,44 @@ public class OCRVehicleLicenseBean {
this.vehicleNumber = vehicleNumber;
}
}
public static class DataDto2 {
private String backImage;
private String carId;
private String licenseId;
private CarDelBean.DataDTO trailerResVo;
public CarDelBean.DataDTO getTrailerResVo() {
return trailerResVo;
}
public void setTrailerResVo(CarDelBean.DataDTO trailerResVo) {
this.trailerResVo = trailerResVo;
}
public String getLicenseId() {
return licenseId;
}
public void setLicenseId(String licenseId) {
this.licenseId = licenseId;
}
public String getBackImage() {
return backImage == null ? "" : backImage;
}
public void setBackImage(String backImage) {
this.backImage = backImage;
}
public String getCarId() {
return carId;
}
public void setCarId(String carId) {
this.carId = carId;
}
}
}
@@ -257,6 +257,7 @@ public class StartOrderBean {
private String realityTimeDate;
private int status;
private String longitude;
private String imageTakenDate;
private String latitude;
private List<GoodsDTO> goods;
private int report;
@@ -280,6 +281,14 @@ public class StartOrderBean {
private String distance;
private int isEvaluation;
public String getImageTakenDate() {
return imageTakenDate;
}
public void setImageTakenDate(String imageTakenDate) {
this.imageTakenDate = imageTakenDate;
}
public long getId() {
return id;
}
@@ -0,0 +1,41 @@
package com.arpa.hndahesudintocctmsdriver.bean;
import java.io.Serializable;
/**
* @ClassName ToH5Bean
* @Author john
* @Date 2024/9/9 10:01
* @Description TODO
*/
public class ToH5Bean implements Serializable {
private int id;
private String carNumber;
private String carId;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getCarNumber() {
return carNumber;
}
public void setCarNumber(String carNumber) {
this.carNumber = carNumber;
}
public String getCarId() {
return carId;
}
public void setCarId(String carId) {
this.carId = carId;
}
}
@@ -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,67 @@
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.*
import org.bouncycastle.jcajce.provider.symmetric.Rijndael
/**
* @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 titleLeft: String
lateinit var titleReft: String
lateinit var secMessage: String
constructor(context: Context, message: String,titleLeft:String = "取消",titleRight: String = "去注册") : this(context) {
content = message
this.titleReft = titleRight
this.titleLeft = titleLeft
}
override fun getImplLayoutId() = R.layout.pop_sim_center
override fun onCreate() {
super.onCreate()
tvCancel.text = titleLeft
tvOk.text = titleReft
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;
}
}
@@ -0,0 +1,16 @@
package com.arpa.hndahesudintocctmsdriver.event;
/**
* @author hlh
* @version 1.0.0
* @date 2021/10/20 14:43
* @description:
*/
public class HomeWaybillEvent {
public HomeWaybillEvent() {
}
}
@@ -0,0 +1,22 @@
package com.arpa.hndahesudintocctmsdriver.event;
/**
* @author hlh
* @version 1.0.0
* @date 2021/10/20 14:43
* @description:
*/
public class PdfResEvent {
private String message;
public PdfResEvent(String message) {
this.message = message;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
@@ -0,0 +1,21 @@
package com.arpa.hndahesudintocctmsdriver.event;
/**
* @author hlh
* @version 1.0.0
* @date 2021/11/2 18:51
* @description:
*/
public class RefreshCarListEvent {
private String message;
public RefreshCarListEvent(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.OnResultListener;
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.util.MessageUtils;
import com.arpa.hndahesudintocctmsdriver.util.msg.MsgUtil;
import com.google.gson.Gson;
import com.arpa.hndahesudintocctmsdriver.bean.DriverAuthDataBean;
import com.arpa.hndahesudintocctmsdriver.bean.FqBean;
@@ -28,15 +32,23 @@ public class ALProcess {
//企业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";
public static void verification(Context con){
DriverAuthDataBean auth= AuthParts.getAuth(con);
Identity idy=new Identity();
//企业代码
idy.setEnterpriseCode(ENTERPRISE_CODE);
idy.setEnterpriseCode(BuildConfig.isTest?ENTERPRISE_CODE_TEXT:ENTERPRISE_CODE);
//企业app的身份码
idy.setAppIdentity(APP_IDENTITY);
idy.setAppIdentity(BuildConfig.isTest?APP_IDENTITY_TEXT:APP_IDENTITY);
//企业app验证码
idy.setAppKey(APP_KEY);
idy.setAppKey(BuildConfig.isTest?APP_KEY_TEXT:APP_KEY);
//司机身份证
idy.setDriverIdentity(auth.getData().getIdcard());
//idy.setDriverIdentity("410725198311042012");
@@ -50,6 +62,7 @@ public class ALProcess {
@Override
public void onFailure(java.lang.String s, java.lang.String 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){
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
public void onSuccess() {
@@ -99,7 +112,7 @@ public class ALProcess {
// @param enterpriseCode 企业号
// @param nfcId NFC id
// @param listener 回调函数
MDPLocationCollectionManager.checkNfc(con, shipmentCode,ENTERPRISE_CODE, nfcId, new OnResultListener() {
MDPLocationCollectionManager.checkNfc(con, shipmentCode,ENTERPRISE_CODE, nfcId, new OnResultListener() {
@Override
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);
}
});
}
}
@@ -124,6 +124,17 @@ public class AuthRequest {
RequestUtil.start(1, "saveCarRoadLicenseNo", re, con, hd);
}
//车辆交强保险
public void saveTrafficInsurance(Context con, Handler hd, String id, String insuranceEndDay, String insuranceCompany) {
String mt = "{\n" +
"\t\"carId\": \"" + id + "\",\n" +
"\t\"insuranceEndDay\": \"" + insuranceEndDay + "\",\n" +
"\t\"insuranceCompany\": \"" + insuranceCompany + "\",\n" +
"}";
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getTrafficInsurance(), mt), getToken(con), con);
RequestUtil.start(1, "saveTrafficInsurance", re, con, hd);
}
//获取资格证认证信息
public void isDriverAuthQualification(Context con, Handler hd) {
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getIsAuthDriverAuthQualification(), ""), getToken(con), con);
@@ -72,6 +72,15 @@ public class HuoYuanRequset{
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getAgreeOrder(),MapUtil.mapJson(map)),getToken(con),con);
RequestUtil.start(1, HuoYunDelActivity.END,re,con,hd);
}
public void confirm(String cid,String contractUrl,int wid){
Map<String,Object> map=new HashMap<>();
map.put("carId",cid);
map.put("orderId",wid);
map.put("contractUrl",contractUrl);
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getAgreeOrder(),MapUtil.mapJson(map)),getToken(con),con);
RequestUtil.start(1, HuoYunDelActivity.END,re,con,hd);
}
//获取执行中的运单
public void startOrder(int id){
Map<String,Object> map=new HashMap<>();
@@ -89,6 +98,11 @@ public class HuoYuanRequset{
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getUNLOADING(), gson.toJson(lub)),getToken(con),con);
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){
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getUploadReceipt(), gson.toJson(urib)),getToken(con),con);
@@ -49,8 +49,8 @@ public class OCRRequest {
RequestUtil.start(12, CertificatesActivity.TYPE_NAME[2],re,con,hd);
}
//行驶证背面识别
public void OCRVehicleLicenseBack(Context con, Handler hd, File file,String carId,String carNum){
Request re = OkHttpUtil.postFiles(new OkDate(RequestConstant.getVehicleLicenseBack()),file,getToken(con),carId,carNum);
public void OCRVehicleLicenseBack(Context con, Handler hd, File file,String carId,String carNum,boolean isSave){
Request re = OkHttpUtil.postFiles(new OkDate(RequestConstant.getVehicleLicenseBack()),file,getToken(con),carId,carNum,isSave);
RequestUtil.start(12, CertificatesActivity.TYPE_NAME_BANK[2],re,con,hd);
}
@@ -59,4 +59,9 @@ public class OCRRequest {
RequestUtil.start(12, "carName",re,con,hd);
}
public void OCRCarPlateLicense(Context con, Handler hd, File file){
Request re = OkHttpUtil.postFile(new OkDate(RequestConstant.getPlateLicense2()),getToken(con),file);
RequestUtil.start(12, "carNum",re,con,hd);
}
}
@@ -1,195 +1,210 @@
package com.arpa.hndahesudintocctmsdriver.request;
import com.arpa.hndahesudintocctmsdriver.BuildConfig;
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
public static String BASE_URL ="http://app.dahehuoyun.com/api";
public static String BASE_URL = BuildConfig.BASE_URL;
//版本更新/app/check/version
public static String VERSION ="/app/check/version";
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 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/save";
private static final String INS_BANKCARD = "/app/bankCard/bandCard";
// 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/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/unBindCar";
//上传车辆照片
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识别--
//银行卡识别
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 DRIVER_TRAFFIC_INSU = "/app/carDriver/saveCarInsurace";
//党员认证
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";
private static final String APP_INFO = "/common/app/logininfor";
public static String getCarAudit(){
return BASE_URL +CAR_AUDIT;
public static String getCarAudit() {
return BASE_URL + CAR_AUDIT;
}
public static String getCarColor(){
return BASE_URL +CAR_COLOR;
public static String postAppInfo() {
return BASE_URL + APP_INFO;
}
public static String getCarEnergyType(){
public static String getCarColor() {
return BASE_URL + CAR_COLOR;
}
public static String getCarEnergyType() {
return BASE_URL + CAR_ENERGYTYPE;
}
//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() {
return BASE_URL +SEND_CODE;
return BASE_URL + SEND_CODE;
}
public static String getREGUrl() {
return BASE_URL +REG;
return BASE_URL + REG;
}
public static String getLoginUrl() {
return BASE_URL +LOGIN;
return BASE_URL + LOGIN;
}
public static String getDriverAuthInfoUrl() {
return BASE_URL +DRIVER_AUTH_INFO;
return BASE_URL + DRIVER_AUTH_INFO;
}
public static String getGoodsHallUrl() {
return BASE_URL +GOODS_HALL;
return BASE_URL + GOODS_HALL;
}
public static String getGoodsDelUrl() {
return BASE_URL +GOODS_DEL;
return BASE_URL + GOODS_DEL;
}
public static String getUserUrl() {
@@ -204,197 +219,243 @@ public class RequestConstant {
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() {
return BASE_URL +ORDER_LIST;
return BASE_URL + ORDER_LIST;
}
public static String getAgreeOrder() {
return BASE_URL +AGREE_ORDER;
return BASE_URL + AGREE_ORDER;
}
public static String getGetStartOrder() {
return BASE_URL +GET_START_ORDER;
return BASE_URL + GET_START_ORDER;
}
public static String getGetCarryContract() {
return BASE_URL +GET_CARRY_CONTRACT;
return BASE_URL + GET_CARRY_CONTRACT;
}
public static String getEVALUATIONV2() {
return BASE_URL +EVALUATIONV2;
return BASE_URL + EVALUATIONV2;
}
public static String getLOADING() {
return BASE_URL +LOADING;
return BASE_URL + LOADING;
}
public static String getUNLOADING() {
return BASE_URL +UNLOADING;
return BASE_URL + UNLOADING;
}
public static String getUNLOADING4() {
return BASE_URL + UNLOADING4;
}
public static String getGetEvaluate() {
return BASE_URL +GET_EVALUATE;
return BASE_URL + GET_EVALUATE;
}
public static String getGetComplaint() {
return BASE_URL +GET_COMPLAINT;
return BASE_URL + GET_COMPLAINT;
}
public static String getOrcBank() {
return BASE_URL +ORC_BANK;
return BASE_URL + ORC_BANK;
}
public static String getIdCardFront() {
return BASE_URL +ID_CARD_FRONT;
return BASE_URL + ID_CARD_FRONT;
}
public static String getIdCardBack() {
return BASE_URL +ID_CARD_BACK;
return BASE_URL + ID_CARD_BACK;
}
public static String getDrivingLicense() {
return BASE_URL +DRIVING_LICENSE;
return BASE_URL + DRIVING_LICENSE;
}
public static String getDrivingLicenseBack() {
return BASE_URL +DRIVING_LICENSE_BACK;
return BASE_URL + DRIVING_LICENSE_BACK;
}
public static String getVehicleLicense() {
return BASE_URL +VEHICLE_LICENSE;
return BASE_URL + VEHICLE_LICENSE;
}
public static String getVehicleLicenseBack() {
return BASE_URL +VEHICLE_LICENSE_BACK;
return BASE_URL + VEHICLE_LICENSE_BACK;
}
public static String getGetCarList() {
return BASE_URL +GET_CAR_LIST;
return BASE_URL + GET_CAR_LIST;
}
public static String getGetCarDel() {
return BASE_URL +GET_CAR_DEL;
return BASE_URL + GET_CAR_DEL;
}
public static String getCodeData() {
return BASE_URL +CODE_DATA;
return BASE_URL + CODE_DATA;
}
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() {
return BASE_URL +DRIVERAUTHIDCARD;
return BASE_URL + DRIVERAUTHIDCARD;
}
public static String getDRIVERAUTHLICENSE() {
return BASE_URL +DRIVERAUTHLICENSE;
return BASE_URL + DRIVERAUTHLICENSE;
}
public static String getSAVEVEHICLELICENSE() {
return BASE_URL +SAVEVEHICLELICENSE;
return BASE_URL + SAVEVEHICLELICENSE;
}
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() {
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 getTrafficInsurance() {
return BASE_URL + DRIVER_TRAFFIC_INSU;
}
public static String getSaveDrawCar() {
return BASE_URL + SAVE_DRAW_CAR;
}
public static String getIsAuthDriverAuthQualification() {
return BASE_URL+IS_AUTH_DRIVER_AUTH_QUALIFICATION;
return BASE_URL + IS_AUTH_DRIVER_AUTH_QUALIFICATION;
}
public static String getVERSION() {
return BASE_URL+VERSION;
return BASE_URL + VERSION;
}
public static String getAddContracts() {
return BASE_URL+ADD_CONTRACTS;
return BASE_URL + ADD_CONTRACTS;
}
public static String getGetContracts() {
return BASE_URL+GET_CONTRACTS;
return BASE_URL + GET_CONTRACTS;
}
public static String getTIXIAN() {
return BASE_URL+TIXIAN;
return BASE_URL + TIXIAN;
}
public static String getPartyMember() {
return BASE_URL+PARTY_MEMBER;
return BASE_URL + PARTY_MEMBER;
}
public static String getCONFIG() {
return BASE_URL+CONFIG;
return BASE_URL + CONFIG;
}
public static String getChangeRecord() {
return BASE_URL+CHANGE_RECORD;
return BASE_URL + CHANGE_RECORD;
}
public static String getChangeCharge() {
return BASE_URL+WITHDRAWALS_CHARGE;
return BASE_URL + WITHDRAWALS_CHARGE;
}
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() {
return BASE_URL+GET_EXAMPLE_LIST;
return BASE_URL + GET_EXAMPLE_LIST;
}
public static String getAuthUrl() {
return BASE_URL+AUTH_URL;
return BASE_URL + AUTH_URL;
}
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() {
return BASE_URL+GET_IMAGE;
return BASE_URL + GET_IMAGE;
}
public static String getGetCertificateExpired() {
return BASE_URL+GET_CERTIFICATE_EXPIRED;
return BASE_URL + GET_CERTIFICATE_EXPIRED;
}
}
@@ -10,6 +10,7 @@ import android.provider.Settings;
import androidx.annotation.RequiresApi;
import com.arpa.hndahesudintocctmsdriver.bean.AppInfoBean;
import com.arpa.hndahesudintocctmsdriver.event.VehicleEvent;
import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity;
import com.arpa.hndahesudintocctmsdriver.ui.business.Md5Util;
@@ -118,6 +119,14 @@ public class UserRequset {
RequestUtil.start(1, WoDeFragment.VEHICLE_DEL, re, con, hd);
}
//车辆详情
public void vehicleDelTwo(String id) {
Map<String, Object> map = new HashMap<>();
map.put("carId", id);
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getGetCarDel(), MapUtil.mapJson(map)), getToken(con), con);
RequestUtil.start(1, "onlyGetDetail", re, con, hd);
}
//司机身份证认证
public void driverIDAuth() {
String url = RequestConstant.BASE_URL + "/app/driver/auth/authInfo";
@@ -154,7 +163,7 @@ public class UserRequset {
/**
* 判断是否开启未知应用安装权限
*/
private void isOpenAppNoRe(){
private void isOpenAppNoRe() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
boolean b = con.getPackageManager().canRequestPackageInstalls();
if (!b) {
@@ -169,8 +178,8 @@ public class UserRequset {
@RequiresApi(api = Build.VERSION_CODES.O)
private void startInstallPermissionSettingActivity() {
//注意这个是8.0新API
Uri packageURI = Uri.parse("package:" +con.getPackageName());
Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES,packageURI);
Uri packageURI = Uri.parse("package:" + con.getPackageName());
Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES, packageURI);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
con.startActivity(intent);
}
@@ -221,7 +230,18 @@ public class UserRequset {
public void carAudit(String carId) {
Map<String, Object> map = new HashMap<>();
map.put("carId", carId);
Request re = OkHttpUtil.get(new OkDate(RequestConstant.getCarAudit(),"get", Md5Util.resNoUrl(map)),getToken(con));
Request re = OkHttpUtil.get(new OkDate(RequestConstant.getCarAudit(), "get", Md5Util.resNoUrl(map)), getToken(con));
RequestUtil.start(1, VehicleAuthActivity.CAR_AUDIO, re, con, hd);
}
public void postAppInfo(AppInfoBean appInfoBean, String type) {
// Request re = OkHttpUtil.get(new OkDate(RequestConstant.getCarAudit(),"get", gson.toJson(appInfoBean)),getToken(con));
Request re;
if ("put".equals(type)) {
re = OkHttpUtil.put(new OkDate(RequestConstant.postAppInfo(), type, gson.toJson(appInfoBean)), con);
} else {
re = OkHttpUtil.post(new OkDate(RequestConstant.postAppInfo(), type, gson.toJson(appInfoBean)), con);
}
RequestUtil.start(1, VehicleAuthActivity.APP_INFO, re, con, hd);
}
}
@@ -15,6 +15,15 @@ public class LUInputBean {
private String locationAddress;
private String longitude;
private String waybillId;
private String realLoadTime;
public String getRealLoadTime() {
return realLoadTime;
}
public void setRealLoadTime(String realLoadTime) {
this.realLoadTime = realLoadTime;
}
public List<Integer> getImageId() {
return imageId;
@@ -23,8 +23,8 @@ public interface Api {
//获取版本
String VERSION = BASE_URL + "app/version";
@POST(BASE_URL+"/common/register")
Observable<CommonResponseBean> log(@Body LoginRegInputBean bean);
// @POST(BASE_URL+"/common/register")
// Observable<CommonResponseBean> log(@Body LoginRegInputBean bean);
}
@@ -10,6 +10,7 @@ import android.util.Log;
import androidx.annotation.Nullable;
import com.arpa.hndahesudintocctmsdriver.R;
import com.arpa.hndahesudintocctmsdriver.request.HuoYuanRequset;
import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup;
import com.arpa.hndahesudintocctmsdriver.util.http.RequsetCodeConstants;
@@ -27,11 +28,14 @@ public class MakeUpService extends Service {
public void palyMp3(){
Log.e("开始播放","-----");
try {
AssetFileDescriptor fd =getAssets().openFd("kujp9scu.mp3");
mediaPlayer.setDataSource(fd);
mediaPlayer.setLooping(false);//设置为循环播放
mediaPlayer.prepare();//初始化播放器MediaPlayer
mediaPlayer.start();
MediaPlayer mediaPlayer = MediaPlayer.create(this, R.raw.kujp9scu);
mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
mediaPlayer.start();
}
});
mediaPlayer.prepareAsync();
Log.e("播放成功","-----");
} catch (Exception e) {
e.printStackTrace();
@@ -1,6 +1,7 @@
package com.arpa.hndahesudintocctmsdriver.ui
import android.Manifest
import android.annotation.SuppressLint
import android.content.Intent
import android.os.Build
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.PanDuanUtil
import com.google.gson.Gson
import com.gyf.cactus.ext.cactusUpdateNotification
import com.permissionx.guolindev.PermissionX
@Suppress("DIVISION_BY_ZERO")
@SuppressLint("SetTextI18n")
class MainActivity : BaseAppCompatActivity() {
private var ibs = arrayOf<ImageView>()
@@ -37,7 +41,8 @@ class MainActivity : BaseAppCompatActivity() {
1 -> {
isExit = false;
}
RequsetCodeConstants.SUCCESS -> {}
RequsetCodeConstants.SUCCESS -> {
}
}
}
@@ -45,6 +50,10 @@ class MainActivity : BaseAppCompatActivity() {
super.onCreate(savedInstanceState)
StateStyleUtil.stateTextColor(this)
setContentView(R.layout.activity_main)
cactusUpdateNotification {
setTitle("好运司机")
setContent("您的接单小助手")
}
con = this
act = this
//隐藏标题栏
@@ -126,7 +135,12 @@ class MainActivity : BaseAppCompatActivity() {
PermissionX.init(this)
.permissions(Manifest.permission.ACCESS_FINE_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 ->
if (allGranted) {
@@ -147,6 +161,7 @@ class MainActivity : BaseAppCompatActivity() {
fun jumpLogin() {
var inl = Intent(con, LoginActivity::class.java)
startActivity(inl)
}
@@ -1,7 +1,11 @@
package com.arpa.hndahesudintocctmsdriver.ui.alert;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.provider.Settings;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.LinearLayout;
@@ -12,6 +16,8 @@ import androidx.annotation.NonNull;
import com.king.app.updater.AppUpdater;
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.arpa.hndahesudintocctmsdriver.R;
@@ -27,11 +33,11 @@ import java.io.File;
*/
public class UpAppAlert extends CenterPopupView {
private TextView content,vs;
private Button tv_cancel,tv_confirm;
private TextView content, vs, tvContent;
private Button tv_cancel, tv_confirm, tvOk;
private LinearLayout up_div;
private String url="";
private String body="";
private String url = "";
private String body = "";
private Context con;
private ProgressBar progress_view;
private String version;
@@ -39,19 +45,20 @@ public class UpAppAlert extends CenterPopupView {
private LinearLayout force_box;
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);
con=context;
this.url=url;
this.body=body;
this.version=version;
this.force=force;
con = context;
this.url = url;
this.body = body;
this.version = version;
this.force = force;
}
@Override
protected int getImplLayoutId() {
return R.layout.alert_up_app;
}
public UpAppAlert(@NonNull @NotNull Context context) {
super(context);
@@ -60,15 +67,17 @@ public class UpAppAlert extends CenterPopupView {
@Override
protected void onCreate() {
super.onCreate();
content=findViewById(R.id.tv_content);
tv_cancel=findViewById(R.id.tv_cancel);
tv_confirm=findViewById(R.id.tv_confirm);
up_div=findViewById(R.id.up_div);
progress_view=findViewById(R.id.progress);
content=findViewById(R.id.tv_content);
force_box=findViewById(R.id.force_box);
force_btn=findViewById(R.id.force_btn);
if(force.equals("1")){
content = findViewById(R.id.tv_content);
tv_cancel = findViewById(R.id.tv_cancel);
tv_confirm = findViewById(R.id.tv_confirm);
tvContent = findViewById(R.id.tvContent);
tvOk = findViewById(R.id.tvOk);
up_div = findViewById(R.id.up_div);
progress_view = findViewById(R.id.progress);
content = findViewById(R.id.tv_content);
force_box = findViewById(R.id.force_box);
force_btn = findViewById(R.id.force_btn);
if (force.equals("1")) {
force_box.setVisibility(GONE);
}
force_btn.setOnClickListener(v -> {
@@ -76,16 +85,16 @@ public class UpAppAlert extends CenterPopupView {
dismiss();
//detachFromHost();
});
vs=findViewById(R.id.vs);
vs = findViewById(R.id.vs);
content.setText(body);
vs.setText(version);
tv_cancel.setOnClickListener(v -> {
System.exit(1);
});
tv_confirm.setOnClickListener(v -> {
new AppUpdater.Builder()
new AppUpdater.Builder(con)
.setUrl(url)
.build(con)
.build()
.setUpdateCallback(new AppUpdateCallback() {
@Override
public void onStart(String url) {
@@ -93,23 +102,28 @@ public class UpAppAlert extends CenterPopupView {
tv_confirm.setVisibility(GONE);
up_div.setVisibility(VISIBLE);
}
@Override
public void onProgress(long progress, long total, boolean isChange) {
// Log.e("progress",progress+"");
// Log.e("total",total+"");
// Log.e("isChange",isChange+"");
float sum=progress;
float max=total;
if(progress>0){
float b=sum/max;
Log.e("百分比",(100*b)+"");
progress_view.setProgress((int) (100*b));
float sum = progress;
float max = total;
if (progress > 0) {
float b = sum / max;
Log.e("百分比", (100 * b) + "");
progress_view.setProgress((int) (100 * b));
}
}
@Override
public void onFinish(File file) {
tvContent.setText("下载完成,请及时安装!");
tvOk.setVisibility(VISIBLE);
tvOk.setOnClickListener(v1 -> {
AppUtils.installApk(getContext(), file, getContext().getPackageName() + Constants.DEFAULT_FILE_PROVIDER);
});
}
})
.start();
@@ -18,10 +18,13 @@ import android.widget.Toast;
import androidx.annotation.Nullable;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.arpa.hndahesudintocctmsdriver.parts.UserParts;
import com.arpa.hndahesudintocctmsdriver.util.string.StringUtil;
import com.bumptech.glide.Glide;
import com.esign.esignsdk.EsignSdk;
import com.esign.esignsdk.data.AuthEvent;
import com.github.gzuliyujiang.wheelpicker.DatePicker;
import com.github.gzuliyujiang.wheelpicker.annotation.DateMode;
import com.google.gson.Gson;
@@ -43,6 +46,9 @@ import com.arpa.hndahesudintocctmsdriver.util.file.ImageFileCompressUtil;
import com.arpa.hndahesudintocctmsdriver.util.http.RequsetCodeConstants;
import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity;
import com.lxj.xpopup.util.SmartGlideImageLoader;
import org.greenrobot.eventbus.Subscribe;
import java.io.File;
import java.util.List;
@@ -59,7 +65,7 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
private RelativeLayout up_img, cow1;
private LinearLayout data_view;
private ImageView img;
private TextView zjimg_name, upload_img, name2, title1, title2, tvSkip,tvTips;
private TextView zjimg_name, upload_img, name2, title1, title2, tvSkip, tvTips;
private View vs;
private EditText value1;
private Button submit;
@@ -100,16 +106,33 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("driverAuthQualification"), BaseBean.class);
if (bb.getCode() == 200) {
// initAuth();
//从业资格证->实名认证
// finish();
if (key) {
key = false;
new AuthRequest().getAuthUrl(con, hd);
new Handler().postDelayed(() -> {
key = true;
}, 3000);
isAuth = true;
//判断是否从车辆进来 carId为空从个人认证进来需跳转实名认证,不为空车辆信息进入,需跳转车辆照片
if (TextUtils.isEmpty(carId)) {
//从业资格证->实名认证
if (key) {
key = false;
new AuthRequest().getAuthUrl(con, hd);
new Handler().postDelayed(() -> {
key = true;
}, 3000);
}
} else {
finish();
if (isOverCar){//从业资格证=》道路运输许可证
Intent in = new Intent(con, PhotoCarActivity.class);
in.putExtra("type", 3);
in.putExtra("carId", carId);
startActivity(in);
}else{//资料传完 补传情况
Intent in = new Intent(con, AddCarSuccActivity.class);
in.putExtra("type", 3);
con.startActivity(in);
}
}
Toast.makeText(con, "资格证上传成功", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show();
@@ -135,9 +158,10 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
Log.e("url", CacheGroup.cacheList.get("authUrl"));
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("authUrl"), BaseBean.class);
if (bb.getCode() == 200) {
finish();
// finish();
EsignSdk.getInstance().startH5Activity(act, StringUtil.isNull(String.valueOf(bb.getData()), ""));
} else {
finish();
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_LONG).show();
}//Log.e("url",CacheGroup.cacheList.get("authUrl"));
CacheGroup.cacheList.remove("authUrl");
@@ -153,6 +177,8 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
}
private String type = "0";
private String carId = "";
private boolean isOverCar = false;
private UserBean userBean;
@Override
@@ -161,7 +187,7 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
StateStyleUtil.stateTextColor(this);
setContentView(R.layout.activity_auth_qualification);
con = this;
act=this;
act = this;
img = findViewById(R.id.img);
zjimg_name = findViewById(R.id.zjimg_name);
upload_img = findViewById(R.id.upload_img);
@@ -178,6 +204,8 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
vs = findViewById(R.id.vs);
data_view = findViewById(R.id.data_view);
type = getIntent().getExtras().getString("type");
carId = getIntent().getExtras().getString("carId", "");
isOverCar = getIntent().getExtras().getBoolean("isOverCar",false);
ur = new UserRequset(con, hd);
initView(null);
if ("0".equals(type)) {
@@ -189,6 +217,11 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
}
//new RZRequest().isDriverAuthQualification(con,hd);
}
if (TextUtils.isEmpty(carId)){//carId不为空 从添加车辆进入 该操作不能跳过
tvSkip.setVisibility(View.VISIBLE);
}else{
tvSkip.setVisibility(View.GONE);
}
}
private boolean key = true;
@@ -203,30 +236,38 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
gia.showPopueWindow(this);
}
});
up_img.setOnClickListener(v -> {
if (!isAuth) {
gia.showPopueWindow(this);
}
});
img.setOnClickListener(v -> {
if (!"".equals(url)) {
new XPopup.Builder(con)
.asImageViewer(img, url, true, -1, -1, 50, false, new CertificatesActivity.ImageLoader())
.show();
new XPopup.Builder(con).asImageViewer(img, url, new SmartGlideImageLoader(R.mipmap.ic_launcher_round)).show();
// new XPopup.Builder(con)
// .asImageViewer(img, url, true, -1, -1, 50, false, new CertificatesActivity.ImageLoader())
// .show();
}
});
value2.setOnClickListener(v -> {
DatePicker picker = new DatePicker(this);
picker.setBodyWidth(300);
picker.setOnDatePickedListener((year, month, day) -> value2.setText(year + "-" + month + "-" + day));
picker.getWheelLayout().setDateMode(DateMode.YEAR_MONTH_DAY);
picker.getWheelLayout().setDateLabel("", "", "");
picker.show();
if (!isAuth) {
DatePicker picker = new DatePicker(this);
picker.setBodyWidth(300);
picker.setOnDatePickedListener((year, month, day) -> value2.setText(year + "-" + month + "-" + day));
picker.getWheelLayout().setDateMode(DateMode.YEAR_MONTH_DAY);
picker.getWheelLayout().setDateLabel("", "", "");
picker.show();
}
});
submit.setOnClickListener(v -> {
if (!isAuth) {
String id = value1.getText() + "";
String date = value2.getText() + "";
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);
} else {
Toast.makeText(con, "提交信息不完整", Toast.LENGTH_SHORT).show();
Toast.makeText(con, "请补充证件信息", Toast.LENGTH_SHORT).show();
}
} else {
if (!"".equals(url)) {
@@ -257,6 +298,9 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
});
tvSkip.setOnClickListener(v -> {
if (type.equals("0")) {
// finish();
if (key) {
@@ -290,7 +334,7 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
zjimg_name.setText("党员证照片");
data_view.setVisibility(View.GONE);
title2.setVisibility(View.GONE);
}else{
} else {
tvTips.setVisibility(View.VISIBLE);
}
}
@@ -344,4 +388,31 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
}
}
@Subscribe
public void processResult(AuthEvent auth) {
//添加实名/意愿/签署完成之后的逻辑
Log.e("-回调信息-", auth.result);
JSONObject jsonObject = JSON.parseObject(auth.result);
if ("success".equalsIgnoreCase(jsonObject.getString("res"))) {
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();
}
finish();
} 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();
}
}
}
@@ -4,6 +4,7 @@ import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
import android.util.Log;
@@ -20,17 +21,26 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.cardview.widget.CardView;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.arpa.hndahesudintocctmsdriver.bean.DicBean;
import com.arpa.hndahesudintocctmsdriver.bean.SinglePickBean;
import com.arpa.hndahesudintocctmsdriver.cuspop.SimCenterPop;
import com.arpa.hndahesudintocctmsdriver.event.HomeEvent;
import com.arpa.hndahesudintocctmsdriver.event.PersonEvent;
import com.arpa.hndahesudintocctmsdriver.event.VehicleEvent;
import com.arpa.hndahesudintocctmsdriver.ui.wallet.UpBankActivity;
import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.arpa.hndahesudintocctmsdriver.util.PickerUtils;
import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil;
import com.arpa.hndahesudintocctmsdriver.util.map.MapUtil;
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;
import com.bumptech.glide.request.target.Target;
import com.dahe.mylibrary.utils.ActivityUtils;
import com.dahe.mylibrary.utils.ToastUtils;
import com.esign.esignsdk.EsignSdk;
import com.esign.esignsdk.data.AuthEvent;
import com.github.gzuliyujiang.wheelpicker.contract.OnOptionPickedListener;
import com.google.gson.Gson;
import com.luck.picture.lib.PictureSelector;
@@ -68,8 +78,10 @@ import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView;
import com.lxj.xpopup.photoview.PhotoView;
import com.lxj.xpopup.util.SmartGlideImageLoader;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import java.io.File;
import java.util.ArrayList;
@@ -99,14 +111,14 @@ public class CertificatesActivity extends BaseAppCompatActivity {
private int[] typeImgOne = {R.mipmap.id, R.mipmap.license, R.mipmap.vehicle_license, R.mipmap.vehicle_license};
private int[] typeImgTwo = {R.mipmap.id_back, R.mipmap.license_back, R.mipmap.vehicle_license_back, R.mipmap.vehicle_license_back};
private int index = 0;
private DicBean.DataDTO curColor,curEnergy;
private DicBean.DataDTO curColor, curEnergy;
private TextView zj_name, zjimg_name, zjimg2_name, zj_name2, zj_name3;
private TextView name1, name2, name3, name4, value5, value6;
private EditText value1, value2, value3, value4,value7;
private EditText value1, value2, value3, value4, value7;
private Button submit;
private ImageView img1, img2, img3, type_img;
private TextView u_img, u_img2, u_img3;
private LinearLayout llColor, llType,llCarName;
private LinearLayout llColor, llType, llCarName;
private CardView there_div;
private BaseRecyclerView brv;
//
@@ -121,6 +133,7 @@ public class CertificatesActivity extends BaseAppCompatActivity {
private String url2 = "";
private String url3 = "";
private boolean[] keys = {false, false, false};
private boolean key = true;
public void FalseKeys() {
for (int i = 0; i < keys.length; i++) {
@@ -143,17 +156,27 @@ public class CertificatesActivity extends BaseAppCompatActivity {
break;
case RequsetCodeConstants.SUCCESS:
if (CacheGroup.cacheList.get("driverAuthIdCard") != null || CacheGroup.cacheList.get("driverAuthLicense") != null
|| CacheGroup.cacheList.get("saveVehicleLicense") != null || CacheGroup.cacheList.get("saveDrawCar") != null) {
|| CacheGroup.cacheList.get("saveVehicleLicense") != null || CacheGroup.cacheList.get("authUrl") != null
|| CacheGroup.cacheList.get("saveDrawCar") != null) {
if (CacheGroup.cacheList.get("driverAuthIdCard") != null) {
if (customDialog != null) {
customDialog.dismiss();
}
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("driverAuthIdCard"), BaseBean.class);
if (bb.getCode() == 200) {
Toast.makeText(con, "保存成功", Toast.LENGTH_SHORT).show();
finish();
//上传身份证信息后 跳转上传驾驶证信息页面
Intent in = new Intent(con, CertificatesActivity.class);
in.putExtra("index", 1);
startActivity(in);
// Intent in = new Intent(con, CertificatesActivity.class);
// in.putExtra("index", 1);
// startActivity(in);
//上传身份证信息后 跳转上传银行卡信息页面
Intent in333=new Intent(con, UpBankActivity.class);
in333.putExtra("type",1);
startActivity(in333);
} else {
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show();
@@ -162,15 +185,22 @@ public class CertificatesActivity extends BaseAppCompatActivity {
}
if (CacheGroup.cacheList.get("driverAuthLicense") != null) {
if (customDialog != null) {
customDialog.dismiss();
}
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("driverAuthLicense"), BaseBean.class);
if (bb.getCode() == 200) {
Toast.makeText(con, "保存成功", Toast.LENGTH_SHORT).show();
finish();
//上传驾驶证信息页面 跳转资格证信息页面
Intent in = new Intent(con, AuthQualificationActivity.class);
in.putExtra("type", "0");
startActivity(in);
//上传驾驶证信息页面 进行实名认证操作
if (key) {
key = false;
new AuthRequest().getAuthUrl(con, hd);
new Handler().postDelayed(() -> {
key = true;
}, 3000);
}
} else {
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show();
@@ -178,40 +208,118 @@ public class CertificatesActivity extends BaseAppCompatActivity {
CacheGroup.cacheList.remove("driverAuthLicense");
}
if (CacheGroup.cacheList.get("authUrl") != null) {
Log.e("url", CacheGroup.cacheList.get("authUrl"));
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("authUrl"), BaseBean.class);
if (bb.getCode() == 200) {
EsignSdk.getInstance().startH5Activity(act, StringUtil.isNull(String.valueOf(bb.getData()), ""));
} else {
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_LONG).show();
}//Log.e("url",CacheGroup.cacheList.get("authUrl"));
CacheGroup.cacheList.remove("authUrl");
}
if (CacheGroup.cacheList.get("saveVehicleLicense") != null) {
if (customDialog != null) {
customDialog.dismiss();
}
CarZhengBean czb = gson.fromJson(CacheGroup.cacheList.get("saveVehicleLicense"), CarZhengBean.class);
if (czb.getCode() == 200) {
String needUpQCPhoto = czb.getData().getNeedUpQCPhoto();//是否需要上传从业资格证
String isTrailer = czb.getData().getIsTrailer();//是否需要上传挂车
String needUpRLPhoto = czb.getData().getNeedUpRLPhoto();//是否需要上传道路运输证到
Toast.makeText(con, "车辆行驶证保存成功", Toast.LENGTH_SHORT).show();
finish();
VehicleEvent ve = new VehicleEvent(String.valueOf(czb.getData().getCarId()));
EventBus.getDefault().post(ve);
//上传行驶证信息后 跳转车辆照片页面
Intent in = new Intent(con, PhotoCarActivity.class);
in.putExtra("type", 0);
in.putExtra("carId", String.valueOf(czb.getData().getCarId()));
con.startActivity(in);
VehicleEvent ve = new VehicleEvent(String.valueOf(czb.getData().getCarId()));
EventBus.getDefault().postSticky(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()));
if (olb != null && olb.getData() != null && olb.getData().isCarExist()) {
CarDelBean carDelBean = new CarDelBean();
carDelBean.setRes(1);//保留字段 1:为绑定车辆,可以进行修改挂车信息
carDelBean.setData(gson.fromJson(gson.toJson(olb.getData().getExistCarInfo()), CarDelBean.DataDTO.class));
in.putExtra("cheData", gson.toJson(carDelBean));
}
startActivity(in);
} else if ("1".equals(needUpQCPhoto)) {//判断是否跳转从业资格证
Intent in = new Intent(con, AuthQualificationActivity.class);
in.putExtra("type", "0");
in.putExtra("isOverCar", true);
in.putExtra("carId", String.valueOf(czb.getData().getCarId()));
startActivity(in);
} else if ("1".equals(needUpRLPhoto)) {//判断是否跳转道路运输许可证
Intent in = new Intent(con, PhotoCarActivity.class);
in.putExtra("type", 3);
in.putExtra("carExist", true);
in.putExtra("carId", String.valueOf(czb.getData().getCarId()));
startActivity(in);
} else {
//跳转成功页面
Intent in = new Intent(con, AddCarSuccActivity.class);
in.putExtra("type", 3);
in.putExtra("carId", String.valueOf(czb.getData().getCarId()));
con.startActivity(in);
}
finish();
// if ("1".equals(needUpQCPhoto)) {
// //现逻辑:上传行驶证信息后 判断是否跳转从业资格证
// Intent in = new Intent(con, AuthQualificationActivity.class);
// in.putExtra("type", "0");
// in.putExtra("isOverCar", false);
// in.putExtra("carId", String.valueOf(czb.getData().getCarId()));
// startActivity(in);
// } else {
// //原逻辑:上传行驶证信息后 跳转车辆照片页面
// Intent in = new Intent(con, PhotoCarActivity.class);
// in.putExtra("type", 0);
// in.putExtra("carId", String.valueOf(czb.getData().getCarId()));
// con.startActivity(in);
// }
} else {
Toast.makeText(con, czb.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove("saveVehicleLicense");
}
if (CacheGroup.cacheList.get("saveDrawCar") != null) {
if (customDialog != null) {
customDialog.dismiss();
}
Log.e("-saveDrawCar-", CacheGroup.cacheList.get("saveDrawCar"));
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("saveDrawCar"), BaseBean.class);
CarZhengBean bb = gson.fromJson(CacheGroup.cacheList.get("saveDrawCar"), CarZhengBean.class);
if (bb.getCode() == 200) {
String needUpQCPhoto = bb.getData().getNeedUpQCPhoto();
String needUpRLPhoto = bb.getData().getNeedUpRLPhoto();//是否需要上传道路运输证到
Toast.makeText(con, "挂车信息保存成功", Toast.LENGTH_SHORT).show();
finish();
VehicleEvent ve = new VehicleEvent("");
EventBus.getDefault().post(ve);
//挂车信息保存成功跳转成功页面
Intent in = new Intent(con, AddCarSuccActivity.class);
in.putExtra("type", 3);
in.putExtra("carId", carId);
con.startActivity(in);
if ("1".equals(needUpQCPhoto)) {
//现逻辑:上传挂车保信息后 判断是否跳转从业资格证
Intent in = new Intent(con, AuthQualificationActivity.class);
in.putExtra("type", "0");
in.putExtra("carId", carId);
in.putExtra("isOverCar", true);
startActivity(in);
} else if ("1".equals(needUpRLPhoto)) {//现判断是否跳转道路运输许可证
Intent in = new Intent(con, PhotoCarActivity.class);
in.putExtra("type", 3);
in.putExtra("carExist", true);
in.putExtra("carId", carId);
startActivity(in);
} else {
//原逻辑:挂车信息保存成功跳转成功页面
Intent in = new Intent(con, AddCarSuccActivity.class);
in.putExtra("type", 3);
in.putExtra("carId", carId);
con.startActivity(in);
}
} else {
Toast.makeText(con, "挂车信息保存失败", Toast.LENGTH_SHORT).show();
}
@@ -219,7 +327,7 @@ public class CertificatesActivity extends BaseAppCompatActivity {
}
} else if (CacheGroup.cacheList.get(CAR_COLOR) != null) {
DicBean bb = gson.fromJson(CacheGroup.cacheList.get(CAR_COLOR), DicBean.class);
if (bb.getCode()==200){
if (bb.getCode() == 200) {
PickerUtils.getInstance().pickSingle(this, "车牌颜色", bb.getData(), new OnOptionPickedListener() {
@Override
public void onOptionPicked(int position, Object item) {
@@ -233,7 +341,7 @@ public class CertificatesActivity extends BaseAppCompatActivity {
CacheGroup.cacheList.remove(CAR_COLOR);
} else if (CacheGroup.cacheList.get(CAR_ENERGY_TYPE) != null) {
DicBean bb = gson.fromJson(CacheGroup.cacheList.get(CAR_ENERGY_TYPE), DicBean.class);
if (bb.getCode()==200){
if (bb.getCode() == 200) {
PickerUtils.getInstance().pickSingle(this, "燃油类型", bb.getData(), new OnOptionPickedListener() {
@Override
public void onOptionPicked(int position, Object item) {
@@ -245,9 +353,22 @@ public class CertificatesActivity extends BaseAppCompatActivity {
});
}
CacheGroup.cacheList.remove(CAR_ENERGY_TYPE);
} else if (CacheGroup.cacheList.get("authUrl") != null) {
//实名认证校验
Log.e("url", CacheGroup.cacheList.get("authUrl"));
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("authUrl"), BaseBean.class);
if (bb.getCode() == 200) {
EsignSdk.getInstance().startH5Activity(act, StringUtil.isNull(String.valueOf(bb.getData()), ""));
} else {
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_LONG).show();
}//Log.e("url",CacheGroup.cacheList.get("authUrl"));
CacheGroup.cacheList.remove("authUrl");
} else {
//重复代码?
initView(null);
initData();
if (!(CacheGroup.cacheList.get(TYPE_NAME_BANK[2]) != null || CacheGroup.cacheList.get(TYPE_NAME_BANK[3]) != null)) {
initData();
}
pathOrcRes();
}
break;
@@ -265,6 +386,7 @@ public class CertificatesActivity extends BaseAppCompatActivity {
super.onCreate(savedInstanceState);
StateStyleUtil.stateTextColor(this);
setContentView(R.layout.activity_shangchuan_xsz);
EventBus.getDefault().register(this);
llColor = findViewById(R.id.llColor);
llCarName = findViewById(R.id.llCarName);
llType = findViewById(R.id.llType);
@@ -324,6 +446,7 @@ public class CertificatesActivity extends BaseAppCompatActivity {
// there_div.setVisibility(View.VISIBLE);
if (c_str != null && !c_str.equals("")) {
cdb = gson.fromJson(c_str, CarDelBean.class);
oCrcarId = cdb.getData().getTrailerResVo().getTrailerLicenseId() + "";
initView(null);
initData();
} else {
@@ -332,8 +455,8 @@ public class CertificatesActivity extends BaseAppCompatActivity {
break;
case 2:
llCarName.setVisibility(View.GONE);
llColor.setVisibility(View.VISIBLE);
llType.setVisibility(View.VISIBLE);
// llColor.setVisibility(View.VISIBLE);
// llType.setVisibility(View.VISIBLE);
type_img.setImageResource(R.mipmap.auth_icon_3);
// there_div.setVisibility(View.VISIBLE);
if (c_str != null && !c_str.equals("")) {
@@ -372,9 +495,12 @@ public class CertificatesActivity extends BaseAppCompatActivity {
img1.setOnClickListener(v -> {
if (!url1.equals("")) {
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();
}else{
// new XPopup.Builder(con)
// .asImageViewer(img1, url1, true, -1, -1, 50, false, new ImageLoader())
// .show();
} else {
if (!isAuth) {
FalseKeys();
keys[0] = true;
@@ -386,9 +512,12 @@ public class CertificatesActivity extends BaseAppCompatActivity {
img2.setOnClickListener(v -> {
if (!url2.equals("")) {
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();
}else{
// new XPopup.Builder(con)
// .asImageViewer(img2, url2, true, -1, -1, 50, false, new ImageLoader())
// .show();
} else {
if (!isAuth) {
FalseKeys();
keys[1] = true;
@@ -430,8 +559,11 @@ public class CertificatesActivity extends BaseAppCompatActivity {
gia.showPopueWindow(this);
} else if (!url3.equals("")) {
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();
// new XPopup.Builder(con)
// .asImageViewer(img3, url3, true, -1, -1, 50, false, new ImageLoader())
// .show();
}
});
value5.setOnClickListener(v -> {
@@ -454,16 +586,31 @@ public class CertificatesActivity extends BaseAppCompatActivity {
case 0:
finish();
//上传身份证信息后 跳转上传驾驶证信息页面
Intent in1 = new Intent(con, CertificatesActivity.class);
in1.putExtra("index", 1);
startActivity(in1);
// Intent in1 = new Intent(con, CertificatesActivity.class);
// in1.putExtra("index", 1);
// startActivity(in1);
//上传身份证信息后 跳转上传银行卡信息页面
Intent in333=new Intent(con, UpBankActivity.class);
in333.putExtra("type",1);
startActivity(in333);
break;
case 1:
finish();
//传驾驶证信息页面 跳转实名认证
// finish();
if (key) {
key = false;
new AuthRequest().getAuthUrl(con, hd);
new Handler().postDelayed(() -> {
key = true;
}, 3000);
}
//上传驾驶证信息页面 跳转资格证信息页面
Intent in2 = new Intent(con, AuthQualificationActivity.class);
in2.putExtra("type", "0");
startActivity(in2);
// finish();
// Intent in2 = new Intent(con, AuthQualificationActivity.class);
// in2.putExtra("type", "0");
// startActivity(in2);
break;
case 2:
finish();
@@ -478,6 +625,12 @@ public class CertificatesActivity extends BaseAppCompatActivity {
});
}
@Override
protected void onDestroy() {
super.onDestroy();
EventBus.getDefault().unregister(this);
}
boolean isAuth = false;
public void initData() {
@@ -544,7 +697,9 @@ public class CertificatesActivity extends BaseAppCompatActivity {
break;
case 3:
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(), "");
url2 = StringUtil.isNull(cdb.getData().getTrailerResVo().getBackImage(), "");
url3 = StringUtil.isNull(cdb.getData().getTrailerResVo().getThreeImage(), "");
@@ -553,14 +708,16 @@ public class CertificatesActivity extends BaseAppCompatActivity {
value3.setText(StringUtil.isNull(cdb.getData().getTrailerResVo().getOwner(), "空数据"));
value4.setText(StringUtil.isNull(cdb.getData().getTrailerResVo().getVehicleNumber(), "空数据"));
value6.setText(StringUtil.isNull(cdb.getData().getCarEnergyTypValue(), "空数据"));
submit.setBackgroundResource(R.drawable.bg_btn_grey);
Glide.with(con).load(url1).into(img1);
Glide.with(con).load(url2).into(img2);
Glide.with(con).load(url3).into(img3);
u_img.setText("已上传");
u_img2.setText("已上传");
u_img3.setText("点击查看");
isAuth = true;
if (cdb.getRes() != 1) {
submit.setBackgroundResource(R.drawable.bg_btn_grey);
u_img.setText("已上传");
u_img2.setText("已上传");
u_img3.setText("点击查看");
isAuth = true;
}
}
break;
default:
@@ -620,7 +777,8 @@ public class CertificatesActivity extends BaseAppCompatActivity {
value1.setText(ocb.getData().getName());
value2.setText(ocb.getData().getCardId());
value3.setText(ocb.getData().getAddress());
Glide.with(con).load(url1).into(img1);
// Glide.with(con).load(url1).into(img1);
Glide.with(con).load(path).into(img1);
fontId = ocb.getData().getId();
} else {
Toast.makeText(con, "识别失败", Toast.LENGTH_SHORT).show();
@@ -632,9 +790,13 @@ public class CertificatesActivity extends BaseAppCompatActivity {
if (ocbb.getCode() == 200) {
url2 = ocbb.getData().getUrl();
value4.setText(ocbb.getData().getEndTime());
Glide.with(con).load(url2).into(img2);
// Glide.with(con).load(url2).into(img2);
Glide.with(con).load(path).into(img2);
startTime = ocbb.getData().getStartTime();
backId = ocbb.getData().getId();
//自动调取提交功能,实现页面自动跳转
subimt();
} else {
Toast.makeText(con, "识别失败", Toast.LENGTH_SHORT).show();
}
@@ -653,7 +815,8 @@ public class CertificatesActivity extends BaseAppCompatActivity {
value2.setText(StringUtil.isNull(od.getStartTime(), "识别异常"));
value3.setText(StringUtil.isNull(od.getAllowType(), "识别异常"));
value4.setText(StringUtil.isNull(od.getEndTime(), "识别异常"));
Glide.with(con).load(url1).into(img1);
// Glide.with(con).load(url1).into(img1);
Glide.with(con).load(path).into(img1);
fontId = od.getId();
} else {
Toast.makeText(con, "识别失败", Toast.LENGTH_SHORT).show();
@@ -665,7 +828,10 @@ public class CertificatesActivity extends BaseAppCompatActivity {
if (odlb.getCode() == 200) {
url2 = odlb.getData().getUrl();
backId = odlb.getData().getId();
Glide.with(con).load(url2).into(img2);
// Glide.with(con).load(url2).into(img2);
Glide.with(con).load(path).into(img2);
//自动调取提交功能,实现页面自动跳转
subimt();
} else {
Toast.makeText(con, "识别失败", Toast.LENGTH_SHORT).show();
}
@@ -679,13 +845,22 @@ public class CertificatesActivity extends BaseAppCompatActivity {
Log.e("olb", CacheGroup.cacheList.get(TYPE_NAME[2]));
olb = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME[2]), OCRVehicleLicenseBean.class);
if (olb.getCode() == 200) {
if (olb.getData().isCarExist()) {
value1.setEnabled(false);
Glide.with(con).load(olb.getData().getExistCarInfo().getBackImage()).into(img2);
url2 = olb.getData().getExistCarInfo().getBackImage();
ToastUtils.showLongToast(con, "该车辆已存在,请仔细核对相关信息");
} else {
value1.setEnabled(true);
}
url1 = olb.getData().getUrl();
value1.setText(olb.getData().getCarNumber());
value2.setText(olb.getData().getType());
value3.setText(olb.getData().getOwner());
value4.setText(olb.getData().getVehicleNumber());
fontId = olb.getData().getId();
Glide.with(con).load(url1).into(img1);
// Glide.with(con).load(url1).into(img1);
Glide.with(con).load(path).into(img1);
oCrcarId = olb.getData().getCarId() + "";
Log.e("-cardId-", oCrcarId);
} else {
@@ -698,7 +873,10 @@ public class CertificatesActivity extends BaseAppCompatActivity {
if (oblb.getCode() == 200) {
url2 = oblb.getData().getUrl();
backId = oblb.getData().getId();
Glide.with(con).load(url2).into(img2);
// Glide.with(con).load(url2).into(img2);
Glide.with(con).load(path).into(img2);
//自动调取提交功能,实现页面自动跳转实现页面自动跳转
subimt();
} else {
Toast.makeText(con, oblb.getMsg(), Toast.LENGTH_SHORT).show();
}
@@ -709,7 +887,8 @@ public class CertificatesActivity extends BaseAppCompatActivity {
if (ub.getCode() == 200) {
url3 = ub.getData().getUrl();
fid = ub.getData().getId();
Glide.with(con).load(url3).into(img3);
// Glide.with(con).load(url3).into(img3);
Glide.with(con).load(path).into(img3);
} else {
Toast.makeText(con, ub.getMsg(), Toast.LENGTH_SHORT).show();
}
@@ -753,7 +932,7 @@ public class CertificatesActivity extends BaseAppCompatActivity {
customDialog.dismiss();
return;
}
new OCRRequest().OCRVehicleLicenseBack(con, hd, new File(path), oCrcarId, carNum);
new OCRRequest().OCRVehicleLicenseBack(con, hd, new File(path), oCrcarId, carNum, olb.getData().isCarExist());
} else {
new AuthRequest().upload(con, hd, new File(path));
@@ -769,7 +948,16 @@ public class CertificatesActivity extends BaseAppCompatActivity {
customDialog.dismiss();
return;
}
new OCRRequest().OCRVehicleLicenseBack(con, hd, new File(path), oCrcarId, carNum);
// if (cdb != null && cdb.getData().getTrailerResVo() &&cdb.getRes() == 1)
boolean isExist = false;
if (olb != null) {//主页识别成功后获取
isExist = olb.getData().isCarExist();
} else {
if (cdb != null && cdb.getData().getTrailerResVo() != null && cdb.getRes() == 1) {//上个页面带来数据
isExist = true;
}
}
new OCRRequest().OCRVehicleLicenseBack(con, hd, new File(path), oCrcarId, carNum, isExist);
} else {
new AuthRequest().upload(con, hd, new File(path));
}
@@ -792,6 +980,8 @@ public class CertificatesActivity extends BaseAppCompatActivity {
switch (index) {
case 0:
if (ocb != null && ocbb != null) {
customDialog = new CustomDialog(con, "网络请求中...");
customDialog.show();
IDInputBean ib = new IDInputBean();
ib.setIdcarName(str1);
ib.setIdcard(str2);
@@ -814,6 +1004,8 @@ public class CertificatesActivity extends BaseAppCompatActivity {
//olb
//{"档案编号","初次领证日期","准驾车型","有效期限(止)"},
if (odl != null && odlb != null) {
customDialog = new CustomDialog(con, "网络请求中...");
customDialog.show();
Log.e("ocr", new Gson().toJson(odl));
LicenseInputBean iib = new LicenseInputBean();
iib.setArchivesName(str1);
@@ -830,44 +1022,54 @@ public class CertificatesActivity extends BaseAppCompatActivity {
}
break;
case 2:
if (olb != null && oblb != null) {
if (curColor==null||curEnergy==null){
Toast.makeText(con,"请完善内容",Toast.LENGTH_SHORT).show();
return;
}
if ((olb != null && !olb.getData().isCarExist() && oblb != null) || (olb != null && olb.getData().isCarExist())) {
// if (curColor == null || curEnergy == null) {
// Toast.makeText(con, "请完善内容", Toast.LENGTH_SHORT).show();
// return;
// }
customDialog = new CustomDialog(con, "网络请求中...");
customDialog.show();
HashMap<String, Object> map = new HashMap<>();
if ("".equals(url3)) {
map.put("imgId", fid);
}
map.put("licenseId", oblb.getData().getLicenseId());
map.put("licenseId", olb.getData().isCarExist() ? olb.getData().getExistCarInfo().getLicenseId() : oblb.getData().getLicenseId());
map.put("carNumber", str1);
map.put("type", str2);
map.put("owner", str3);
map.put("vehicleNumber", str4);
map.put("carPlateColor", curColor.getValue());
map.put("carEnergyTyp", curEnergy.getValue());
// if (olb.getData().isCarExist()) {
// map.put("carId", olb.getData().getCarId());
// }
// map.put("carPlateColor", curColor.getValue());
// map.put("carEnergyTyp", curEnergy.getValue());
new AuthRequest().saveVehicleLicense(con, hd, MapUtil.mapJson(map));
} else {
Toast.makeText(con, "请先上传资料", Toast.LENGTH_SHORT).show();
}
break;
case 3:
if (olb != null && oblb != null) {
if (olb != null || (cdb != null && cdb.getRes() == 1)) {
// if (curEnergy==null){
// Toast.makeText(con,"请完善内容",Toast.LENGTH_SHORT).show();
// return;
// }
customDialog = new CustomDialog(con, "网络请求中...");
customDialog.show();
Map<String, Object> map = new HashMap<>();
if ("".equals(url3)) {
map.put("imgId", fid);
}
map.put("licenseId", oblb.getData().getLicenseId());
// map.put("licenseId", oblb.getData().getLicenseId());
map.put("carId", carId);
map.put("carNumberDraw", str1);
map.put("type", str2);
map.put("owner", str3);
// map.put("carEnergyTyp", curEnergy.getValue());
map.put("vehicleNumber", str4);
if (cdb != null && cdb.getRes() == 1 && cdb.getData() != null && cdb.getData().getTrailerResVo() != null) {
map.put("oldTrailerNumber", cdb.getData().getTrailerResVo().getCarNumber());
}
new AuthRequest().saveDrawCar(con, hd, MapUtil.mapJson(map));
} else {
Toast.makeText(con, "请先上传资料", Toast.LENGTH_SHORT).show();
@@ -878,27 +1080,61 @@ public class CertificatesActivity extends BaseAppCompatActivity {
}
}
public static void personEvent(String msg){
PersonEvent he=new PersonEvent(msg);
public static void personEvent(String msg) {
PersonEvent he = new PersonEvent(msg);
EventBus.getDefault().post(he);
}
public static class ImageLoader implements XPopupImageLoader {
@Override
public void loadImage(int position, @NonNull Object url, @NonNull ImageView imageView) {
//必须指定Target.SIZE_ORIGINAL,否则无法拿到原图,就无法享用天衣无缝的动画
Glide.with(imageView).load(url).apply(new RequestOptions().placeholder(R.mipmap.ic_launcher_round).override(Target.SIZE_ORIGINAL)).into(imageView);
}
@Subscribe
public void processResult(AuthEvent auth) {
//添加实名/意愿/签署完成之后的逻辑
Log.e("-回调信息-", auth.result);
JSONObject jsonObject = JSON.parseObject(auth.result);
if ("success".equalsIgnoreCase(jsonObject.getString("res"))) {
EsignSdk.getInstance().finishH5Activity();
new MessageUtils().showSimCenPop(con, "个人信息上传成功,请添加车辆信息!", () -> {
finish();
Intent in = new Intent(con, CertificatesActivity.class);
in.putExtra("index", 2);
startActivity(in);
@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();
});
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();
}
return null;
} else {
if ("sign".equalsIgnoreCase(jsonObject.getString("key"))) {
Toast.makeText(con, "签署场景失败", Toast.LENGTH_SHORT).show();
} else if ("realName".equalsIgnoreCase(jsonObject.getString("key"))) {
Toast.makeText(con, "实名认证失败", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(con, "意愿认证失败", Toast.LENGTH_SHORT).show();
}
EsignSdk.getInstance().finishH5Activity();
finish();
}
}
// public static class ImageLoader implements XPopupImageLoader {
// @Override
// public void loadImage(int position, @NonNull Object url, @NonNull ImageView imageView) {
// //必须指定Target.SIZE_ORIGINAL,否则无法拿到原图,就无法享用天衣无缝的动画
// Glide.with(imageView).load(url).apply(new RequestOptions().placeholder(R.mipmap.ic_launcher_round).override(Target.SIZE_ORIGINAL)).into(imageView);
// }
//
// @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.JSONObject;
import com.arpa.hndahesudintocctmsdriver.H5Activity;
import com.arpa.hndahesudintocctmsdriver.event.HomeEvent;
import com.arpa.hndahesudintocctmsdriver.event.PersonEvent;
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.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity;
import com.lxj.xpopup.util.SmartGlideImageLoader;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
@@ -95,6 +97,11 @@ public class PersonalAuthActivity extends BaseAppCompatActivity {
Log.e("url", CacheGroup.cacheList.get("authUrl"));
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("authUrl"), BaseBean.class);
if (bb.getCode() == 200) {
// Intent intent = new Intent(this, H5Activity.class);
// intent.putExtra("url", (String) bb.getData());
// intent.putExtra("view_file", false);
// startActivity(intent);
EsignSdk.getInstance().startH5Activity(act, StringUtil.isNull(String.valueOf(bb.getData()), ""));
} else {
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_LONG).show();
@@ -161,6 +168,8 @@ public class PersonalAuthActivity extends BaseAppCompatActivity {
// startActivityForResult(in, 12);
//EsignSdk.getInstance().startH5Activity(act,"https://smlh5.esign.cn/usercenterFront/oemAuth/v3/realName/index?contextKey=b7b103b15b866ec4c72beef1dfe20828&appId=7438873235");
if (key) {
// EsignSdk.getInstance().startH5Activity(act, "");
key = false;
new AuthRequest().getAuthUrl(con, hd);
new Handler().postDelayed(() -> {
@@ -175,8 +184,11 @@ public class PersonalAuthActivity extends BaseAppCompatActivity {
up_head.setOnClickListener(v -> {
if (ub.getData().getHeadportraitUrl() != null && !ub.getData().getHeadportraitUrl().equals("")) {
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();
// new XPopup.Builder(con)
// .asImageViewer(up_head, ub.getData().getHeadportraitUrl(), true, -1, -1, 50, false, new CertificatesActivity.ImageLoader())
// .show();
}
});
hyr = new HuoYuanRequset(con, hd);
@@ -24,6 +24,7 @@ import com.arpa.hndahesudintocctmsdriver.bean.UploadBean;
import com.arpa.hndahesudintocctmsdriver.request.AuthRequest;
import com.arpa.hndahesudintocctmsdriver.request.UserRequset;
import com.arpa.hndahesudintocctmsdriver.ui.my.WoDeFragment;
import com.arpa.hndahesudintocctmsdriver.util.alert.CustomDialog;
import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup;
import com.arpa.hndahesudintocctmsdriver.util.file.ImageFileCompressUtil;
import com.arpa.hndahesudintocctmsdriver.util.img.GetImageAlert;
@@ -31,11 +32,14 @@ import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView;
import com.bumptech.glide.Glide;
import com.github.gzuliyujiang.wheelpicker.DatePicker;
import com.github.gzuliyujiang.wheelpicker.annotation.DateMode;
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.util.SmartGlideImageLoader;
import java.io.File;
import java.util.List;
@@ -48,23 +52,24 @@ import java.util.List;
*/
public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnClickListener {
private String[] titles = {"车辆照片", "NFC照片", "车辆登记证书", "道路运输许可证"};
private String[] name1 = {"车辆照片", "NFC照片", "车辆登记证书照片", "道路运输许可证照片"};
private String[] name2 = {"请上传车辆照片", "请上传NFC照片", "请上传车辆登记证书照片", "请上传道路运输许可证照片"};
private Boolean[] isShowEdit = {false, false, true, true};
private Boolean[] isShowSkip = {true, false, false, false};
private String[] titles = {"车辆照片", "NFC照片", "车辆登记证书", "道路运输许可证", "车辆交强险"};
private String[] name1 = {"车辆照片", "NFC照片", "车辆登记证书照片", "道路运输许可证照片", "车辆交强险照片"};
private String[] name2 = {"请上传车辆照片", "请上传NFC照片", "请上传车辆登记证书照片", "请上传道路运输许可证照片", "请上传车辆交强险照片"};
private Boolean[] isShowEdit = {false, false, true, true, true};
private Boolean[] isShowSkip = {true, false, false, true, true};
private String[] tips = {
"",
"*注意: 没有粘贴NFC芯片的车辆无需上传,可直接跳过",
"*注意: 没有可直接跳过,等候下次上传",
"*注意: 4.5吨下车辆不需要上传,可直接跳过"};
"*注意: 4.5吨下车辆不需要上传,可直接跳过",
""};
private BaseRecyclerView brv;
private ImageView img;
private TextView title1, title2, title3, zjimg_name, upload_img, tvTips, tvSkip;
private TextView title1, title2, title3, zjimg_name, upload_img, tvTips, tvSkip, value2;
private EditText value1;
private LinearLayout llInfo;
private LinearLayout llInfo, llDate;
private RelativeLayout up_img;
private Button submit;
@@ -74,7 +79,9 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
private int type;//页面类型
private String path, carId, url;//图片路径
private boolean carExist = false;
private GetImageAlert gia = new GetImageAlert();
private CustomDialog customDialog;
@Override
public void msgMethod(Message m) {
@@ -91,6 +98,11 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
}
CacheGroup.cacheList.remove(WoDeFragment.VEHICLE_DEL);
}
if (CacheGroup.cacheList.get("onlyGetDetail") != null) {
Log.e("--res--", CacheGroup.cacheList.get("onlyGetDetail"));
cdb = gson.fromJson(CacheGroup.cacheList.get("onlyGetDetail"), CarDelBean.class);
CacheGroup.cacheList.remove("onlyGetDetail");
}
if (CacheGroup.cacheList.get("upload") != null) {
@@ -108,10 +120,16 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
case 3:
new AuthRequest().saveCarImg(con, hd, carId, ub.getData().getId(), 2);
break;
case 4:
new AuthRequest().saveCarImg(con, hd, carId, ub.getData().getId(), 7);
break;
}
url = ub.getData().getUrl();
Glide.with(con).load(url).into(img);
// Glide.with(con).load(url).into(img);
Glide.with(con).load(path).into(img);
if (customDialog != null && customDialog.isShowing())
customDialog.dismiss();
CacheGroup.cacheList.remove("upload");
}
@@ -129,8 +147,12 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
Toast.makeText(con, "上传车辆登记证书照片", Toast.LENGTH_SHORT).show();
break;
case 3:
ur.vehicleDelTwo(carId);
Toast.makeText(con, "上传道路运输证成功", Toast.LENGTH_SHORT).show();
break;
case 4:
Toast.makeText(con, "交强险证件上传成功", Toast.LENGTH_SHORT).show();
break;
}
} else {
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show();
@@ -157,8 +179,13 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
IsAuthDriverAuthQualificationBean ib = gson.fromJson(CacheGroup.cacheList.get("saveCarRoadLicenseNo"), IsAuthDriverAuthQualificationBean.class);
if (ib.getCode() == 200) {
//判断是否需要跳转挂车行驶证页面
if (!"".equals(carId) && cdb.getData().getIsTrailer() == 1) {
if (!"".equals(carId)) {
if (!"".equals(carId) && cdb.getData() != null) {
if (cdb.getData().getIsTrailer() == 1 && cdb.getData().getTrailerResVo() != null && !TextUtils.isEmpty(cdb.getData().getTrailerResVo().getCarNumber())) {//需要挂车,并且传过挂车直接结束
finish();
Intent in = new Intent(con, AddCarSuccActivity.class);
in.putExtra("type", 3);
con.startActivity(in);
} else if (cdb.getData().getIsTrailer() == 1 && cdb.getData().getTrailerResVo() != null && TextUtils.isEmpty(cdb.getData().getTrailerResVo().getCarNumber())) {//需要挂车,没传过挂车,到挂车页面
finish();
Intent in = new Intent(con, CertificatesActivity.class);
in.putExtra("index", 3);
@@ -167,22 +194,66 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
in.putExtra("cheData", new Gson().toJson(cdb));
}
startActivity(in);
} else {
Toast.makeText(con, "请先绑定行驶证", Toast.LENGTH_SHORT).show();
} else if (cdb.getData().getIsTrailer() == 0) {//不需要挂车
if ("1".equals(cdb.getData().getNeedUpQCPhoto())) {//需要从业资格证
Intent in = new Intent(con, AuthQualificationActivity.class);
in.putExtra("type", "0");
in.putExtra("carId", carId);
in.putExtra("isOverCar", false);
startActivity(in);
} else {
finish();
Intent in = new Intent(con, AddCarSuccActivity.class);
in.putExtra("type", 3);
con.startActivity(in);
}
}
} else {
finish();
Intent in = new Intent(con, AddCarSuccActivity.class);
in.putExtra("type", 3);
con.startActivity(in);
}
// if (!"".equals(carId) && cdb.getData().getIsTrailer() == 1) {
// if (!"".equals(carId)) {
// finish();
// Intent in = new Intent(con, CertificatesActivity.class);
// in.putExtra("index", 3);
// in.putExtra("carId", carId);
// if (cdb != null) {
// in.putExtra("cheData", new Gson().toJson(cdb));
// }
// startActivity(in);
// } else {
// Toast.makeText(con, "请先绑定行驶证", Toast.LENGTH_SHORT).show();
// }
// } else {
// finish();
// Intent in = new Intent(con, AddCarSuccActivity.class);
// in.putExtra("type", 3);
// con.startActivity(in);
// }
} else {
Toast.makeText(con, ib.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove("saveCarRoadLicenseNo");
}
if (CacheGroup.cacheList.get("saveTrafficInsurance") != null) {
Log.e("is", CacheGroup.cacheList.get("saveTrafficInsurance"));
IsAuthDriverAuthQualificationBean ddb = gson.fromJson(CacheGroup.cacheList.get("saveTrafficInsurance"), IsAuthDriverAuthQualificationBean.class);
if (ddb.getCode() == 200) {
Toast.makeText(con, "保存成功", Toast.LENGTH_SHORT).show();
finish();
} else {
Toast.makeText(con, ddb.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove("saveTrafficInsurance");
}
break;
case ImageFileCompressUtil.COMPRESS_SUCCESS:
customDialog = new CustomDialog(con, "加载中...");
customDialog.show();
path = (String) m.obj;
new AuthRequest().upload(con, hd, new File(path));
break;
@@ -201,6 +272,7 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
title1 = findViewById(R.id.title1);
title2 = findViewById(R.id.title2);
title3 = findViewById(R.id.name1);
value2 = findViewById(R.id.value2);
up_img = findViewById(R.id.up_img);
img = findViewById(R.id.img);
zjimg_name = findViewById(R.id.zjimg_name);
@@ -208,6 +280,7 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
tvTips = findViewById(R.id.tvTips);
value1 = findViewById(R.id.value1);
llInfo = findViewById(R.id.llInfo);
llDate = findViewById(R.id.llDate);
tvSkip = findViewById(R.id.tvSkip);
submit = findViewById(R.id.submit);
@@ -215,10 +288,12 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
submit.setOnClickListener(this);
upload_img.setOnClickListener(this);
img.setOnClickListener(this);
value2.setOnClickListener(this);
type = getIntent().getExtras().getInt("type");
carId = getIntent().getExtras().getString("carId", "");
carExist = getIntent().getExtras().getBoolean("carExist", false);
changeViewByType(type);
ur = new UserRequset(con, hd);
@@ -275,6 +350,14 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
case R.id.img:
showBigImg();
break;
case R.id.value2:
DatePicker picker = new DatePicker(this);
picker.setBodyWidth(300);
picker.setOnDatePickedListener((year, month, day) -> value2.setText(year + "-" + month + "-" + day));
picker.getWheelLayout().setDateMode(DateMode.YEAR_MONTH_DAY);
picker.getWheelLayout().setDateLabel("", "", "");
picker.show();
break;
}
}
@@ -283,37 +366,66 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
* 展示大图片
*/
private void showBigImg() {
if ((type == 3 && TextUtils.isEmpty(cdb.getData().getRoadLicensePhoto())) || (type == 4 && TextUtils.isEmpty(cdb.getData().getPolicyPhotoUrl()))) {
choicePhoto();
return;
}
switch (type) {
case 0:
if (cdb.getData().getRoadLicensePhoto() != null && !cdb.getData().getCarImage().equals("")) {
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();
// new XPopup.Builder(con)
// .asImageViewer(img, cdb.getData().getCarImage(), true, -1, -1, 50, false, new CertificatesActivity.ImageLoader())
// .show();
}
break;
case 1:
if (cdb.getData().getRoadLicensePhoto() != null && !cdb.getData().getNfcImage().equals("")) {
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();
// new XPopup.Builder(con)
// .asImageViewer(img, cdb.getData().getNfcImage(), true, -1, -1, 50, false, new CertificatesActivity.ImageLoader())
// .show();
}
break;
case 2:
if (cdb.getData().getRoadLicensePhoto() != null && !cdb.getData().getRegisterImage().equals("")) {
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();
// new XPopup.Builder(con)
// .asImageViewer(img, cdb.getData().getRegisterImage(), true, -1, -1, 50, false, new CertificatesActivity.ImageLoader())
// .show();
}
break;
case 3:
if (cdb.getData().getRoadLicensePhoto() != null && !"".equals(cdb.getData().getRoadLicensePhoto())) {
//roadLicensePhoto
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();
// new XPopup.Builder(con)
// .asImageViewer(img, cdb.getData().getRoadLicensePhoto(), true, -1, -1, 50, false, new CertificatesActivity.ImageLoader())
// .show();
break;
}
break;
case 4:
if (cdb.getData().getPolicyPhotoUrl() != null && !"".equals(cdb.getData().getPolicyPhotoUrl())) {
//roadLicensePhoto
new XPopup.Builder(con)
.asImageViewer(img, cdb.getData().getPolicyPhotoUrl(), new SmartGlideImageLoader(R.mipmap.ic_launcher))
.show();
// new XPopup.Builder(con)
// .asImageViewer(img, cdb.getData().getRoadLicensePhoto(), true, -1, -1, 50, false, new CertificatesActivity.ImageLoader())
// .show();
}
break;
}
}
@@ -329,13 +441,14 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
switch (type) {
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();
Intent in = new Intent(con, PhotoCarActivity.class);
in.putExtra("type", 1);
// in.putExtra("type", 1);
in.putExtra("type", 3);
in.putExtra("carId", carId);
con.startActivity(in);
} else{
} else {
Toast.makeText(this, "请上传车辆照片", Toast.LENGTH_SHORT).show();
}
break;
@@ -349,18 +462,27 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
case 2:
String s = value1.getText().toString();
if (TextUtils.isEmpty(s)) {
Toast.makeText(this, "完善证号", Toast.LENGTH_SHORT).show();
Toast.makeText(this, "补充证件信息", Toast.LENGTH_SHORT).show();
return;
}
new AuthRequest().saveCarRegisterNo(con,hd,carId,s);
new AuthRequest().saveCarRegisterNo(con, hd, carId, s);
break;
case 3:
String s1 = value1.getText().toString();
if (TextUtils.isEmpty(s1)) {
Toast.makeText(this, "完善证号", Toast.LENGTH_SHORT).show();
Toast.makeText(this, "补充证件信息", Toast.LENGTH_SHORT).show();
return;
}
new AuthRequest().saveCarRoadLicenseNo(con,hd,carId,s1);
new AuthRequest().saveCarRoadLicenseNo(con, hd, carId, s1);
break;
case 4:
String s2 = value1.getText().toString();
String v2 = value2.getText().toString();
if (TextUtils.isEmpty(s2) || TextUtils.isEmpty(v2)) {
Toast.makeText(this, "请补充证件信息", Toast.LENGTH_SHORT).show();
return;
}
new AuthRequest().saveTrafficInsurance(con, hd, carId, v2, s2);
break;
}
}
@@ -393,6 +515,17 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
if (!TextUtils.isEmpty(cdb.getData().getRoadLicensePhoto())) {
Glide.with(con).load(cdb.getData().getRoadLicensePhoto()).into(img);
value1.setText(cdb.getData().getRoadLicense());
if (!carExist) {
submit.setBackgroundResource(R.drawable.bg_btn_grey);
upload_img.setText("已上传");
}
}
} else if (4 == type) {
if (!TextUtils.isEmpty(cdb.getData().getPolicyPhotoUrl())) {
Glide.with(con).load(cdb.getData().getPolicyPhotoUrl()).into(img);
value1.setText(cdb.getData().getInsuranceCompany());
value2.setText(cdb.getData().getInsuranceEndDay());
submit.setBackgroundResource(R.drawable.bg_btn_grey);
upload_img.setText("已上传");
}
@@ -425,7 +558,8 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
if (0 == type) {
finish();
Intent in = new Intent(con, PhotoCarActivity.class);
in.putExtra("type", 1);
// in.putExtra("type", 1);
in.putExtra("type", 3);
in.putExtra("carId", carId);
con.startActivity(in);
} else if (1 == type) {
@@ -477,6 +611,10 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
tvTips.setText(tips[type]);
tvSkip.setVisibility(isShowSkip[type] ? View.GONE : View.VISIBLE);
llInfo.setVisibility(isShowEdit[type] ? View.VISIBLE : View.GONE);
if (type == 4) {
llDate.setVisibility(View.VISIBLE);
title3.setText("保险公司");
}
}
@@ -14,7 +14,10 @@ import android.widget.Toast;
import androidx.annotation.Nullable;
import com.arpa.hndahesudintocctmsdriver.event.RefreshCarListEvent;
import com.arpa.hndahesudintocctmsdriver.event.VehicleEvent;
import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil;
import com.dahe.mylibrary.utils.ToastUtils;
import com.google.gson.Gson;
import com.luck.picture.lib.PictureSelector;
import com.luck.picture.lib.config.PictureConfig;
@@ -33,10 +36,12 @@ import com.arpa.hndahesudintocctmsdriver.util.file.ImageFileCompressUtil;
import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView;
import com.lxj.xpopup.util.SmartGlideImageLoader;
import com.scwang.smart.refresh.layout.SmartRefreshLayout;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import java.io.File;
import java.util.ArrayList;
@@ -50,6 +55,7 @@ public class VehicleAuthActivity extends BaseAppCompatActivity {
public String carId="";
public static final String DEL_CAR="delete_che";
public static final String CAR_AUDIO="CAR_AUDIO";
public static final String APP_INFO="APP_INFO";
private int submitIndex=0;
private BaseBean bb;
private ImageView show_img;
@@ -64,7 +70,7 @@ public class VehicleAuthActivity extends BaseAppCompatActivity {
CacheGroup.cacheList.remove(CAR_AUDIO);
}
if(CacheGroup.cacheList.get(WoDeFragment.VEHICLE_DEL)!=null){
Log.e("--res--",CacheGroup.cacheList.get(WoDeFragment.VEHICLE_DEL));
Log.e("--res--lijia",CacheGroup.cacheList.get(WoDeFragment.VEHICLE_DEL));
cdb=gson.fromJson(CacheGroup.cacheList.get(WoDeFragment.VEHICLE_DEL), CarDelBean.class);
if(cdb.getCode()==200){
initView(null);
@@ -78,6 +84,8 @@ public class VehicleAuthActivity extends BaseAppCompatActivity {
bb=gson.fromJson(CacheGroup.cacheList.get(DEL_CAR),BaseBean.class);
if (bb.getCode()==200) {
Toast.makeText(con,"删除成功",Toast.LENGTH_SHORT).show();
RefreshCarListEvent ve = new RefreshCarListEvent("");
EventBus.getDefault().post(ve);
finish();
}else{
Toast.makeText(con,"删除失败:"+bb.getMsg(),Toast.LENGTH_SHORT).show();
@@ -165,6 +173,13 @@ public class VehicleAuthActivity extends BaseAppCompatActivity {
private GetImageAlert gia=new GetImageAlert();
private boolean key1,key2,key3=false;
@Override
protected void onDestroy() {
super.onDestroy();
EventBus.getDefault().unregister(this);
}
@Override
public void initView(Object obj) {
super.initView(obj);
@@ -206,11 +221,12 @@ public class VehicleAuthActivity extends BaseAppCompatActivity {
RelativeLayout r5=v.findViewById(R.id.r5);
RelativeLayout r6=v.findViewById(R.id.r6);
RelativeLayout r7=v.findViewById(R.id.r7);
RelativeLayout r8=v.findViewById(R.id.r8);
View vs1=v.findViewById(R.id.vs1);
View vs2=v.findViewById(R.id.vs2);
r4.setVisibility(View.GONE);
r5.setVisibility(View.GONE);
vs1.setVisibility(View.GONE);
// vs1.setVisibility(View.GONE);
vs2.setVisibility(View.GONE);
if(!"".equals(carId) && cdb.getData().getIsTrailer()==1){
r4.setVisibility(View.VISIBLE);
@@ -221,8 +237,11 @@ public class VehicleAuthActivity extends BaseAppCompatActivity {
carImage.setOnClickListener(v14 -> {
if(cdb!=null && cdb.getData()!=null && cdb.getData().getCarImage()!=null && !cdb.getData().getCarImage().equals("")){
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();
// new XPopup.Builder(con)
// .asImageViewer(carImage,cdb.getData().getCarImage(), true, -1, -1, 50, false,new CertificatesActivity.ImageLoader())
// .show();
}
});
r1.setOnClickListener(v12 -> {
@@ -297,6 +316,17 @@ public class VehicleAuthActivity extends BaseAppCompatActivity {
Toast.makeText(con,"请先绑定挂车",Toast.LENGTH_SHORT).show();
}
});
r8.setOnClickListener(v1->{
if(!"".equals(carId)){
Intent in = new Intent(con, PhotoCarActivity.class);
in.putExtra("type", 4);
in.putExtra("carId", carId);
con.startActivity(in);
}else{
Toast.makeText(con,"请先绑定行驶证",Toast.LENGTH_SHORT).show();
}
});
del.setOnClickListener(v13 -> {
new XPopup.Builder(con)
.isDestroyOnDismiss(true) //对于只使用一次的弹窗,推荐设置这个
@@ -380,7 +410,7 @@ public class VehicleAuthActivity extends BaseAppCompatActivity {
super.onResume();
}
@Subscribe
@Subscribe(threadMode = ThreadMode.MAIN, sticky = true)
public void processResult(VehicleEvent event) {
Log.e("-msg-",event.getMessage());
if(!"".equals(event.getMessage())) {
@@ -2,6 +2,7 @@ package com.arpa.hndahesudintocctmsdriver.ui.business;
import android.os.Bundle;
import android.os.Message;
import android.text.TextUtils;
import android.util.Log;
import android.widget.ImageView;
import android.widget.TextView;
@@ -9,6 +10,15 @@ import android.widget.Toast;
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.arpa.hndahesudintocctmsdriver.R;
import com.arpa.hndahesudintocctmsdriver.bean.BusinessBean;
@@ -39,53 +49,70 @@ import okhttp3.Response;
* @date 2021/9/6 9:59
* @description:
*/
public class BusinessActivity extends BaseActivity {
public class BusinessActivity extends BaseActivity implements PoiSearch.OnPoiSearchListener {
private BaseRecyclerView business_type;
private BaseRecyclerView business_list;
private LocationGDUtil ld;
private TextView address;
private BusinessListBean blb;
private Gson gson=new Gson();
private List<Object> bbs=new ArrayList<>();
private Gson gson = new Gson();
private List<Object> bbs = new ArrayList<>();
private CustomDialog customDialog;
private int sum=0;
private String type="餐饮";
private int sum = 0;
private String type = "餐饮";
private PoiSearch.Query query;
private List<PoiItem> poiItems;// poi数据
@Override
public void msgMethod(Message m) {
super.msgMethod(m);
switch (m.what){
switch (m.what) {
case RequsetCodeConstants.SUCCESS:
if(CacheGroup.cacheList.get("business_list")!=null){
Log.e("--res--",CacheGroup.cacheList.get("business_list")+"");
blb=gson.fromJson(CacheGroup.cacheList.get("business_list"),BusinessListBean.class);
if(blb.getCode()==200){
if (CacheGroup.cacheList.get("business_list") != null) {
Log.e("--res--", CacheGroup.cacheList.get("business_list") + "");
blb = gson.fromJson(CacheGroup.cacheList.get("business_list"), BusinessListBean.class);
if (blb.getCode() == 200) {
forGetBusDel();
}else{
Toast.makeText(con,blb.getMsg(),Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(con, blb.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove("business_list");
}
break;
case LocationGDUtil.RES:
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;
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);
initBusListDel();
break;
case 3:
Log.e("aaa",(String) m.obj);
BusinessBean.DataDTO bd=gson.fromJson((String) m.obj,BusinessBean.DataDTO.class);
Log.e("aaa", (String) m.obj);
BusinessBean.DataDTO bd = gson.fromJson((String) m.obj, BusinessBean.DataDTO.class);
if(bd!=null){
if (bd != null) {
//if (BeanUtil.isBean(bd.getClass())) {
try {
business_list.addItemV(bd);
}catch (Exception e){
Log.e("遇到了",bd.toString());
} catch (Exception e) {
Log.e("遇到了", bd.toString());
}
//}
}
@@ -98,71 +125,130 @@ public class BusinessActivity extends BaseActivity {
super.onCreate(savedInstanceState);
StateStyleUtil.stateTextColor(this);
setContentView(R.layout.activity_business);
con=this;
business_type=findViewById(R.id.business_type);
business_list=findViewById(R.id.business_list);
address=findViewById(R.id.address);
con = this;
business_type = findViewById(R.id.business_type);
business_list = findViewById(R.id.business_list);
address = findViewById(R.id.address);
try {
type=getIntent().getExtras().getString("type");
}catch (Exception e){
type="餐饮";
type = getIntent().getExtras().getString("type");
} catch (Exception e) {
type = "餐饮";
}
initView(null);
customDialog=new CustomDialog(con, "正在定位...");
customDialog = new CustomDialog(con, "正在定位...");
customDialog.show();
ld=new LocationGDUtil(con,hd);
ld = new LocationGDUtil(con, hd);
ld.onCreate();
changeType(type);
}
List<Object> list_type=new ArrayList<>();
List<Object> list_type = new ArrayList<>();
@Override
public void initView(Object obj) {
super.initView(obj);
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_shangdian));
list_type.add(new Model("加油站",R.mipmap.icon_jiayouzhan));
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) -> {
Model m= (Model) o;
ImageView type_img=v.findViewById(R.id.type_icon);
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_shangdian));
list_type.add(new Model("加油站", R.mipmap.icon_jiayouzhan));
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) -> {
Model m = (Model) o;
ImageView type_img = v.findViewById(R.id.type_icon);
type_img.setImageResource(m.getType_img());
v.setOnClickListener(v1 -> {
sum=0;
bbs=new ArrayList<>();
customDialog=new CustomDialog(con, "正在切换...");
sum = 0;
bbs = new ArrayList<>();
customDialog = new CustomDialog(con, "正在切换...");
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();
//business_list.remo
Log.e("-数组-",gson.toJson(blb));
for (int i=0;i<blb.getData().getResults().size();i++) {
Log.e("-数组-", gson.toJson(blb));
for (int i = 0; i < blb.getData().getResults().size(); i++) {
//new BusinessRequest().GetBusiness(con,hd,blb.getData().getResults().get(i).getOpenshopid());
String url="https://openapi.dianping.com/router/poiinfo/detailinfo";
requestGet(url+Md5Util.resDelUrl(blb.getData().getResults().get(i).getOpenshopid()));
String url = "https://openapi.dianping.com/router/poiinfo/detailinfo";
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) -> {
BusinessBean.DataDTO bd= (BusinessBean.DataDTO) o;
v.setOnClickListener(v1 -> {
business_list.createV(con, poiItems, R.layout.item_business_list).setOnItemViewListener((position, o, v) -> {
PoiItem bd = (PoiItem) o;
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);
// in.putExtra("url",bd.getBusiness_url());
// in.putExtra("title",bd.getName());
// startActivity(in);
});
// });
});
}
public void requestGet(String url){
public void requestGet(String url) {
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
Request request = new Request.Builder()
@@ -178,22 +264,22 @@ public class BusinessActivity extends BaseActivity {
@Override
public void onResponse(Call call, Response response) throws IOException {
if(response.code()==200){
String body=response.body().string();
Log.e("-body-",body);
BusinessBean bb=gson.fromJson(body,BusinessBean.class);
if(bb.getCode()==200){
if (response.code() == 200) {
String body = response.body().string();
Log.e("-body-", body);
BusinessBean bb = gson.fromJson(body, BusinessBean.class);
if (bb.getCode() == 200) {
sum++;
//bbs.add(bb.getData());
if(sum==1){
Log.e("--添加--",bbs.size()+"_"+blb.getData().getResults().size());
MsgUtil.addHdMsgWatBody(hd,2,gson.toJson(bb.getData()));
}else{
Log.e("--添加--",bbs.size()+"_"+blb.getData().getResults().size());
MsgUtil.addHdMsgWatBody(hd,3,gson.toJson(bb.getData()));
if (sum == 1) {
Log.e("--添加--", bbs.size() + "_" + blb.getData().getResults().size());
MsgUtil.addHdMsgWatBody(hd, 2, gson.toJson(bb.getData()));
} else {
Log.e("--添加--", bbs.size() + "_" + blb.getData().getResults().size());
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 int type_img;
@@ -19,8 +19,8 @@ import java.util.Set;
* @description:
*/
public class Md5Util {
static String app_key="3d4c1b5592f9ae09";
static String appSecret="642cc46b385264595df7cce271250a1cb782b39c";
static String app_key="1000055";
static String appSecret="4e0d1be81540c4d1f0868d329b3229467f071f6c";
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"};
public static String resUrl(String longitude,String latitude,String keyword){
@@ -35,7 +35,7 @@ public class Md5Util {
requestParam.put("format", "json");
requestParam.put("v", "1");
requestParam.put("sign_method", "MD5");
requestParam.put("session", "cb2007c78d055247f7f242760173268caef1183a");
requestParam.put("session", "c1fc1773a27d47e988725bc6df150626dbda0b4d");
requestParam.put("sign", generateSign(requestParam,appSecret,"MD5"));
str+="?";
for(int i=0;i<requestParam.size();i++){
@@ -7,6 +7,7 @@ import android.graphics.Outline;
import android.location.Location;
import android.os.Bundle;
import android.os.Message;
import android.text.TextUtils;
import android.util.Log;
import android.view.Gravity;
import android.view.LayoutInflater;
@@ -35,18 +36,28 @@ import com.amap.api.maps.model.LatLng;
import com.amap.api.maps.model.Marker;
import com.amap.api.maps.model.MarkerOptions;
import com.amap.api.maps.model.MyLocationStyle;
import com.arpa.hndahesudintocctmsdriver.bean.BankCardListBean;
import com.arpa.hndahesudintocctmsdriver.bean.DriverExpireBean;
import com.arpa.hndahesudintocctmsdriver.bean.ImageConfig;
import com.arpa.hndahesudintocctmsdriver.bean.JTT;
import com.arpa.hndahesudintocctmsdriver.constant.JTTConstant;
import com.arpa.hndahesudintocctmsdriver.event.HomeEvent;
import com.arpa.hndahesudintocctmsdriver.event.HomeWaybillEvent;
import com.arpa.hndahesudintocctmsdriver.parts.StartOrderParts;
import com.arpa.hndahesudintocctmsdriver.report.JTTProcess;
import com.arpa.hndahesudintocctmsdriver.request.WalletRequest;
import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity;
import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivity;
import com.arpa.hndahesudintocctmsdriver.ui.news.NewActivity;
import com.arpa.hndahesudintocctmsdriver.util.PicturlUtil;
import com.arpa.hndahesudintocctmsdriver.ui.wallet.UpBankActivity;
import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.arpa.hndahesudintocctmsdriver.util.SPUtils;
import com.arpa.hndahesudintocctmsdriver.util.string.StringUtil;
import com.bumptech.glide.Glide;
import com.dahe.mylibrary.utils.TimeUtil;
import com.dahe.mylibrary.utils.ToastUtils;
import com.google.gson.Gson;
import com.gyf.cactus.Cactus;
import com.hjq.xtoast.XToast;
import com.lxj.xpopup.XPopup;
import com.lxj.xpopup.interfaces.OnConfirmListener;
@@ -114,7 +125,11 @@ public class HomeFragment extends BaseFragment {
private HuoYuanListBean hb;
private Gson gson = new Gson();
private CardView btn_news, btn_loadin, btn_update;
private LinearLayout order_all;
private LinearLayout order_all, llCurWay;
private TextView tvWaybill, tvGo, tvZX;
private ImageView ivType;
private HuoYuanListBean uab;
private List<Marker> list = new ArrayList<>();
private HuoYuanListDealBean hdb;
@@ -123,6 +138,7 @@ public class HomeFragment extends BaseFragment {
private ImageConfig ic;
private DriverExpireBean deb;
@Override
public void msgMethod(Message m) {
super.msgMethod(m);
@@ -135,11 +151,37 @@ public class HomeFragment extends BaseFragment {
refreshLayout.finishRefresh(500);
keys = false;
}
//银行卡信息接收
if (CacheGroup.cacheList.get(dataName2) != null) {
BankCardListBean bcb = new Gson().fromJson(CacheGroup.cacheList.get(dataName2), BankCardListBean.class);
if (bcb.getCode() == 200) {
if (bcb.getData() == null || bcb.getData().getRecords() == null || bcb.getData().getRecords().size() < 1) {
new MessageUtils().showSimCenPop(con, "缺少银行卡可能会导致运费无法结算,是否去添加!", "取消", "确认", () -> {
Intent in333 = new Intent(con, UpBankActivity.class);
startActivity(in333);
});
}
} else {
Toast.makeText(con, bcb.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove(dataName2);
}
if (CacheGroup.cacheList.get("userdata") != null) {
ub = gson.fromJson(CacheGroup.cacheList.get("userdata"), UserBean.class);
if (ub.getCode() == 200) {
SPUtil.insSP(con, "data", "userdata", CacheGroup.cacheList.get("userdata"));
MsgUtil.addHdMsgWat(hd, 33);
//新用户注册,需弹窗提示注册
if ("0".equals(ub.getData().getRealAuthentication())) {
new MessageUtils().showSimCenPop(con, "该司机还未认证,未认证无法接单。是否去注册!", () -> {
Intent in = new Intent(con, CertificatesActivity.class);
in.putExtra("index", 0);
startActivity(in);
});
}
} else {
Toast.makeText(con, ub.getMsg(), Toast.LENGTH_SHORT).show();
}
@@ -152,8 +194,12 @@ public class HomeFragment extends BaseFragment {
SPUtil.insSP(con, JTTConstant.JTT_DATA_NAME, JTTConstant.JTT_DATA_ORDER_KEY, gson.toJson(sob));
initStart();
StartOrderParts.setStartOrder(con, sob);
if (sob.getData() != null) {
if (sob.getData() != null && !sob.getData().getWaybillStatus().equals("已取消")) {
dealCurWay(sob.getData());
ur.getJtts(sob.getData().getShippingNoteNumber());
} else {
SPUtils.remove(con,"curWaybillId");
llCurWay.setVisibility(View.GONE);
}
} else {
Toast.makeText(con, sob.getMsg(), Toast.LENGTH_SHORT).show();
@@ -228,7 +274,9 @@ public class HomeFragment extends BaseFragment {
in.putExtra("url", deb.getData().getIdCardUpdateUrl());
}
}
if (!"".equals(deb.getData().getDriverLicenseUpdateUrl()) || !"".equals(deb.getData().getIdCardUpdateUrl())) {
if (!TextUtils.isEmpty(deb.getData().getDriverLicenseUpdateUrl()) || !TextUtils.isEmpty(deb.getData().getIdCardUpdateUrl()) ||
!TextUtils.isEmpty(deb.getData().getQualificationUpdateUrl()) || !TextUtils.isEmpty(deb.getData().getRoadLicenseUpdateUrl()) ||
!TextUtils.isEmpty(deb.getData().getInsuranceUpdateUrl())) {
new XToast<>(act)
.setContentView(R.layout.view_bc)
// 设置成可拖拽的
@@ -305,8 +353,8 @@ public class HomeFragment extends BaseFragment {
EventBus.getDefault().register(this);
hyr = new HuoYuanRequset(con, hd);
ur = new UserRequset(con, hd);
initRefreshLoad();
initView(null);
initRefreshLoad();
btn_news.setOnClickListener(v -> {
});
@@ -383,6 +431,7 @@ public class HomeFragment extends BaseFragment {
@Override
public void initView(Object obj) {
super.initView(obj);
Cactus.getInstance().updateNotification(getActivity());
List<ManyBean> list = new ArrayList<>();
list.add(new ManyBean(new Model(), R.layout.item_home));
as = brv.creates(con, list);
@@ -411,6 +460,13 @@ public class HomeFragment extends BaseFragment {
order_box = v.findViewById(R.id.order_box);
auth_box = v.findViewById(R.id.auth_box);
order_all = v.findViewById(R.id.order_all);
llCurWay = v.findViewById(R.id.llCurWay);
tvWaybill = v.findViewById(R.id.tvWaybill);
tvGo = v.findViewById(R.id.tvGo);
tvZX = v.findViewById(R.id.loadingAddress);
ivType = v.findViewById(R.id.ivType);
ImageView fun_left = v.findViewById(R.id.fun_left);
ImageView fun_right = v.findViewById(R.id.fun_right);
fun_left.setOnClickListener(v16 -> startActivity(new Intent(con, OrderListActivity.class)));
@@ -467,7 +523,7 @@ public class HomeFragment extends BaseFragment {
case 0:
//startActivity(new Intent(con, OrderListActivity.class));
PermissionX.init(getActivity())
.permissions(Manifest.permission.ACCESS_BACKGROUND_LOCATION)
.permissions(Manifest.permission.ACCESS_FINE_LOCATION)
.request((allGranted, grantedList, deniedList) -> {
if (allGranted) {
Intent in = new Intent(con, BusinessActivity.class);
@@ -510,6 +566,100 @@ public class HomeFragment extends BaseFragment {
initMap();
}
StartOrderBean.DataDTO.WayChildrenDTO zData = new StartOrderBean.DataDTO.WayChildrenDTO();
StartOrderBean.DataDTO.WayChildrenDTO xData = new StartOrderBean.DataDTO.WayChildrenDTO();
/**
* 一装一卸逻辑
*
* @param data
*/
private void dealCurWay(StartOrderBean.DataDTO data) {
SPUtils.put(con, "curWaybillId", data.getWaybillId());
for (int i = 0; i < data.getWayChildren().size(); i++) {
if (1 == data.getWayChildren().get(i).getType()) {
zData = data.getWayChildren().get(i);
break;
}
}
for (int i = 0; i < data.getWayChildren().size(); i++) {
if (2 == data.getWayChildren().get(i).getType()) {
xData = data.getWayChildren().get(i);
break;
}
}
llCurWay.setVisibility(View.VISIBLE);
tvWaybill.setText(data.getShippingNoteNumber());
tvGo.setText(getGoText(zData.getStatus(),xData.getStatus()));
if (data.getWaybillStatus().equals("待装货")) {
tvZX.setText(zData.getAddress());
ivType.setBackgroundResource(R.mipmap.zhuang);
} else {
tvZX.setText(xData.getAddress());
ivType.setBackgroundResource(R.mipmap.xie);
}
tvGo.setOnClickListener(v -> {
int zStatus = zData.getStatus();
int xStatus = xData.getStatus();
if (zStatus == 0) {//未装货
Intent in = new Intent(con, ShangChuangImgActivity.class);
in.putExtra("type", 0);
in.putExtra("wid", zData.getId() + "");
in.putExtra("sob", gson.toJson(sob));
in.putExtra("keys", true);
startActivity(in);
} else if (zStatus == 1 && xStatus == 4) {//已装货未上传回单
Intent in = new Intent(con, ShangChuangImgActivity.class);
in.putExtra("type", 2);
in.putExtra("wid", zData.getId() + "");
in.putExtra("h_type", 0);
in.putExtra("sob", gson.toJson(sob));
startActivity(in);
} else if (zStatus == 3 && xStatus == 4) {//已上传装货回单,未卸货
int dis = TimeUtil.compareNowDate(TimeUtil.string2Millis(zData.getImageTakenDate(), TimeUtil.DEFAULT_FORMAT4));
if (dis > 5) {//大于五分钟可以接单
Intent in = new Intent(con, ShangChuangImgActivity.class);
in.putExtra("type", 1);
in.putExtra("wid", xData.getId() + "");
in.putExtra("sob", gson.toJson(sob));
in.putExtra("keys", true);
startActivity(in);
} else {
ToastUtils.showToast(con, "请到卸货地再进行卸货操作!");
}
} else if (zStatus == 3 && xStatus == 2) {//已卸货,未上传卸货回单
Intent in = new Intent(con, ShangChuangImgActivity.class);
in.putExtra("type", 2);
in.putExtra("wid", xData.getId() + "");
in.putExtra("h_type", 1);
in.putExtra("sob", gson.toJson(sob));
in.putExtra("keys", true);
startActivity(in);
}else{
ToastUtils.showToast(con,"已完成该运单");
}
});
}
private String getGoText(int zStatus, int xStatus) {
if (zStatus == 0) {//未装货
return "去装货";
} else if (zStatus == 1 && xStatus == 4) {//已装货未上传回单
return "装货回单";
} else if (zStatus == 3 && xStatus == 4) {//已上传装货回单,未卸货
return "去卸货";
} else if (zStatus == 3 && xStatus == 2) {//已卸货,未上传卸货回单
return "卸货回单";
}
return "已完成";
}
/**
*
*/
@@ -529,10 +679,14 @@ public class HomeFragment extends BaseFragment {
ur.upApp();
hyr.getHuoYuan(1, 100);
ur.getImage(1);
WalletRequest qr = new WalletRequest(con, hd);
if (UiAuxiliary.isLogin(con)) {
int curWaybillId = (int) SPUtils.get(con, "curWaybillId", -1);
ur.User();
qr.getBankCardList();
ur.getDriverExpire();
hyr.startOrder(0);
hyr.startOrder(curWaybillId==-1 ? 0 : curWaybillId);
ur.driverAuthData();
}
// oldTime= Calendar.getInstance().getTimeInMillis();
@@ -783,7 +937,9 @@ public class HomeFragment extends BaseFragment {
private class MyLoader extends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
Glide.with(con).load(path).into(imageView);
if (HomeFragment.this != null && getActivity() != null && !getActivity().isDestroyed()) {
Glide.with(con).load(path).into(imageView);
}
}
}
@@ -882,6 +1038,7 @@ public class HomeFragment extends BaseFragment {
public void initAlct() {
PermissionX.init(getActivity())
.permissions(Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.RECORD_AUDIO)
.request((allGranted, grantedList, deniedList) -> {
if (allGranted) {
@@ -977,6 +1134,12 @@ public class HomeFragment extends BaseFragment {
initView(null);
}
@Subscribe
public void processResult(HomeWaybillEvent home) {
int curWaybillId = (int) SPUtils.get(con, "curWaybillId", -1);
hyr.startOrder(curWaybillId==-1 ? 0 : curWaybillId);
}
class Model {
private int imageId;
@@ -1,14 +1,23 @@
package com.arpa.hndahesudintocctmsdriver.ui.home;
import android.Manifest;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.Html;
import android.text.Layout;
import android.text.TextUtils;
import android.text.method.HideReturnsTransformationMethod;
import android.text.method.PasswordTransformationMethod;
import android.util.Log;
import android.view.inputmethod.EditorInfo;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;
@@ -18,20 +27,29 @@ import androidx.annotation.Nullable;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.arpa.hndahesudintocctmsdriver.H5Activity;
import com.arpa.hndahesudintocctmsdriver.bean.JTT;
import com.arpa.hndahesudintocctmsdriver.bean.ToH5Bean;
import com.arpa.hndahesudintocctmsdriver.event.FaceEvent;
import com.arpa.hndahesudintocctmsdriver.event.HomeEvent;
import com.arpa.hndahesudintocctmsdriver.event.PdfResEvent;
import com.arpa.hndahesudintocctmsdriver.parts.ConfigParts;
import com.arpa.hndahesudintocctmsdriver.parts.UserParts;
import com.arpa.hndahesudintocctmsdriver.report.ALProcess;
import com.arpa.hndahesudintocctmsdriver.report.JTTProcess;
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.sp.SPUtil;
import com.arpa.hndahesudintocctmsdriver.util.string.StringUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity;
import com.dahe.mylibrary.utils.ActivityUtils;
import com.esign.esignsdk.EsignSdk;
import com.esign.esignsdk.data.AuthEvent;
import com.google.gson.Gson;
import com.lxj.xpopup.XPopup;
import com.lxj.xpopup.core.BasePopupView;
import com.lxj.xpopup.interfaces.OnCancelListener;
import com.lxj.xpopup.interfaces.OnConfirmListener;
import com.arpa.hndahesudintocctmsdriver.R;
import com.arpa.hndahesudintocctmsdriver.bean.BaseBean;
@@ -93,7 +111,19 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
if (bb.getCode() == 200) {
//Toast.makeText(con,"接单成功",Toast.LENGTH_SHORT).show();
customDialog.dismiss();
EsignSdk.getInstance().startH5Activity(act, (String) bb.getData());
// EsignSdk.getInstance().startH5Activity(act, (String) bb.getData());
if (null==bb.getData()){
UiAuxiliary.homeRequest("接单");
Intent in = new Intent(con, StartYunDanActivity.class);
in.putExtra("id", "0");
startActivity(in);
finish();
}else{
Intent intent = new Intent(this, H5Activity.class);
intent.putExtra("url", (String) bb.getData());
intent.putExtra("view_file", false);
startActivity(intent);
}
//finish();
} else {
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show();
@@ -120,6 +150,33 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
car.setText("选择车辆:" + clb.getData().get(index).getCarNumber());
cid = clb.getData().get(index).getCarId();
break;
case 1111://安联用户验证通过,接单
new XPopup.Builder(con)
.isDestroyOnDismiss(true) //对于只使用一次的弹窗,推荐设置这个
.asConfirm("请确认接单", "是否确定承运此运单?",
"取消", "确认",
() -> {
ToH5Bean toH5Bean = new ToH5Bean();
toH5Bean.setId(id);
toH5Bean.setCarNumber(car.getText().toString().substring("选择车辆:".length()));
toH5Bean.setCarId(cid);
Log.e("--id--", "cid:" + cid + "---wid:" + id);
Intent in = new Intent(con, WebActivity.class);
in.putExtra("url", "https://platform.test.dahehuoyun.com/contract/dist/#/contracttemplate");
in.putExtra("id", id);
in.putExtra("ToH5Bean",toH5Bean);
in.putExtra("title", "合同签署");
// startActivity(in);
startActivityForResult(in,1);
}, () -> customDialog.dismiss(), false, R.layout.alert_ok_cancel) //最后一个参数绑定已有布局
.show();
break;
case 2222://安联用户验证不通过
customDialog.dismiss();
new MessageUtils().showCenMessage(con, (String) m.obj);
break;
}
}
@@ -164,6 +221,8 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
//2021/02/27记,类型声明错误
ImageButton return_btn = v.findViewById(R.id.return_btn);
ImageButton xuan = v.findViewById(R.id.xuan);
CheckBox checkBox = v.findViewById(R.id.cb);
TextView totalFreight = v.findViewById(R.id.totalFreight);
ImageButton btnFp = v.findViewById(R.id.btnFp);
TextView effectiveTime = v.findViewById(R.id.effectiveTime);
TextView check_contract = v.findViewById(R.id.check_contract);
@@ -174,6 +233,15 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
return_btn.setOnClickListener(v16 -> {
finish();
});
totalFreight.setText("****");
checkBox.setOnCheckedChangeListener((buttonView, isChecked) -> {
if (isChecked){
totalFreight.setText(hyd.getData().getTotalFreight());
}else{
totalFreight.setText("****");
}
// totalFreight.setTransformationMethod(isChecked? HideReturnsTransformationMethod.getInstance(): PasswordTransformationMethod.getInstance());
});
// String textSource = "同意在符合相关税务机关要求的情况下代开<font color='#ff0000'>增值税发票</font>";
String textSource = "公司已对运输合同条款充分解释说明,本人已充分理解、认可并签署;同意符合税务机关要求下<font color='#ff0000'>代开增值税发票</font>,产生的增值税及附加税本人承担。";
tvZzs.setText(Html.fromHtml(textSource));
@@ -236,20 +304,7 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
if (cid != null) {
// if (fpKey){
if (key) {
new XPopup.Builder(con)
.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();
reOrder();
} else {
Toast.makeText(con, "请先同意并签署运输合同", Toast.LENGTH_SHORT).show();
}
@@ -316,6 +371,51 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
});
}
@Subscribe
public void faceResult(FaceEvent home) {
Log.e("-res-", home.getMessage());
UiAuxiliary.homeRequest("接单");
Intent in = new Intent(con, StartYunDanActivity.class);
in.putExtra("id", "0");
startActivity(in);
finish();
// new Handler().postDelayed(() -> {
// UiAuxiliary.homeRequest("接单");
// Intent in = new Intent(con, StartYunDanActivity.class);
// in.putExtra("id", "0");
// startActivity(in);
// finish();
// }, 2500);
// new Handler().postDelayed(() -> {
//
//
// UiAuxiliary.homeRequest("接单");
//// //ur.getJtt(hyd.getData().getId());
//
// Intent in = new Intent(con, StartYunDanActivity.class);
// in.putExtra("id", "0");
// startActivity(in);
//
// ActivityUtils.finishActivity(H5Activity.class);
// finish();
//
//
// }, 1500);
// UiAuxiliary.homeRequest("接单");
// Intent in = new Intent(con, StartYunDanActivity.class);
// in.putExtra("id", "0");
// startActivity(in);
// finish();
}
@Subscribe
public void processResult(AuthEvent auth) {
//添加实名/意愿/签署完成之后的逻辑
@@ -350,4 +450,31 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK&&requestCode==1){
//签合同后接单
// String pdfUrl = data.getStringExtra("pdfUrl");
// hyr.confirm(cid,pdfUrl, id);
UiAuxiliary.homeRequest("接单");
Intent in = new Intent(con, StartYunDanActivity.class);
in.putExtra("id", "0");
startActivity(in);
finish();
}
}
/**
* 接单
* 先判断安联用户信息验证,随后接单
*/
private void reOrder() {
customDialog = new CustomDialog(con, "正在接单...");
customDialog.show();
//验证安联用户是否通过
ALProcess.verification(con, hd);
}
}
@@ -81,7 +81,7 @@ public class OrderAllActivity extends BaseActivity {
}else{
Toast.makeText(con,"抢单",Toast.LENGTH_SHORT).show();
}
xp.dismiss();
// xp.dismiss();
break;
default:break;
}
@@ -40,7 +40,11 @@ import com.amap.api.services.route.DriveStep;
import com.amap.api.services.route.RideRouteResult;
import com.amap.api.services.route.RouteSearch;
import com.amap.api.services.route.WalkRouteResult;
import com.arpa.hndahesudintocctmsdriver.util.alert.CustomDialog;
import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil;
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.gson.Gson;
import com.arpa.hndahesudintocctmsdriver.R;
@@ -70,14 +74,15 @@ import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.function.Predicate;
public class StartYunDanActivity extends BaseActivity {
public static final String GET_EVALUTE="getEvalute";
public static final String KEEP_EVALUTE="keepEvalte";
public static final String GET_COMPLAINT="getComplaint";
public static final String GET_EVALUTE = "getEvalute";
public static final String KEEP_EVALUTE = "keepEvalte";
public static final String GET_COMPLAINT = "getComplaint";
private String TAG="StartYunDanActivity";
private String TAG = "StartYunDanActivity";
private NestedScrollView bottomSheet;
private MapView map;
private BaseRecyclerView brv;
@@ -85,57 +90,61 @@ public class StartYunDanActivity extends BaseActivity {
private LinearLayout protect;
//private RelativeLayout title_rl;
private TextView title;
private ScoreView sv1,sv2;
private Gson gson=new Gson();
private ScoreView sv1, sv2;
private Gson gson = new Gson();
private StartOrderBean sob;
private WNewsBean wnb;
private HuoYuanRequset hyr;
//是否处于展开状态
private boolean key=false;
private int id=0;
private boolean key = false;
private int id = 0;
LocationGDUtil ld;
@Override
public void msgMethod(Message m) {
super.msgMethod(m);
switch (m.what){
switch (m.what) {
case RequsetCodeConstants.SUCCESS:
//获取页面数据
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(HuoYuanFragmengt.START_ORDER));
sob=gson.fromJson(CacheGroup.cacheList.get(HuoYuanFragmengt.START_ORDER), StartOrderBean.class);
wnb=gson.fromJson(CacheGroup.cacheList.get(GET_EVALUTE), WNewsBean.class);
if(sob.getCode()==200 && sob.getData()!=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(HuoYuanFragmengt.START_ORDER));
sob = gson.fromJson(CacheGroup.cacheList.get(HuoYuanFragmengt.START_ORDER), StartOrderBean.class);
wnb = gson.fromJson(CacheGroup.cacheList.get(GET_EVALUTE), WNewsBean.class);
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
if (sob.getCode() == 200 && sob.getData() != null) {
id = sob.getData().getWaybillId();
initView(null);
}else if(sob.getData()==null){
} else if (sob.getData() == null) {
// Toast.makeText(con,"运单执行结束",Toast.LENGTH_SHORT).show();
SPUtil.insSP(con,"order","ShippingNoteNumber","");
SPUtil.insSP(con, "order", "ShippingNoteNumber", "");
UiAuxiliary.homeRequest("运单结束");
// finish();
}else{
Toast.makeText(con,sob.getMsg(),Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(con, sob.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove(HuoYuanFragmengt.START_ORDER);
CacheGroup.cacheList.remove(GET_EVALUTE);
}
//保存评价
if(CacheGroup.cacheList.get(KEEP_EVALUTE)!=null){
BaseBean bb=gson.fromJson(CacheGroup.cacheList.get(KEEP_EVALUTE),BaseBean.class);
if(bb.getCode()==200){
Toast.makeText(con,"评价保存成功",Toast.LENGTH_SHORT).show();
if (CacheGroup.cacheList.get(KEEP_EVALUTE) != null) {
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get(KEEP_EVALUTE), BaseBean.class);
if (bb.getCode() == 200) {
Toast.makeText(con, "评价保存成功", Toast.LENGTH_SHORT).show();
hyr.startOrder(id);
hyr.getEvaluate(id);
}else{
Toast.makeText(con,bb.getMsg(),Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove(KEEP_EVALUTE);
}
break;
case 15:
break;
default:break;
default:
break;
}
}
@@ -147,28 +156,28 @@ public class StartYunDanActivity extends BaseActivity {
super.onCreate(savedInstanceState);
StateStyleUtil.stateTextColor(this);
setContentView(R.layout.activity_yundan_start);
con=this;
id=getIntent().getExtras().getInt("id");
brv=findViewById(R.id.brv);
protect=findViewById(R.id.protect);
title=findViewById(R.id.title);
bottomSheet =findViewById(R.id.bottom_sheet);
con = this;
id = getIntent().getExtras().getInt("id");
brv = findViewById(R.id.brv);
protect = findViewById(R.id.protect);
title = findViewById(R.id.title);
bottomSheet = findViewById(R.id.bottom_sheet);
BottomSheetBehavior mBottomSheetBehavior = BottomSheetBehavior.from(bottomSheet);
mBottomSheetBehavior.setHideable(false);
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
//mBottomSheetBehavior.set
map=findViewById(R.id.map);
map = findViewById(R.id.map);
map.onCreate(savedInstanceState);
if (aMap == null) {
aMap = map.getMap();
initLoaction();
}
Log.e("--id--",""+id);
String userdata= SPUtil.getSP(con,"data","userdata");
if(!userdata.equals("")){
ub=gson.fromJson(userdata,UserBean.class);
Log.e("--id--", "" + id);
String userdata = SPUtil.getSP(con, "data", "userdata");
if (!userdata.equals("")) {
ub = gson.fromJson(userdata, UserBean.class);
}
hyr=new HuoYuanRequset(con,hd);
hyr = new HuoYuanRequset(con, hd);
// hyr.startOrder(id);
// hyr.getEvaluate(id);
}
@@ -184,59 +193,84 @@ public class StartYunDanActivity extends BaseActivity {
//控件隐藏的动画
mHiddenAmin = new AlphaAnimation(1.0f, 0.0f);
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(sob.getData(),R.layout.item_yundan_yunxing));
list.add(new ManyBean(sob.getData(),R.layout.yundan_start_bottom));
brv.creates(con,list).setOnItemViewListener((position, o, v, layout) -> {
switch (layout){
list.add(new ManyBean(sob.getData(), R.layout.item_yundan_yunxing));
list.add(new ManyBean(sob.getData(), R.layout.yundan_start_bottom));
brv.creates(con, list).setOnItemViewListener((position, o, v, layout) -> {
switch (layout) {
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());
break;
case R.layout.yundan_start_bottom:
initStartBody(v);
break;
case R.layout.item_yundan_yunxing:
ImageView head_img=v.findViewById(R.id.head_img);
if(ub!=null && ub.getData()!=null && !ub.getData().getHeadportraitUrl().equals("")){
LinearLayout llMoney = v.findViewById(R.id.llMoney);
if (!sob.getData().getWaybillStatus().equals("已装货")
&& !sob.getData().getWaybillStatus().equals("待装货")
&& !sob.getData().getWaybillStatus().equals("待接单")) {
if (sob.getData().getWaybillStatus().equals("已装货")) {
StartOrderBean.DataDTO.WayChildrenDTO mySdw = new StartOrderBean.DataDTO.WayChildrenDTO();
for (int i = 0; i < sob.getData().getWayChildren().size(); i++) {
StartOrderBean.DataDTO.WayChildrenDTO sdw = sob.getData().getWayChildren().get(i);
if (sdw.getType() == 1) {
mySdw = sdw;
break;
}
}
if (mySdw.getStatus() == 3) {
llMoney.setVisibility(View.GONE);
} else {
llMoney.setVisibility(View.VISIBLE);
}
} else {
llMoney.setVisibility(View.VISIBLE);
}
} else {
llMoney.setVisibility(View.GONE);
}
ImageView head_img = v.findViewById(R.id.head_img);
if (ub != null && ub.getData() != null && !ub.getData().getHeadportraitUrl().equals("")) {
Glide.with(con).load(ub.getData().getHeadportraitUrl()).into(head_img);
}
break;
default: break;
default:
break;
}
});
}
private boolean iskey=false;
private boolean iskey = false;
private void initStartBody(View v){
LinearLayout jiesuan=v.findViewById(R.id.jiesuan);
private void initStartBody(View v) {
LinearLayout jiesuan = v.findViewById(R.id.jiesuan);
// if(id==0){
// jiesuan.setVisibility(View.GONE);
// }else{
// jiesuan.setVisibility(View.VISIBLE);
// }
sv1=v.findViewById(R.id.score1);
sv2=v.findViewById(R.id.score2);
sv1 = v.findViewById(R.id.score1);
sv2 = v.findViewById(R.id.score2);
sv1.initView();
sv2.initView();
sv1.setScore(5);
//设置是否可以修改评分,默认为true
TextView pl_submit=v.findViewById(R.id.pl_submit);
TextView m_pl_value=v.findViewById(R.id.m_pl_value);
TextView pl_value=v.findViewById(R.id.pl_value);
if(wnb.getData()!=null){
TextView pl_submit = v.findViewById(R.id.pl_submit);
TextView m_pl_value = v.findViewById(R.id.m_pl_value);
TextView pl_value = v.findViewById(R.id.pl_value);
if (wnb.getData() != null) {
for (WNewsBean.DataDTO datum : wnb.getData()) {
if(datum.getType()==0){
if (datum.getType() == 0) {
sv1.setScore(datum.getAttitudeScore());
m_pl_value.setText(datum.getContent());
pl_submit.setVisibility(View.GONE);
sv1.setUpKey(false);
m_pl_value.setEnabled(false);
}
if(datum.getType()==1){
Log.e("分数",datum.getAttitudeScore()+"_");
if (datum.getType() == 1) {
Log.e("分数", datum.getAttitudeScore() + "_");
sv2.setScore(datum.getAttitudeScore());
pl_value.setText(datum.getContent());
}
@@ -244,45 +278,45 @@ public class StartYunDanActivity extends BaseActivity {
}
sv2.setUpKey(false);
pl_submit.setOnClickListener(v12 -> {
String evaluate=m_pl_value.getText()+"";
if(id!=0){
if(evaluate.length()>=5){
Log.e("星星",""+sv1.getScore());
hyr.keepEvaluate(sv1.getScore(),m_pl_value.getText()+"",id);
}else{
Toast.makeText(con,"写够5个字才是好司机~",Toast.LENGTH_SHORT).show();
String evaluate = m_pl_value.getText() + "";
if (id != 0) {
if (evaluate.length() >= 5) {
Log.e("星星", "" + sv1.getScore());
hyr.keepEvaluate(sv1.getScore(), m_pl_value.getText() + "", id);
} else {
Toast.makeText(con, "写够5个字才是好司机~", Toast.LENGTH_SHORT).show();
}
}else{
Toast.makeText(con,"运单尚未结束",Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(con, "运单尚未结束", Toast.LENGTH_SHORT).show();
}
});
Button complaint=v.findViewById(R.id.complaint);
Button complaint = v.findViewById(R.id.complaint);
complaint.setOnClickListener(v1 -> {
Intent in=new Intent(con, OrderComplaintActivity.class);
in.putExtra("id",id);
Intent in = new Intent(con, OrderComplaintActivity.class);
in.putExtra("id", id);
startActivity(in);
});
BaseRecyclerView bv_zhuang=v.findViewById(R.id.bv_zhuang);
BaseRecyclerView bv_xie=v.findViewById(R.id.bv_xie);
BaseRecyclerView bv_zhuang = v.findViewById(R.id.bv_zhuang);
BaseRecyclerView bv_xie = v.findViewById(R.id.bv_xie);
//bv_zhuang.set
List<Object> list_zhuang=new ArrayList<>();
List<Object> list_xie=new ArrayList<>();
for(int i=0;i<sob.getData().getWayChildren().size();i++){
StartOrderBean.DataDTO.WayChildrenDTO sdw=sob.getData().getWayChildren().get(i);
if(sdw.getType()==1){
sdw.setUpdateTime(StringUtil.isNull((String) sdw.getUpdateTime(),"未装货"));
List<Object> list_zhuang = new ArrayList<>();
List<Object> list_xie = new ArrayList<>();
for (int i = 0; i < sob.getData().getWayChildren().size(); i++) {
StartOrderBean.DataDTO.WayChildrenDTO sdw = sob.getData().getWayChildren().get(i);
if (sdw.getType() == 1) {
sdw.setUpdateTime(StringUtil.isNull((String) sdw.getUpdateTime(), "未装货"));
list_zhuang.add(sdw);
}else{
sdw.setUpdateTime(StringUtil.isNull((String) sdw.getUpdateTime(),"未卸货"));
} else {
sdw.setUpdateTime(StringUtil.isNull((String) sdw.getUpdateTime(), "未卸货"));
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 -> {
Intent in=new Intent(con, WebPDFActivity.class);
in.putExtra("title","电子合同");
Log.e("--地址--",sob.getData().getContractUrl());
in.putExtra("url",sob.getData().getContractUrl());
Intent in = new Intent(con, WebPDFActivity.class);
in.putExtra("title", "电子合同");
Log.e("--地址--", sob.getData().getContractUrl());
in.putExtra("url", sob.getData().getContractUrl());
startActivity(in);
});
// v.findViewById(R.id.upload_receipt).setOnClickListener(new View.OnClickListener() {
@@ -294,140 +328,163 @@ public class StartYunDanActivity extends BaseActivity {
// 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;
if(position==0){
upkey=true;
boolean upkey = false;
if (position == 0) {
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;
if(position==(list_xie.size()-1)){
upkey=true;
boolean upkey = false;
if (position == (list_xie.size() - 1)) {
upkey = true;
}
initZX(upkey, v15, position, o, 1);
});
search();
}
public void initZX(boolean key,View v,int position,Object o,int type){
StartOrderBean.DataDTO.WayChildrenDTO sdw= (StartOrderBean.DataDTO.WayChildrenDTO) o;
TextView index=v.findViewById(R.id.index);
TextView s_zx=v.findViewById(R.id.s_zx);
TextView j_zx=v.findViewById(R.id.j_zx);
if(type==1){
public void initZX(boolean key, View v, int position, Object o, int type) {
StartOrderBean.DataDTO.WayChildrenDTO sdw = (StartOrderBean.DataDTO.WayChildrenDTO) o;
TextView index = v.findViewById(R.id.index);
TextView s_zx = v.findViewById(R.id.s_zx);
TextView j_zx = v.findViewById(R.id.j_zx);
if (type == 1) {
s_zx.setText("实际卸货时间:");
j_zx.setText("计划卸货时间:");
}
if(position==0){
if(type==0){
if (position == 0) {
if (type == 0) {
index.setText("装货地");
}else{
} else {
index.setText("卸货地");
}
}else{
if(type==0) {
} else {
if (type == 0) {
index.setText("" + (position + 1) + "装货地");
}else{
} else {
index.setText("" + (position + 1) + "卸货地");
}
}
TextView goodName=v.findViewById(R.id.goodName);
TextView goodNum=v.findViewById(R.id.goodNum);
TextView goodUnit=v.findViewById(R.id.goodUnit);
TextView goodName = v.findViewById(R.id.goodName);
TextView goodNum = v.findViewById(R.id.goodNum);
TextView goodUnit = v.findViewById(R.id.goodUnit);
goodName.setText(sdw.getGoods().get(0).getGoodName());
goodNum.setText(sdw.getGoods().get(0).getGoodNum());
goodUnit.setText(sdw.getGoods().get(0).getGoodUnit());
TextView huoyuan_state=v.findViewById(R.id.huoyuan_state);
huoyuan_state.setText(stateText(sdw.getStatus(),type));
TextView huoyuan_state = v.findViewById(R.id.huoyuan_state);
huoyuan_state.setText(stateText(sdw.getStatus(), type));
huoyuan_state.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String wid= sdw.getId()+"";
if(sdw.getStatus()==0){
if(type==0){
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);
String wid = sdw.getId() + "";
if (sdw.getStatus() == 0) {
if (type == 0) {
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);
}else{
Toast.makeText(con,"您还没有装货",Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(con, "您还没有装货", Toast.LENGTH_SHORT).show();
}
}else if(sdw.getStatus()==1){//装货回单
Intent in=new Intent(con, ShangChuangImgActivity.class);
in.putExtra("type",2);
in.putExtra("wid",wid);
in.putExtra("h_type",type);
in.putExtra("sob",gson.toJson(sob));
} else if (sdw.getStatus() == 1) {//装货回单
Intent in = new Intent(con, ShangChuangImgActivity.class);
in.putExtra("type", 2);
in.putExtra("wid", wid);
in.putExtra("h_type", type);
in.putExtra("sob", gson.toJson(sob));
startActivity(in);
}else if(sdw.getStatus()==2){//上传收货单(卸货回单)
Intent in=new Intent(con, ShangChuangImgActivity.class);
in.putExtra("type",2);
in.putExtra("wid",wid);
in.putExtra("h_type",type);
in.putExtra("sob",gson.toJson(sob));
in.putExtra("keys",key);
} else if (sdw.getStatus() == 2) {//上传收货单(卸货回单)
Intent in = new Intent(con, ShangChuangImgActivity.class);
in.putExtra("type", 2);
in.putExtra("wid", wid);
in.putExtra("h_type", type);
in.putExtra("sob", gson.toJson(sob));
in.putExtra("keys", key);
startActivity(in);
}else if(sdw.getStatus()==3){
Intent in=new Intent(con, GetShangChuanActivity.class);
in.putExtra("sdwStr",gson.toJson(sdw));
startActivity(in);
}else{//卸货照片
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);
} else if (sdw.getStatus() == 3) {
Intent in = new Intent(con, GetShangChuanActivity.class);
in.putExtra("sdwStr", gson.toJson(sdw));
startActivity(in);
} else {//卸货照片
StartOrderBean.DataDTO.WayChildrenDTO zInfo;
for (int i = 0; i < sob.getData().getWayChildren().size(); i++) {
if (sob.getData().getWayChildren().get(i).getType() == 1) {
zInfo = sob.getData().getWayChildren().get(i);
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);
} else {
ToastUtils.showToast(StartYunDanActivity.this, "请到卸货地再进行卸货操作!");
}
break;
} else {
ToastUtils.showToast(StartYunDanActivity.this, "请先上传出货单,再进行卸货操作!");
}
break;
}
}
}
}
});
}
public String stateText(int state,int type){
String str="";
public String stateText(int state, int type) {
String str = "";
//0待装货,1已装货 2已卸货 3已上传回单 4待卸货
switch (state){
switch (state) {
case 0://str="待装货";
if(type==0){
str="立即装货";
if (type == 0) {
str = "立即装货";
// str="确认装货";
}else{
str="请先装货";
} else {
str = "请先装货";
}
break;
case 1://str="已装货";
str="上传出货单";
str = "上传出货单";
// str="确认回单";
break;
case 2://str="已卸货";
str="上传收货单";
str = "上传收货单";
// str="确认回单";
break;
case 3:
//str="已上传回单";
str="查看凭证";
str = "查看凭证";
break;
case 4:
//str="待卸货";
str="确认卸货";
str = "确认卸货";
break;
default:
break;
default:break;
}
return str;
}
private CustomDialog customDialog;
@Override
protected void onResume() {
super.onResume();
if(map!=null){
if (map != null) {
map.onResume();
}
customDialog = new CustomDialog(con, "网络请求中...");
customDialog.show();
hyr.startOrder(id);
hyr.getEvaluate(id);
}
@@ -435,7 +492,7 @@ public class StartYunDanActivity extends BaseActivity {
@Override
protected void onPause() {
super.onPause();
if(map!=null){
if (map != null) {
map.onPause();
}
}
@@ -443,7 +500,7 @@ public class StartYunDanActivity extends BaseActivity {
@Override
protected void onDestroy() {
super.onDestroy();
if(map!=null){
if (map != null) {
map.onDestroy();
}
}
@@ -453,11 +510,12 @@ public class StartYunDanActivity extends BaseActivity {
super.onSaveInstanceState(outState);
map.onSaveInstanceState(outState);
}
LocationSource.OnLocationChangedListener mListener;
AMapLocationClient mlocationClient;
AMapLocationClientOption mLocationOption;
public void initLoaction(){
public void initLoaction() {
// 设置定位监听
aMap.setLocationSource(new LocationSource() {
@Override
@@ -476,13 +534,13 @@ public class StartYunDanActivity extends BaseActivity {
mlocationClient.setLocationListener(new AMapLocationListener() {
@Override
public void onLocationChanged(AMapLocation aMapLocation) {
if (mListener != null&&aMapLocation != null) {
if (mListener != null && aMapLocation != null) {
if (aMapLocation != null
&&aMapLocation.getErrorCode() == 0) {
&& aMapLocation.getErrorCode() == 0) {
mListener.onLocationChanged(aMapLocation);// 显示系统小蓝点
} else {
String errText = "定位失败," + aMapLocation.getErrorCode()+ ": " + aMapLocation.getErrorInfo();
Log.e("AmapErr",errText);
String errText = "定位失败," + aMapLocation.getErrorCode() + ": " + aMapLocation.getErrorInfo();
Log.e("AmapErr", errText);
}
}
}
@@ -534,45 +592,44 @@ public class StartYunDanActivity extends BaseActivity {
private RouteSearch mRouteSearch;//路线查询器
private List<LatLonPoint> lists=new ArrayList<>();
private List<LatLonPoint> lists = new ArrayList<>();
public void search(){
public void search() {
// try {
// AMapLocationClient.updatePrivacyShow(con,true,true);
// AMapLocationClient.updatePrivacyAgree(con,true);
mRouteSearch = new RouteSearch(this);
mRouteSearch = new RouteSearch(this);
// } catch (AMapException e) {
// e.printStackTrace();
// }
//设置数据回调监听器
mRouteSearch.setRouteSearchListener(new OnRouteSearchListener());
//设置开始位置坐标点(注意经纬度不能写反,会报错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()));
//设置目的地坐标点
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()));
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()));
//查询信息对象
for (int i=0;i<sob.getData().getWayChildren().size();i++){
if(i!=0 && i!=(sob.getData().getWayChildren().size()-1)){
LatLonPoint sp=new LatLonPoint(Double.parseDouble(sob.getData().getWayChildren().get(i).getLatitude()),
for (int i = 0; i < sob.getData().getWayChildren().size(); i++) {
if (i != 0 && i != (sob.getData().getWayChildren().size() - 1)) {
LatLonPoint sp = new LatLonPoint(Double.parseDouble(sob.getData().getWayChildren().get(i).getLatitude()),
Double.parseDouble(sob.getData().getWayChildren().get((i)).getLongitude()));
lists.add(sp);
}
}
RouteSearch.FromAndTo fromAndTo = new RouteSearch.FromAndTo(startPoint,endPoint);
RouteSearch.FromAndTo fromAndTo = new RouteSearch.FromAndTo(startPoint, endPoint);
//设置搜索参数 1.fromAndTo 路径的起点终点 2.路径规划的策略(这里是驾车模式,具体看高德API) 3.途
//经点,可选 4.避让区域,可选, 5.避让道路 ,可选
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);
}
class OnRouteSearchListener implements RouteSearch.OnRouteSearchListener{
class OnRouteSearchListener implements RouteSearch.OnRouteSearchListener {
@Override
public void onBusRouteSearched(BusRouteResult busRouteResult, int i) {
@@ -581,7 +638,7 @@ public class StartYunDanActivity extends BaseActivity {
@Override
public void onDriveRouteSearched(DriveRouteResult driveRouteResult, int rCode) {
if (rCode == 1000){//获取规划路线成功,获取到的是了,路线坐标点的集合
if (rCode == 1000) {//获取规划路线成功,获取到的是了,路线坐标点的集合
List<DrivePath> paths = driveRouteResult.getPaths();
//创建存储坐标点的集合
List<LatLng> latLngs = new ArrayList<>();
@@ -590,7 +647,7 @@ public class StartYunDanActivity extends BaseActivity {
for (DriveStep mDriveStep : mDrivePath.getSteps()) {
for (LatLonPoint mLatLonPoint : mDriveStep.getPolyline()) {
latLngs.add(new
LatLng(mLatLonPoint.getLatitude(),mLatLonPoint.getLongitude()));
LatLng(mLatLonPoint.getLatitude(), mLatLonPoint.getLongitude()));
}
}
}
@@ -601,24 +658,24 @@ public class StartYunDanActivity extends BaseActivity {
.icon(BitmapDescriptorFactory.fromResource(R.mipmap.qi))
.position(new LatLng(Double.parseDouble(sob.getData().getWayChildren().get(0).getLatitude()),
Double.parseDouble(sob.getData().getWayChildren().get(0).getLongitude()))));
for(int i=0;i<sob.getData().getWayChildren().size();i++){
if(i!=0 && i!=(sob.getData().getWayChildren().size()-1)){
StartOrderBean.DataDTO.WayChildrenDTO sdw=sob.getData().getWayChildren().get(i);
int icon=0;
if(sdw.getType()==1){
icon=R.mipmap.z_loc;
}else{
icon=R.mipmap.x_loc;
for (int i = 0; i < sob.getData().getWayChildren().size(); i++) {
if (i != 0 && i != (sob.getData().getWayChildren().size() - 1)) {
StartOrderBean.DataDTO.WayChildrenDTO sdw = sob.getData().getWayChildren().get(i);
int icon = 0;
if (sdw.getType() == 1) {
icon = R.mipmap.z_loc;
} else {
icon = R.mipmap.x_loc;
}
aMap.addMarker(new MarkerOptions()
.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()
.icon(BitmapDescriptorFactory.fromResource(R.mipmap.zhong))
.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()))));
.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()))));
//绘制规划路径路线
aMap.addPolyline(new PolylineOptions()
//路线坐标点的集合
@@ -629,15 +686,15 @@ public class StartYunDanActivity extends BaseActivity {
//设置画线的颜色
//显示完整包含所有marker地图路线
LatLngBounds.Builder builder =LatLngBounds.builder();
LatLngBounds.Builder builder = LatLngBounds.builder();
for (int i = 0; i < latLngs.size(); i++) {
builder.include(latLngs.get(i));
}
//显示全部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()),
Double.parseDouble(sob.getData().getWayChildren().get((0)).getLongitude()));//构造一个位置
aMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng,6));
aMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, 6));
}
}
@@ -653,7 +710,7 @@ public class StartYunDanActivity extends BaseActivity {
}
public void up_traffic(){
public void up_traffic() {
// ShippingNoteInfo[] snis=new ShippingNoteInfo[1];
// ShippingNoteInfo sni=new ShippingNoteInfo();
// 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.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseActivity;
import com.lxj.xpopup.util.SmartGlideImageLoader;
/**
* @author hlh
@@ -74,16 +75,22 @@ public class GetShangChuanActivity extends BaseActivity {
Glide.with(con).load(sdw.getSendPutImagesUrl().get(0)).into(img1);
img1.setOnClickListener(v -> {
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();
// 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){
Glide.with(con).load(sdw.getReceiptUrl().get(0)).into(img2);
img2.setOnClickListener(v -> {
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();
// 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());
@@ -19,11 +19,21 @@ import com.alct.mdp.callback.OnResultListener;
import com.alct.mdp.model.Goods;
import com.alct.mdp.model.Image;
import com.alct.mdp.model.Location;
import com.arpa.hndahesudintocctmsdriver.BuildConfig;
import com.arpa.hndahesudintocctmsdriver.bean.CarInfoBean;
import com.arpa.hndahesudintocctmsdriver.event.HomeWaybillEvent;
import com.arpa.hndahesudintocctmsdriver.report.ALProcess;
import com.arpa.hndahesudintocctmsdriver.report.JTTProcess;
import com.arpa.hndahesudintocctmsdriver.request.OCRRequest;
import com.arpa.hndahesudintocctmsdriver.util.BitmapUtil;
import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.arpa.hndahesudintocctmsdriver.util.NfcUtils;
import com.arpa.hndahesudintocctmsdriver.util.SPUtils;
import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil;
import com.arpa.hndahesudintocctmsdriver.util.img.GetCarImageAlert;
import com.arpa.hndahesudintocctmsdriver.util.location.LocationUtil;
import com.baidu.mapapi.model.LatLng;
import com.baidu.mapapi.utils.CoordinateConverter;
import com.bumptech.glide.Glide;
import com.google.gson.Gson;
import com.luck.picture.lib.PictureSelector;
@@ -37,9 +47,7 @@ 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;
@@ -48,6 +56,9 @@ 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 com.lxj.xpopup.util.SmartGlideImageLoader;
import org.greenrobot.eventbus.EventBus;
import java.io.File;
import java.io.UnsupportedEncodingException;
@@ -56,89 +67,131 @@ import java.util.List;
public class ShangChuangImgActivity 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 ImageView res_img,img_icon,img_delete;
private String[] names={"装货","卸货","回单"};
public static String[] TYPE_NAME={"zhuanghuo","xiehuo","huidan"};
private int index=0;
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 Gson gson = new Gson();
//
private LUInputBean lub=new LUInputBean();
private UploadReceiptInputBean urib=new UploadReceiptInputBean();
private LUInputBean lub = new LUInputBean();
private UploadReceiptInputBean urib = new UploadReceiptInputBean();
private LocationGDUtil lgdu;
private LocationUtil lu;
private List<Integer> imgIds=new ArrayList<>();
public LocationUtil lu;
private List<Integer> imgIds = new ArrayList<>();
private UploadBean ub;
private HuoYuanRequset hyr;
//
private GetCarImageAlert gia=new GetCarImageAlert();
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 int id = 0;
private boolean key = true;
private boolean keys = false;
private boolean locationKey = false;
private TextView tv_loaction;
@Override
public void msgMethod(Message m) {
super.msgMethod(m);
switch (m.what){
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){
if (CacheGroup.cacheList.get("upload") != null) {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
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);
// Glide.with(con).load(ub.getData().getUrl()).into(res_img);
Glide.with(con).load(path).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();
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(!keys){
Toast.makeText(con,"上传成功",Toast.LENGTH_SHORT).show();
finish();
}else{
Toast.makeText(con,"上传成功",Toast.LENGTH_SHORT).show();
finish();
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) {//装货回单
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
EventBus.getDefault().post(new HomeWaybillEvent());
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
}
}else{
Toast.makeText(con,bb.getMsg(),Toast.LENGTH_SHORT).show();
} 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){
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(ShangChuangImgActivity.this, "车牌号不匹配!", "请重新拍照或联系管理员");
}
} else {
hyr.uploadFile(new File(path));
}
} else {//识别失败后返回code500
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
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();
locationKey = true;
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
tv_loaction.setText("定位成功");
tv_loaction.setTextColor(getResources().getColor(R.color.theme_color,null));
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();
locationKey = false;
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
tv_loaction.setText("定位失败,点击重试");
tv_loaction.setTextColor(getResources().getColor(R.color.loaction_no_color,null));
Toast.makeText(con,"定位失败,请确认开启定位后重试!",Toast.LENGTH_LONG).show();
tv_loaction.setTextColor(getResources().getColor(R.color.loaction_no_color, null));
Toast.makeText(con, "定位失败,请确认开启定位后重试!", Toast.LENGTH_LONG).show();
//定位结果接收
//finish();
break;
@@ -146,67 +199,83 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
break;
case ImageFileCompressUtil.COMPRESS_SUCCESS:
path= (String) m.obj;
Log.e("res:","选定图片结果");
Log.e("res:",path);
path = (String) m.obj;
Log.e("res:", "选定图片结果");
Log.e("res:", path);
//选定图片结果
// if(index==1 || index==2){
// new OCRRequest().OCRPlateLicense(con,hd,new File(path));
// }
hyr.uploadFile(new File(path));
if ((index == 0 || index == 1) && !BuildConfig.isTest) {//装卸货车辆需要识别车牌号,测试环境不校验车牌号
new OCRRequest().OCRCarPlateLicense(con, hd, new File(path));
} else {
hyr.uploadFile(new File(path));
}
break;
default:
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="";
String sobStr = "";
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
StateStyleUtil.stateTextColor(this);
setContentView(R.layout.activity_shangchuan);
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);
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");
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);
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);
sob = new Gson().fromJson(sobStr, StartOrderBean.class);
initView(null);
customDialog=new CustomDialog(con, "正在定位当前位置...");
customDialog = new CustomDialog(con, "正在定位当前位置...");
customDialog.show();
lgdu=new LocationGDUtil(con,hd);
lgdu = new LocationGDUtil(con, hd);
//启动定位
lgdu.onCreate();
lu=new LocationUtil(con,hd);
lu.onCreate();
if (keys){
lu=new LocationUtil(con,hd);
lu.onCreate();
}
// lu = new LocationUtil(con, hd);
// lu.onCreate();
// if (keys) {
// lu = new LocationUtil(con, hd);
// lu.onCreate();
// }
tv_loaction.setOnClickListener(v -> {
if (!locationKey){
if (!locationKey) {
customDialog.show();
lgdu.onCreate();
// lu = new LocationUtil(con, hd);
// lu.onCreate();
}
});
hyr=new HuoYuanRequset(con,hd);
hyr = new HuoYuanRequset(con, hd);
// if (!NfcUtils.hasNfc(con)) {
// Toast.makeText(con,"请先开启nfc",Toast.LENGTH_LONG).show();
// }else{
@@ -222,39 +291,42 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
@Override
public void initView(Object obj) {
super.initView(obj);
name_top.setText("上传"+names[index]+"照片");
name_body.setText(names[index]+"照片");
if(index==1){
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){
if (imgIds.size() != 0) {
typeRequest();
}else{
Toast.makeText(con,"请先上传一张图片",Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(con, "请先上传一张图片", Toast.LENGTH_SHORT).show();
}
});
getImg.setOnClickListener(v -> {
if(key){
Log.e("--imgIds.size()--",imgIds.size()+"");
gia.showPopueWindow(this,index==2);
}else{
if (key) {
Log.e("--imgIds.size()--", imgIds.size() + "");
gia.showPopueWindow(this, index == 2);
} else {
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();
Toast.makeText(con,"查看了照片", Toast.LENGTH_SHORT).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();
imgIds = new ArrayList<>();
ub = new UploadBean();
res_img.setVisibility(View.GONE);
img_delete.setVisibility(View.GONE);
img_icon.setVisibility(View.VISIBLE);
key=true;
key = true;
}
});
}
@@ -264,15 +336,21 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
@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);
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);
if (customDialog != null && !customDialog.isShowing()) {
customDialog = new CustomDialog(con, "网络请求中...");
customDialog.show();
}
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) {
@@ -282,49 +360,59 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
if (TextUtils.isEmpty(paths)) {
paths = image.getPath();
}
path=paths;
Log.e("图片地址:",path);
path = paths;
Log.e("图片地址:", path);
gia.dis();
ImageFileCompressUtil.imageFileCompress(con,new File(path),hd);
if (customDialog != null && !customDialog.isShowing()) {
customDialog = new CustomDialog(con, "网络请求中...");
customDialog.show();
}
ImageFileCompressUtil.imageFileCompress(con, new File(path), hd);
}
}
}
public void initLocation(){
public void initLocation() {
address.setText(lgdu.getAddress());
}
public void typeRequest(){
public void typeRequest() {
// for(int i=0;i<imgIds.size();i++){
// Log.e("--imgIds--",imgIds.get(i)+"");
// }
switch (index){
if (customDialog != null && !customDialog.isShowing()) {
customDialog = new CustomDialog(con, "网络请求中...");
customDialog.show();
}
switch (index) {
case 0:
//装货
if(imgIds!=null && imgIds.size()>0) {
if (imgIds != null && imgIds.size() > 0) {
lub.setLatitude(lgdu.getLatitude() + "");
lub.setLongitude(lgdu.getLongitude() + "");
lub.setLocationAddress(lgdu.getAddress());
lub.setImageId(imgIds);
lub.setWaybillId(wid);
Log.e("--装货信息", gson.toJson(lub));
if(locationKey){
hyr.loading(lub);
if(keys){
if (locationKey) {//高德定位
if (keys) {
nfc();
up_traffic_start();
up_image_z();
loadInfo();
// up_traffic_start();
// up_image_z();
}
}else{
Toast.makeText(con,"定位异常,请重新定位",Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show();
}
}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) {
if (imgIds != null && imgIds.size() > 0) {
//卸货
lub.setLatitude(lgdu.getLatitude() + "");
lub.setLongitude(lgdu.getLongitude() + "");
@@ -332,143 +420,89 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
lub.setImageId(imgIds);
lub.setWaybillId(wid);
Log.e("--卸货信息", gson.toJson(lub));
if(locationKey){
if(keys){
if (locationKey) {
if (keys) {
nfc();
up_traffic_end();
up_image();
uploadInfo();
}
hyr.dischargeCargo(lub);
}else{
Toast.makeText(con,"定位异常,请重新定位",Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show();
}
}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){//卸货回单
if (imgIds != null && imgIds.size() > 0) {//卸货回单
//上传回单
urib.setLatitude(lgdu.getLatitude()+"");
urib.setLongitude(lgdu.getLongitude()+"");
urib.setLatitude(lgdu.getLatitude() + "");
urib.setLongitude(lgdu.getLongitude() + "");
urib.setLocationAddress(lgdu.getAddress());
//装卸货类型
urib.setType(h_type+1);
urib.setType(h_type + 1);
//回单id 数组
urib.setReceiptId(imgIds);
//子运运单ID
urib.setWaybillId(wid);
Log.e("--回单信息",gson.toJson(urib));
if(locationKey) {
Log.e("--回单信息", gson.toJson(urib));
if (locationKey) {
if (index == 2 && keys) {
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();
}
}else{
Toast.makeText(con,"图片上传异常,请重新上传",Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(con, "图片上传异常,请重新上传", Toast.LENGTH_SHORT).show();
}
break;
default:break;
default:
break;
}
}
private StartOrderBean sob;
//上传安联和交通厅-装货
public void up_traffic_start(){
//安联
if(sob.getData().getReportAlct()==1) {
Location l = new Location();
l.setBaiduLongitude(lu.getLongitude());
l.setBaiduLatitude(lu.getLatitude());
l.setLocation(lu.getAddress());
l.setTime(Timer.getTimerT());
MDPLocationCollectionManager.pickup(con,sob.getData().getShippingNoteNumber(), l, new com.alct.mdp.callback.OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "装货上传成功");
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(装货):", s + s1);
}
});
}
//交通厅
if(sob.getData().getReport()==1){
JTTProcess.start(con,sob,"");
}
}
public void nfc(){
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){
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 onSuccess() {
Toast.makeText(con, "nfcId匹配成功", Toast.LENGTH_LONG).show();
}
@Override
public void onFailure(String s, String s1) {
Log.e("不匹配",""+s+s1);
}
});
}
//上传安联和交通厅-卸货
public void up_traffic_end(){
//安联
if(sob.getData().getReportAlct()==1){
Location l=new Location();
l.setBaiduLongitude(lu.getLongitude());
l.setBaiduLatitude(lu.getLatitude());
l.setLocation(lu.getAddress());
l.setTime(Timer.getTimerT());
Log.e("-安联卸货信息-",gson.toJson(l));
MDPLocationCollectionManager.unload(con, sob.getData().getShippingNoteNumber(), l, new com.alct.mdp.callback.OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联","卸货上传成功");
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(卸货):",s+s1);
}
});
}
//交通厅
if(sob.getData().getReport()==1){
JTTProcess.stop(con,sob,"");
}
@Override
public void onFailure(String s, String s1) {
Log.e("不匹配", "" + s + s1);
}
});
}
//上传安联-签收
public void up_trafficSign(){
public void up_trafficSign() {
//安联
Location l=new Location();
l.setBaiduLongitude(lu.getLongitude());
l.setBaiduLatitude(lu.getLatitude());
l.setLocation(lu.getAddress());
Location l = new Location();
l.setBaiduLongitude(latLng.longitude);
l.setBaiduLatitude(latLng.latitude);
l.setLocation(lgdu.getAddress());
l.setTime(Timer.getTimerT());
List<Goods> gs=new ArrayList<>();
List<Goods> gs = new ArrayList<>();
for (StartOrderBean.DataDTO.WayChildrenDTO wayChild : sob.getData().getWayChildren()) {
if(wid.equals(wayChild.getId()+"")){
if (wid.equals(wayChild.getId() + "")) {
for (StartOrderBean.DataDTO.WayChildrenDTO.GoodsDTO good : wayChild.getGoods()) {
Goods g=new Goods();
Goods g = new Goods();
g.setGoodsName(good.getGoodName());
g.setUnit(good.getGoodUnit());
g.setItemNo(good.getId());
@@ -483,64 +517,70 @@ 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 com.alct.mdp.callback.OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联","签收成功");
Log.e("上报安联", "签收成功");
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(签收):",s+s1);
Log.e("上报安联失败(签收):", s + s1);
}
});
}
//上传安联-回单
public void up_trafficReceipt(){
public void up_trafficReceipt() {
//安联
Location l=new Location();
l.setBaiduLongitude(lu.getLongitude());
l.setBaiduLatitude(lu.getLatitude());
l.setLocation(lu.getAddress());
Location l = new Location();
l.setBaiduLongitude(latLng.longitude);
l.setBaiduLatitude(latLng.latitude);
l.setLocation(lgdu.getAddress());
l.setTime(Timer.getTimerT());
MDPLocationCollectionManager.pod(con, sob.getData().getShippingNoteNumber(), l, new com.alct.mdp.callback.OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联","回单上传成功");
Log.e("上报安联", "回单上传成功");
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(回单):",s+s1);
Log.e("上报安联失败(回单):", s + s1);
}
});
}
public void up_image_z(){
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);
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(lu.getLongitude());
image.setBaiduLatitude(lu.getLatitude());
image.setLocation(lu.getAddress());
image.setBaiduLongitude(latLng.longitude);
image.setBaiduLatitude(latLng.latitude);
image.setLocation(lgdu.getAddress());
MDPLocationCollectionManager.uploadPickupImage(con, sob.getData().getShippingNoteNumber(), image, new com.alct.mdp.callback.OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联","装货照片上传成功");
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
EventBus.getDefault().post(new HomeWaybillEvent());
Log.e("上报安联", "装货照片上传成功");
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(装货照片):",s+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);
@@ -550,27 +590,36 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
});
}
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);
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(Timer.getTimerT());
image.setBaiduLongitude(lu.getLongitude());
image.setBaiduLatitude(lu.getLatitude());
image.setLocation(lu.getAddress());
image.setBaiduLongitude(latLng.longitude);
image.setBaiduLatitude(latLng.latitude);
image.setLocation(lgdu.getAddress());
MDPLocationCollectionManager.uploadUnloadImage(con, sob.getData().getShippingNoteNumber(), image, new com.alct.mdp.callback.OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联","卸货照片上传成功");
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
EventBus.getDefault().post(new HomeWaybillEvent());
Log.e("上报安联", "卸货照片上传成功");
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(卸货照片):",s+s1);
Log.e("上报安联失败(卸货照片):", s + s1);
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
// SPUtil.insSP(con,"make","卸货",sob.getData().getShippingNoteNumber());
// SPUtil.insSP(con,"make","卸货-"+sob.getData().getShippingNoteNumber(),gson.toJson(image));
// Intent serviceIn=new Intent(con, MakeUpAlService.class);
@@ -580,28 +629,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
File file=new File(path);
Image image=new Image();
String base= BitmapUtil.imageToBase64(path);
image.setFileData("data:image/"+ FileUtil.lastName(file) +";base64,"+base);
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(lu.getLongitude());
image.setBaiduLatitude(lu.getLatitude());
image.setLocation(lu.getAddress());
image.setBaiduLongitude(latLng.longitude);
image.setBaiduLatitude(latLng.latitude);
image.setLocation(lgdu.getAddress());
MDPLocationCollectionManager.uploadPODImage(con, sob.getData().getShippingNoteNumber(), image, new com.alct.mdp.callback.OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联","回单照片上传成功");
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
SPUtils.remove(con,"curWaybillId");
EventBus.getDefault().post(new HomeWaybillEvent());
Log.e("上报安联", "回单照片上传成功");
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(回单照片):",s+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);
@@ -625,7 +681,7 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
//NfcUtils.mNfcAdapter.disableForegroundDispatch(this);
}
String nfcStr="";
String nfcStr = "";
@Override
protected void onNewIntent(Intent intent) {
@@ -637,8 +693,87 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
Log.e("nfc",nfcStr);
Log.e("nfc", nfcStr);
}
/**
* 上传安联和交通厅,平台-装货
*/
private void loadInfo() {
//安联
if (sob.getData().getReportAlct() == 1) {
Location l = new Location();
l.setBaiduLongitude(latLng.longitude);
l.setBaiduLatitude(latLng.latitude);
l.setLocation(lgdu.getAddress());
l.setTime(Timer.getTimerT());
MDPLocationCollectionManager.pickup(con, sob.getData().getShippingNoteNumber(), l, new com.alct.mdp.callback.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);
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
new MessageUtils().showCenMessage(con, s1);
}
});
}
}
/**
* 上传安联和交通厅,平台-卸货
*/
private void uploadInfo() {
//安联
if (sob.getData().getReportAlct() == 1) {
Location l = new Location();
l.setBaiduLongitude(latLng.longitude);
l.setBaiduLatitude(latLng.latitude);
l.setLocation(lgdu.getAddress());
l.setTime(Timer.getTimerT());
Log.e("-安联卸货信息-", gson.toJson(l));
MDPLocationCollectionManager.unload(con, sob.getData().getShippingNoteNumber(), l, new com.alct.mdp.callback.OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "卸货上传成功");
//交通厅
if (sob.getData().getReport() == 1) {
JTTProcess.stop(con, sob, "");
}
//卸货状态-平台
hyr.dischargeCargo(lub);
//卸货照片-安联
up_image();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(卸货):", s + s1);
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
new MessageUtils().showCenMessage(con, s1);
}
});
}
}
}
@@ -0,0 +1,713 @@
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.ImageView;
import android.widget.RelativeLayout;
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.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.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.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.bumptech.glide.Glide;
import com.dahe.mylibrary.utils.ToastUtils;
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.util.SmartGlideImageLoader;
import java.io.File;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
public class ShangChuangImgActivity2 extends BaseAppCompatActivity {
private TextView submit,name_top,name_body,address,tips,tips_x;
private RelativeLayout getImg;
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;
private 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;
@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(!keys){
Toast.makeText(con,"上传成功",Toast.LENGTH_SHORT).show();
finish();
}else{
Toast.makeText(con,"上传成功",Toast.LENGTH_SHORT).show();
finish();
}
}else{
Toast.makeText(con,bb.getMsg(),Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove(TYPE_NAME[i]);
}
}
if(CacheGroup.cacheList.get("carName")!=null){
BaseBean bb=gson.fromJson(CacheGroup.cacheList.get("carName"),BaseBean.class);
if(bb.getCode()==200){
}
CacheGroup.cacheList.remove("carName");
}
break;
case 14://定位成功
locationKey=true;
customDialog.dismiss();
tv_loaction.setText("定位成功");
tv_loaction.setTextColor(getResources().getColor(R.color.theme_color,null));
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));
// }
hyr.uploadFile(new File(path));
break;
default:break;
}
}
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);
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);
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();
lu=new LocationUtil(con,hd);
lu.onCreate();
if (keys){
lu=new LocationUtil(con,hd);
lu.onCreate();
}
tv_loaction.setOnClickListener(v -> {
if (!locationKey){
customDialog.show();
lgdu.onCreate();
}
});
hyr=new HuoYuanRequset(con,hd);
// if (!NfcUtils.hasNfc(con)) {
// Toast.makeText(con,"请先开启nfc",Toast.LENGTH_LONG).show();
// }else{
// initData();
// }
}
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);
// gia.showPopueWindow(this,index==2);
}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)+"");
// }
switch (index){
case 0:
//装货
if(imgIds!=null && imgIds.size()>0) {
lub.setLatitude(lgdu.getLatitude() + "");
lub.setLongitude(lgdu.getLongitude() + "");
lub.setLocationAddress(lgdu.getAddress());
lub.setImageId(imgIds);
lub.setWaybillId(wid);
Log.e("--装货信息", gson.toJson(lub));
if(locationKey){
// hyr.loading(lub);
if(keys){
nfc();
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(lgdu.getLatitude() + "");
lub.setLongitude(lgdu.getLongitude() + "");
lub.setLocationAddress(lgdu.getAddress());
lub.setImageId(imgIds);
lub.setWaybillId(wid);
Log.e("--卸货信息", gson.toJson(lub));
if(locationKey){
if(keys){
nfc();
up_traffic_end();
up_image();
}
// hyr.dischargeCargo(lub);
}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(lgdu.getLatitude()+"");
urib.setLongitude(lgdu.getLongitude()+"");
urib.setLocationAddress(lgdu.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) {
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 up_traffic_start(){
//安联
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();
l.setBaiduLongitude(Double.parseDouble(data.getLongitude()));
l.setBaiduLatitude(Double.parseDouble(data.getLatitude()));
l.setLocation(data.getAddress());
l.setTime(data.getImageTakenDate());
MDPLocationCollectionManager.pickup(con,sob.getData().getShippingNoteNumber(), l, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "装货上传成功");
ToastUtils.showToast(ShangChuangImgActivity2.this,"装货上传成功");
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(装货):", s + s1);
ToastUtils.showToast(ShangChuangImgActivity2.this,s + s1);
}
});
}
//交通厅
if(sob.getData().getReport()==1){
JTTProcess.start(con,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_traffic_end(){
//安联
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();
l.setBaiduLongitude(Double.parseDouble(data.getLongitude()));
l.setBaiduLatitude(Double.parseDouble(data.getLatitude()));
l.setLocation(data.getAddress());
l.setTime(data.getImageTakenDate());
Log.e("-安联卸货信息-",gson.toJson(l));
MDPLocationCollectionManager.unload(con, sob.getData().getShippingNoteNumber(), l, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联","卸货上传成功");
ToastUtils.showToast(ShangChuangImgActivity2.this,"卸货上传成功");
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(卸货):",s+s1);
ToastUtils.showToast(ShangChuangImgActivity2.this,s+s1);
}
});
}
//交通厅
if(sob.getData().getReport()==1){
JTTProcess.stop(con,sob,"");
}
}
//上传安联-签收
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();
l.setBaiduLongitude(Double.parseDouble(data.getLongitude()));
l.setBaiduLatitude(Double.parseDouble(data.getLatitude()));
l.setLocation(data.getAddress());
l.setTime(data.getImageTakenDate());
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("上报安联","签收成功");
ToastUtils.showToast(ShangChuangImgActivity2.this,"签收成功");
}
@Override
public void onFailure(String s, String s1) {
ToastUtils.showToast(ShangChuangImgActivity2.this,s+s1);
Log.e("上报安联失败(签收):",s+s1);
}
});
}
//上传安联-回单
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();
l.setBaiduLongitude(Double.parseDouble(data.getLongitude()));
l.setBaiduLatitude(Double.parseDouble(data.getLatitude()));
l.setLocation(data.getAddress());
l.setTime(data.getImageTakenDate());
MDPLocationCollectionManager.pod(con, sob.getData().getShippingNoteNumber(), l, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联","回单上传成功");
ToastUtils.showToast(ShangChuangImgActivity2.this,"回单上传成功");
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(回单):",s+s1);
ToastUtils.showToast(ShangChuangImgActivity2.this,s+s1);
}
});
}
public void up_image_z(){
///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);
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(data.getImageTakenDate());
image.setBaiduLongitude(Double.parseDouble(data.getLongitude()));
image.setBaiduLatitude(Double.parseDouble(data.getLatitude()));
image.setLocation(data.getAddress());
MDPLocationCollectionManager.uploadPickupImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联","装货照片上传成功");
ToastUtils.showToast(ShangChuangImgActivity2.this,"装货照片上传成功");
}
@Override
public void onFailure(String s, String 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(),gson.toJson(image));
// Intent serviceIn=new Intent(con, MakeUpAlService.class);
// startService(serviceIn);
}
});
}
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);
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(data.getImageTakenDate());
image.setBaiduLongitude(Double.parseDouble(data.getLongitude()));
image.setBaiduLatitude(Double.parseDouble(data.getLatitude()));
image.setLocation(data.getAddress());
MDPLocationCollectionManager.uploadUnloadImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联","卸货照片上传成功");
ToastUtils.showToast(ShangChuangImgActivity2.this,"卸货照片上传成功");
}
@Override
public void onFailure(String s, String 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(),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
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);
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(data.getImageTakenDate());
image.setBaiduLongitude(Double.parseDouble(data.getLongitude()));
image.setBaiduLatitude(Double.parseDouble(data.getLatitude()));
image.setLocation(data.getAddress());
MDPLocationCollectionManager.uploadPODImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联","回单照片上传成功");
ToastUtils.showToast(ShangChuangImgActivity2.this,"回单照片上传成功");
}
@Override
public void onFailure(String s, String 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(),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);
}
}
@@ -0,0 +1,889 @@
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)+"");
// }
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(lgdu.getLatitude() + "");
urib.setLongitude(lgdu.getLongitude() + "");
urib.setLocationAddress(lgdu.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);
}
});
}
}
}
@@ -1,8 +1,14 @@
package com.arpa.hndahesudintocctmsdriver.ui.login;
import android.content.Context;
import android.content.Intent;
import android.net.wifi.WifiManager;
import android.os.Build;
import android.os.Bundle;
import android.os.Message;
import android.provider.Settings;
import android.telecom.TelecomManager;
import android.telephony.TelephonyManager;
import android.text.SpannableStringBuilder;
import android.text.TextPaint;
import android.text.method.LinkMovementMethod;
@@ -10,6 +16,8 @@ import android.text.style.ClickableSpan;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.TextView;
@@ -18,6 +26,7 @@ import android.widget.Toast;
import androidx.annotation.Nullable;
import androidx.cardview.widget.CardView;
import com.arpa.hndahesudintocctmsdriver.bean.AppInfoBean;
import com.arpa.hndahesudintocctmsdriver.parts.ConfigParts;
import com.arpa.hndahesudintocctmsdriver.request.net.BaseObserver;
import com.arpa.hndahesudintocctmsdriver.request.net.DataManager;
@@ -38,6 +47,7 @@ import com.arpa.hndahesudintocctmsdriver.util.http.RequsetCodeConstants;
import com.arpa.hndahesudintocctmsdriver.util.statusbar.StatusBarUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseActivity;
import java.util.Locale;
import java.util.TimerTask;
import cn.jiguang.verifysdk.api.AuthPageEventListener;
@@ -64,8 +74,7 @@ public class LoginActivity extends BaseActivity {
private LoginBean loginBean;
private TimerTask tt;
private int timer_sum = 60;
private ImageButton agree_btn;
private CardView no_btn;
private CheckBox cb;
private UserRequset ur;
@Override
@@ -88,15 +97,22 @@ public class LoginActivity extends BaseActivity {
//存储登录记录
loginBean = new Gson().fromJson(CacheGroup.cacheList.get(LOGIN_RESULT), LoginBean.class);
Log.e("--登录信息--", new Gson().toJson(loginBean));
AppInfoBean appInfoBean = new AppInfoBean();
if (loginBean.getCode() == 200) {
SPUtil.insSP(con, USER, USER_TOKEN, loginBean.getData().getToken());
SPUtil.insSP(con, USER, USER_UNAME, loginBean.getData().getUname());
SPUtil.insSP(con, USER, USER_RNAME, loginBean.getData().getRname());
SPUtil.insSP(con, USER, USER_ID, loginBean.getData().getId() + "");
JPushInterface.setAlias(con, 0, loginBean.getData().getUname());
appInfoBean.setStatus("0");
appInfoBean.setUserPhone(String.valueOf(input_phone.getText()));
ur.postAppInfo(appInfoBean,"post");
UiAuxiliary.homeRequest("登录成功");
finish();
} else {
appInfoBean.setStatus("1");
appInfoBean.setUserPhone(String.valueOf(input_phone.getText()));
ur.postAppInfo(appInfoBean,"post");
Toast.makeText(con, loginBean.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove(LOGIN_RESULT);
@@ -118,8 +134,7 @@ public class LoginActivity extends BaseActivity {
input_phone = findViewById(R.id.input_phone);
input_code = findViewById(R.id.input_code);
getCode = findViewById(R.id.getCode);
agree_btn = findViewById(R.id.agree_btn);
no_btn = findViewById(R.id.no_btn);
cb = findViewById(R.id.cb);
ur = new UserRequset(con, hd);
initView(null);
}
@@ -132,21 +147,18 @@ public class LoginActivity extends BaseActivity {
@Override
public void initView(Object obj) {
super.initView(obj);
agree_btn.setOnClickListener(v -> {
agree_btn.setVisibility(View.GONE);
no_btn.setVisibility(View.VISIBLE);
key = false;
cb.setOnCheckedChangeListener((buttonView, isChecked) -> {
if (isChecked) {
key = true;
} else {
key = false;
}
});
no_btn.setOnClickListener(v -> {
agree_btn.setVisibility(View.VISIBLE);
no_btn.setVisibility(View.GONE);
key = true;
});
ConfigBean cb = ConfigParts.getConfigParts(con);
if (cb != null) {
url1 = cb.getData().getUserUrl();
url2 = "https://agreement.dahehuoyun.com/huawei/#/private";
url2 = "https://agreement.dahehuoyun.com/currency/#/";
}
TextView tv_content = findViewById(R.id.tv_content);
String str = "我已阅读并同意相关服务条款和隐私政策《用户服务协议》和《隐私政策》";
@@ -29,10 +29,13 @@ import androidx.cardview.widget.CardView;
import androidx.core.app.ActivityCompat;
import com.alct.mdp.MDPLocationCollectionManager;
import com.arpa.hndahesudintocctmsdriver.BuildConfig;
import com.arpa.hndahesudintocctmsdriver.bean.AppInfoBean;
import com.arpa.hndahesudintocctmsdriver.bean.ImageConfig;
import com.arpa.hndahesudintocctmsdriver.parts.ConfigParts;
import com.arpa.hndahesudintocctmsdriver.report.JTTProcess;
import com.arpa.hndahesudintocctmsdriver.request.UserRequset;
import com.arpa.hndahesudintocctmsdriver.ui.UiAuxiliary;
import com.arpa.hndahesudintocctmsdriver.ui.business.BusinessActivity;
import com.arpa.hndahesudintocctmsdriver.util.SPUtils;
import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup;
@@ -84,9 +87,6 @@ public class WelcomeActivity extends BaseAppCompatActivity {
@Override
public void msgMethod(Message m) {
super.msgMethod(m);
System.out.println("csdf");
System.out.println("csdf");
System.out.println("csdf");
switch (m.what) {
case 200:
if (CacheGroup.cacheList.get("getImage") != null) {
@@ -140,8 +140,8 @@ public class WelcomeActivity extends BaseAppCompatActivity {
new XPopup.Builder(con)
.dismissOnBackPressed(false)
.dismissOnTouchOutside(false)
.asCustom(new AgreementAlert(con, "https://agreement.dahehuoyun.com/huawei/#/private",
"http://agreement.dahehuoyun.com/#/user", hd))
.asCustom(new AgreementAlert(con, "http://agreement.dahehuoyun.com/currency/#/",
"http://agreement.dahehuoyun.com/rule/serviceAgreement/dist/index.html#/", hd))
.show();
}
Glide.with(con)
@@ -161,6 +161,16 @@ public class WelcomeActivity extends BaseAppCompatActivity {
initRequest();
}
}, 1000);
AppInfoBean appInfoBean = new AppInfoBean();
if (!UiAuxiliary.isLogin(con)) {
ur.postAppInfo(appInfoBean, "post");
}else{
String sp = SPUtil.getSP(con, LoginActivity.USER, LoginActivity.USER_UNAME);
appInfoBean.setUserPhone(sp);
appInfoBean.setStatus("0");
ur.postAppInfo(appInfoBean, "post");
}
// String[] permissions=new String[]{
// Manifest.permission.ACCESS_FINE_LOCATION,
@@ -310,8 +320,12 @@ public class WelcomeActivity extends BaseAppCompatActivity {
}, cd * 1000);
}
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 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 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() {
String state = SPUtil.getSP(con, "state_data", "authorization_state");
@@ -325,7 +339,7 @@ public class WelcomeActivity extends BaseAppCompatActivity {
//安联初始化
if (context.getPackageName().equals(getCurrentProcessName(context))) {
//Log.e("--使用的测试环境--",BuildConfig.OPEN_API_URL);
MDPLocationCollectionManager.initialize(getApplicationContext(), "https://oapi.alct56.com");
MDPLocationCollectionManager.initialize(getApplicationContext(), BuildConfig.OPEN_AL_URL);
}
//在使用SDK各组件之前初始化context信息,传入ApplicationContext
// 路由初始化
@@ -1,13 +1,10 @@
package com.arpa.hndahesudintocctmsdriver.ui.my;
import android.Manifest;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Message;
import android.provider.Settings;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@@ -19,15 +16,14 @@ import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.app.NotificationManagerCompat;
import com.arpa.hndahesudintocctmsdriver.event.PersonEvent;
import com.arpa.hndahesudintocctmsdriver.event.RefreshCarListEvent;
import com.arpa.hndahesudintocctmsdriver.event.VehicleEvent;
import com.arpa.hndahesudintocctmsdriver.parts.ConfigParts;
import com.arpa.hndahesudintocctmsdriver.parts.StartOrderParts;
import com.arpa.hndahesudintocctmsdriver.parts.UserParts;
import com.arpa.hndahesudintocctmsdriver.ui.business.BusinessActivity;
import com.arpa.hndahesudintocctmsdriver.ui.text.TextActivity;
import com.arpa.hndahesudintocctmsdriver.util.PicturlUtil;
import com.bumptech.glide.Glide;
import com.google.gson.Gson;
@@ -55,7 +51,6 @@ import org.greenrobot.eventbus.Subscribe;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
/**
* @author hlh
@@ -69,32 +64,32 @@ public class MyFragment extends BaseFragment {
private UserBean userBean;
private StartOrderBean sob;
private CarListBean clb;
private Gson gson=new Gson();
private Gson gson = new Gson();
private UserRequset ur;
@Override
public void msgMethod(Message m) {
super.msgMethod(m);
switch (m.what){
switch (m.what) {
case 200:
refreshLayout.finishRefresh();
if(CacheGroup.cacheList.get(WoDeFragment.VEHICLE_LIST)!=null){
clb=gson.fromJson(CacheGroup.cacheList.get(WoDeFragment.VEHICLE_LIST),CarListBean.class);
if(clb.getCode()==200){
if (CacheGroup.cacheList.get(WoDeFragment.VEHICLE_LIST) != null) {
clb = gson.fromJson(CacheGroup.cacheList.get(WoDeFragment.VEHICLE_LIST), CarListBean.class);
if (clb.getCode() == 200) {
initVehicleList(true);
}else{
Toast.makeText(con,clb.getRes(),Toast.LENGTH_LONG).show();
} else {
Toast.makeText(con, clb.getRes(), Toast.LENGTH_LONG).show();
initVehicleList(false);
}
CacheGroup.cacheList.remove(WoDeFragment.VEHICLE_LIST);
}
if (CacheGroup.cacheList.get("userdata")!=null){
userBean=gson.fromJson(CacheGroup.cacheList.get("userdata"), UserBean.class);
if(userBean.getCode()==200 ){
SPUtil.insSP(con,"data","userdata",CacheGroup.cacheList.get("userdata"));
if (CacheGroup.cacheList.get("userdata") != null) {
userBean = gson.fromJson(CacheGroup.cacheList.get("userdata"), UserBean.class);
if (userBean.getCode() == 200) {
SPUtil.insSP(con, "data", "userdata", CacheGroup.cacheList.get("userdata"));
initAuth();
}else{
Toast.makeText(con,userBean.getMsg(),Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(con, userBean.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove("userdata");
}
@@ -106,12 +101,12 @@ public class MyFragment extends BaseFragment {
@org.jetbrains.annotations.Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable @org.jetbrains.annotations.Nullable ViewGroup container, @Nullable @org.jetbrains.annotations.Nullable Bundle savedInstanceState) {
root=inflater.inflate(R.layout.fragment_my,container,false);
con=root.getContext();
brv=root.findViewById(R.id.rv);
root = inflater.inflate(R.layout.fragment_my, container, false);
con = root.getContext();
brv = root.findViewById(R.id.rv);
EventBus.getDefault().register(this);
userBean= UserParts.getUser(con);
ur=new UserRequset(con,hd);
userBean = UserParts.getUser(con);
ur = new UserRequset(con, hd);
getRequest();
initId();
initRefreshLoad();
@@ -120,7 +115,7 @@ public class MyFragment extends BaseFragment {
}
public void initRefreshLoad() {
refreshLayout =root.findViewById(R.id.srl);
refreshLayout = root.findViewById(R.id.srl);
refreshLayout.setOnRefreshListener(refreshLayout -> {
getRequest();
});
@@ -129,7 +124,7 @@ public class MyFragment extends BaseFragment {
@Override
public void initView(Object obj) {
super.initView(obj);
brv_vehicle=root.findViewById(R.id.brv_vehicle);
brv_vehicle = root.findViewById(R.id.brv_vehicle);
ur.vehicleList("1");
}
@@ -137,83 +132,85 @@ public class MyFragment extends BaseFragment {
//执行中订单
//车辆信息
public void initVehicleList(boolean isSuccess){
public void initVehicleList(boolean isSuccess) {
//车辆信息
List<ManyBean> list_vehicle=new ArrayList<>();
List<ManyBean> list_vehicle = new ArrayList<>();
for (CarListBean.DataDTO datum : clb.getData()) {
list_vehicle.add(new ManyBean(datum,R.layout.my_item_vehicle));
list_vehicle.add(new ManyBean(datum, R.layout.my_item_vehicle));
}
if(list_vehicle.size()==0){
list_vehicle.add(new ManyBean(new Model(),R.layout.my_item_vehicle_null));
if (list_vehicle.size() == 0) {
list_vehicle.add(new ManyBean(new Model(), R.layout.my_item_vehicle_null));
}
brv_vehicle.creates(con,list_vehicle).setOnItemViewListener((position, o, v, layout) -> {
switch (layout){
brv_vehicle.creates(con, list_vehicle).setOnItemViewListener((position, o, v, layout) -> {
switch (layout) {
case R.layout.my_item_vehicle:
CarListBean.DataDTO cd= (CarListBean.DataDTO) o;
View br=v.findViewById(R.id.br);
if(position==(clb.getData().size()-1) && position!=2){
LinearLayout add_box=v.findViewById(R.id.add_box);
TextView add_no=v.findViewById(R.id.add_no);
CarListBean.DataDTO cd = (CarListBean.DataDTO) o;
View br = v.findViewById(R.id.br);
if (position == (clb.getData().size() - 1) && position != 2) {
LinearLayout add_box = v.findViewById(R.id.add_box);
TextView add_no = v.findViewById(R.id.add_no);
add_no.setVisibility(View.GONE);
add_box.setVisibility(View.VISIBLE);
br.setVisibility(View.GONE);
add_box.setOnClickListener(v1 -> {
Intent in=new Intent(con, VehicleAuthActivity.class);
in.putExtra("carId","");
Intent in = new Intent(con, VehicleAuthActivity.class);
in.putExtra("carId", "");
startActivity(in);
});
}
v.setOnClickListener(v1 -> {
Intent in=new Intent(con, VehicleAuthActivity.class);
in.putExtra("carId",cd.getCarId());
Intent in = new Intent(con, VehicleAuthActivity.class);
in.putExtra("carId", cd.getCarId());
startActivity(in);
});
break;
case R.layout.my_item_vehicle_null:
v.setOnClickListener(v12 -> {
Intent in=new Intent(con, VehicleAuthActivity.class);
in.putExtra("carId","");
Intent in = new Intent(con, VehicleAuthActivity.class);
in.putExtra("carId", "");
startActivity(in);
});
break;
default:break;
default:
break;
}
});
}
class Model{ }
class Model {
}
public void getRequest(){
sob= StartOrderParts.getStartOrder(con);
public void getRequest() {
sob = StartOrderParts.getStartOrder(con);
ur.User();
ur.vehicleList("1");
}
private LinearLayout onGetUser,onAllOrder,onAuth,onDriverHome;
private ImageView onContact,onOpinion,onUpdate,onSetUp;
private TextView name,phone;
private ImageView dang_auth,no_auth,name_auth;
private LinearLayout onGetUser, onAllOrder, onAuth, onDriverHome;
private ImageView onContact, onOpinion, onUpdate, onSetUp;
private TextView name, phone;
private ImageView dang_auth, no_auth, name_auth;
private LinearLayout auth_box;
private ImageView img_head;
public void initId(){
public void initId() {
//
name=root.findViewById(R.id.name);
phone=root.findViewById(R.id.phone);
dang_auth=root.findViewById(R.id.dang_auth);
no_auth=root.findViewById(R.id.no_auth);
name_auth=root.findViewById(R.id.name_auth);
auth_box=root.findViewById(R.id.auth_box);
name = root.findViewById(R.id.name);
phone = root.findViewById(R.id.phone);
dang_auth = root.findViewById(R.id.dang_auth);
no_auth = root.findViewById(R.id.no_auth);
name_auth = root.findViewById(R.id.name_auth);
auth_box = root.findViewById(R.id.auth_box);
//
onGetUser=root.findViewById(R.id.onGetUser);
onAllOrder=root.findViewById(R.id.onAllOrder);
onAuth=root.findViewById(R.id.onAuth);
onDriverHome=root.findViewById(R.id.onDriverHome);
onContact=root.findViewById(R.id.onContact);
onOpinion=root.findViewById(R.id.onOpinion);
onUpdate=root.findViewById(R.id.onUpdate);
onSetUp=root.findViewById(R.id.onSetUp);
img_head=root.findViewById(R.id.img_head);
onGetUser = root.findViewById(R.id.onGetUser);
onAllOrder = root.findViewById(R.id.onAllOrder);
onAuth = root.findViewById(R.id.onAuth);
onDriverHome = root.findViewById(R.id.onDriverHome);
onContact = root.findViewById(R.id.onContact);
onOpinion = root.findViewById(R.id.onOpinion);
onUpdate = root.findViewById(R.id.onUpdate);
onSetUp = root.findViewById(R.id.onSetUp);
img_head = root.findViewById(R.id.img_head);
//认证
no_auth.setOnClickListener(v -> startActivity(new Intent(con, PersonalAuthActivity.class)));
//用户信息
@@ -228,111 +225,67 @@ public class MyFragment extends BaseFragment {
.permissions(Manifest.permission.ACCESS_BACKGROUND_LOCATION)
.request((allGranted, grantedList, deniedList) -> {
if (allGranted) {
Intent in=new Intent(con, BusinessActivity.class);
in.putExtra("type","餐饮");
Intent in = new Intent(con, BusinessActivity.class);
in.putExtra("type", "餐饮");
startActivity(in);
} else {
Toast.makeText(getContext(),"请先开启定位权限",Toast.LENGTH_LONG).show();
Toast.makeText(getContext(), "请先开启定位权限", Toast.LENGTH_LONG).show();
}
});
});
//联系我们
onContact.setOnClickListener(v -> {
getActivity().startActivity(new Intent(getActivity(), TextActivity.class));
// isNotificationListenerEnabled(getActivity());
// goHuaWeiMainager();
// String serviceMobile="";
// if(ConfigParts.getConfigParts(con)!=null){
// serviceMobile=ConfigParts.getConfigParts(con).getData().getServiceMobile();
// serviceMobile=StringUtil.isNull(serviceMobile,"");
// }
// String[] title={"平台客服:"+serviceMobile};
// String[] value={serviceMobile};
// new XPopup.Builder(con)
// .isDarkTheme(false)
// .isDestroyOnDismiss(true) //对于只使用一次的弹窗,推荐设置这个
// .asCenterList("请选择",title,
// (position1, text) -> {
// Intent intent = new Intent(Intent.ACTION_DIAL);
// Uri data = Uri.parse("tel:" + value[position1]);
// intent.setData(data);
// startActivity(intent);
// })
// .show();
String serviceMobile = "";
if (ConfigParts.getConfigParts(con) != null) {
serviceMobile = ConfigParts.getConfigParts(con).getData().getServiceMobile();
serviceMobile = StringUtil.isNull(serviceMobile, "");
}
String[] title = {"平台客服:" + serviceMobile};
String[] value = {serviceMobile};
new XPopup.Builder(con)
.isDarkTheme(false)
.isDestroyOnDismiss(true) //对于只使用一次的弹窗,推荐设置这个
.asCenterList("请选择", title,
(position1, text) -> {
Intent intent = new Intent(Intent.ACTION_DIAL);
Uri data = Uri.parse("tel:" + value[position1]);
intent.setData(data);
startActivity(intent);
})
.show();
});
//咨询建议
onOpinion.setOnClickListener(v -> {
Intent in=new Intent(con, WebActivity.class);
in.putExtra("title","咨询建议");
in.putExtra("url","");
Intent in = new Intent(con, WebActivity.class);
in.putExtra("title", "咨询建议");
in.putExtra("url", "");
startActivity(in);
});
//检查更新
onUpdate.setOnClickListener(v -> Toast.makeText(con,"当前已经是最新版本",Toast.LENGTH_LONG).show());
onUpdate.setOnClickListener(v -> Toast.makeText(con, "当前已经是最新版本", Toast.LENGTH_LONG).show());
//系统设置
onSetUp.setOnClickListener(v -> startActivity(new Intent(con, SetupActivity.class)));
}
/**
* 是否开启通知使用权限
* @param context
* @return
*/
public void isNotificationListenerEnabled(Context context) {
Set<String> packageNames = NotificationManagerCompat.getEnabledListenerPackages(context);
if (!packageNames.contains(context.getPackageName())) {//没有开启使用权限,去开启
Intent intent = new Intent(Settings.ACTION_NOTIFICATION_LISTENER_SETTINGS);
startActivity(intent);
}
}
private void goHuaWeiMainager() {
try {
Intent intent = new Intent(getActivity().getPackageName());
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// ComponentName comp = new ComponentName("com.huawei.systemmanager", "com.huawei.permissionmanager.ui.MainActivity");
ComponentName comp = new ComponentName("com.huawei.systemmanager", "com.huawei.systemmanager.startupmgr.ui.StartupNormalAppListActivity");
intent.setComponent(comp);
getActivity().startActivity(intent);
} catch (Exception e) {
Toast.makeText(getActivity(), "跳转失败", Toast.LENGTH_LONG).show();
e.printStackTrace();
goIntentSetting();
}
}
private void goIntentSetting() {
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", getActivity().getPackageName(), null);
intent.setData(uri);
try {
getActivity().startActivity(intent);
} catch (Exception e) {
e.printStackTrace();
}
}
public void initAuth(){
if(userBean.getData()!=null){
name.setText(StringUtil.isNull(userBean.getData().getUname(),"未实名"));
phone.setText(StringUtil.isNull(userBean.getData().getRname(),""));
if(2==userBean.getData().getPartyMemberStatus()){
public void initAuth() {
if (userBean.getData() != null) {
name.setText(StringUtil.isNull(userBean.getData().getUname(), "未实名"));
phone.setText(StringUtil.isNull(userBean.getData().getRname(), ""));
if (2 == userBean.getData().getPartyMemberStatus()) {
}
if("1".equals(userBean.getData().getRealAuthentication())){
if ("1".equals(userBean.getData().getRealAuthentication())) {
}else{
} else {
}
if (!"".equals(userBean.getData().getHeadportraitUrl())){
if (!"".equals(userBean.getData().getHeadportraitUrl())) {
Glide.with(con).load(userBean.getData().getHeadportraitUrl()).into(img_head);
}
if(userBean!=null && 100003==userBean.getData().getAuditStatus()){
if (userBean != null && 100003 == userBean.getData().getAuditStatus()) {
auth_box.setVisibility(View.GONE);
no_auth.setVisibility(View.GONE);
}else{
} else {
auth_box.setVisibility(View.GONE);
no_auth.setVisibility(View.VISIBLE);
}
@@ -340,12 +293,19 @@ public class MyFragment extends BaseFragment {
}
@Subscribe
public void processResult(VehicleEvent event) {
Log.e("-msg-",event.getMessage());
if(!"".equals(event.getMessage())) {
public void processResult(VehicleEvent event) {
Log.e("-msg-", event.getMessage());
if (!"".equals(event.getMessage())) {
ur.vehicleList("1");
}
}
@Subscribe
public void refreshCarListEvent(RefreshCarListEvent event) {
Log.e("-msg-", event.getMessage());
ur.vehicleList("1");
}
@Subscribe
public void personResult(PersonEvent home) {
Log.e("-res-", home.getMessage());
@@ -35,7 +35,7 @@ public class SetupActivity extends BaseActivity {
String url2="";
String url3="";
String kefu="";
private RelativeLayout r1,r2,r3,r4,r5,r6,r7;
private RelativeLayout r1,r2,r3,r4,r5,r6,r7,r8;
@Override
public void msgMethod(Message m) {
@@ -73,8 +73,9 @@ public class SetupActivity extends BaseActivity {
ConfigBean cb= ConfigParts.getConfigParts(con);
if(cb!=null){
// url1=cb.getData().getUserUrl();
url1="https://agreement.dahehuoyun.com/huawei/#/private";
url2=cb.getData().getPrivateUrl();
url1="http://agreement.dahehuoyun.com/rule/serviceAgreement/dist/index.html#/";
// url2=cb.getData().getPrivateUrl();
url2="http://agreement.dahehuoyun.com/currency/#/";
kefu=cb.getData().getServiceMobile();
url3=cb.getData().getSecurityUrl();
}
@@ -85,6 +86,7 @@ public class SetupActivity extends BaseActivity {
r5=findViewById(R.id.r5);
r6=findViewById(R.id.r6);
r7=findViewById(R.id.r7);
r8=findViewById(R.id.r8);
ur=new UserRequset(con,hd);
initView(null);
}
@@ -118,9 +120,15 @@ public class SetupActivity extends BaseActivity {
in.putExtra("url","https://smlt.esign.cn/hmfbZoeeGQqv");
startActivity(in);
});
r8.setOnClickListener(v12 -> {
Intent in=new Intent(con,WebActivity.class);
in.putExtra("title","交易规则");
in.putExtra("url","http://agreement.dahehuoyun.com/rule/transactionRules/dist/index.html#/");
startActivity(in);
});
r6.setOnClickListener(v12 -> {
String[] title={"平台客服:"+kefu,"银行客服:95528","技术咨询:13460042961"};
String[] value={kefu,"95528","13460042961"};
String[] title={"平台客服:"+kefu};
String[] value={kefu};
new XPopup.Builder(con)
.isDarkTheme(false)
.isDestroyOnDismiss(true) //对于只使用一次的弹窗,推荐设置这个
@@ -35,6 +35,7 @@ import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup;
import com.arpa.hndahesudintocctmsdriver.util.http.RequsetCodeConstants;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseFragment;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView;
import com.lxj.xpopup.util.SmartGlideImageLoader;
import com.zhpan.bannerview.BannerViewPager;
import com.zhpan.bannerview.constants.PageStyle;
@@ -176,8 +177,11 @@ public class WoDeFragment extends BaseFragment {
headportraitUrl.setOnClickListener(v1 -> {
if(ub.getData().getHeadportraitUrl()!=null && !ub.getData().getHeadportraitUrl().equals("")){
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();
// new XPopup.Builder(con)
// .asImageViewer(headportraitUrl,ub.getData().getHeadportraitUrl(), true, -1, -1, 50, false,new CertificatesActivity.ImageLoader())
// .show();
}else{
Intent in=new Intent(con, PersonalAuthActivity.class);
startActivity(in);
@@ -1,36 +0,0 @@
package com.arpa.hndahesudintocctmsdriver.ui.text;
import android.content.ComponentName;
import android.content.Intent;
/**
* @ClassName AutoStartAppUtil
* @Author 用户
* @Date 2022/10/9 9:56
* @Description TODO
*/
public class AutoStartAppUtil {
public static final Intent[] POWERMANAGER_INTENTS = {
new Intent().setComponent(new ComponentName("com.miui.securitycenter", "com.miui.permcenter.autostart.AutoStartManagementActivity")),
new Intent().setComponent(new ComponentName("com.letv.android.letvsafe", "com.letv.android.letvsafe.AutobootManageActivity")),
new Intent().setComponent(new ComponentName("com.huawei.systemmanager", "com.huawei.systemmanager.startupmgr.ui.StartupNormalAppListActivity")),
new Intent().setComponent(new ComponentName("com.huawei.systemmanager", "com.huawei.systemmanager.optimize.process.ProtectActivity")),
new Intent().setComponent(new ComponentName("com.huawei.systemmanager", "com.huawei.systemmanager.appcontrol.activity.StartupAppControlActivity")),
//new Intent().setComponent(new ComponentName("com.coloros.safecenter", "com.coloros.privacypermissionsentry.PermissionTopActivity")),
new Intent().setComponent(new ComponentName("com.coloros.safecenter", "com.coloros.safecenter.permission.startup.StartupAppListActivity")),
new Intent().setComponent(new ComponentName("com.coloros.safecenter", "com.coloros.safecenter.startupapp.StartupAppListActivity")),
new Intent().setComponent(new ComponentName("com.oppo.safe", "com.oppo.safe.permission.startup.StartupAppListActivity")),
new Intent().setComponent(new ComponentName("com.iqoo.secure", "com.iqoo.secure.ui.phoneoptimize.AddWhiteListActivity")),
new Intent().setComponent(new ComponentName("com.iqoo.secure", "com.iqoo.secure.ui.phoneoptimize.BgStartUpManager")),
new Intent().setComponent(new ComponentName("com.vivo.permissionmanager", "com.vivo.permissionmanager.activity.BgStartUpManagerActivity")),
new Intent().setComponent(new ComponentName("com.samsung.android.lool", "com.samsung.android.sm.battery.ui.BatteryActivity")),
new Intent().setComponent(new ComponentName("com.samsung.android.lool", "com.samsung.android.sm.ui.battery.BatteryActivity")),
new Intent().setComponent(new ComponentName("com.htc.pitroad", "com.htc.pitroad.landingpage.activity.LandingPageActivity")),
new Intent().setComponent(new ComponentName("com.asus.mobilemanager", "com.asus.mobilemanager.MainActivity")),
new Intent().setComponent(new ComponentName("com.transsion.phonemanager", "com.itel.autobootmanager.activity.AutoBootMgrActivity")),
new Intent().setComponent(new ComponentName("com.meizu.safe", "com.meizu.safe.permission.SmartBGActivity")),
new Intent().setComponent(new ComponentName("cn.nubia.security2", "cn.nubia.security.appmanage.selfstart.ui.SelfStartActivity")),
new Intent().setComponent(new ComponentName("com.transsion.phonemaster", "com.cyin.himgr.applicationmanager.view.activities.AutoStartActivity")),
};
}
@@ -1,31 +0,0 @@
package com.arpa.hndahesudintocctmsdriver.ui.text;
import android.content.Intent;
import android.service.notification.NotificationListenerService;
import android.service.notification.StatusBarNotification;
/**
* @ClassName TestNotificationListenerService
* @Author 用户
* @Date 2022/10/9 9:53
* @Description TODO
*/
public class TestNotificationListenerService extends NotificationListenerService {
@Override
public void onCreate() {
super.onCreate();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return super.onStartCommand(intent, flags, startId);
}
@Override
public void onNotificationPosted(StatusBarNotification sbn) {
super.onNotificationPosted(sbn);
//Notification notification = sbn.getNotification();
// Log.d(LiveTaskApplication.TAG, "sbn.getPackageName: " + sbn.getPackageName());
}
}
@@ -1,119 +0,0 @@
package com.arpa.hndahesudintocctmsdriver.ui.text;
import android.annotation.SuppressLint;
import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.PixelFormat;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.IBinder;
import androidx.core.app.NotificationCompat;
import com.arpa.hndahesudintocctmsdriver.R;
import com.arpa.hndahesudintocctmsdriver.ui.MainActivity;
/**
* @ClassName TestService
* @Author 用户
* @Date 2022/10/9 9:51
* @Description TODO
*/
public class TestService extends Service {
private static final int VISIBILITY_PUBLIC = 1000;
private static final int PRIORITY_HIGH = 1000;
private final String CHANNEL_ONE_ID = "100";
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public boolean onUnbind(Intent intent) {
return super.onUnbind(intent);
}
@Override
public void onCreate() {
super.onCreate();
/****************第一点*******************/
//创建通知栏常驻通知
initNotif("title", "text");
}
@Override
public void onDestroy() {
stopForeground(true);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// return super.onStartCommand(intent, flags, startId);
/****************第二点*******************/
//返回START_STICKY,被系统或手动清理后可重启
return START_STICKY;
}
public void initNotif(String title, String context) {
//RemoteViews remoteView = new RemoteViews(getPackageName(), R.layout.RemoteView);
Drawable drawable = getResources().getDrawable(R.mipmap.ic_launcher, null);
drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight());
Bitmap bitmapIcon = getBitmapFromDrawable(drawable);
Intent nfIntent = new Intent(this, MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, nfIntent, 0);
@SuppressLint("WrongConstant") NotificationCompat.Builder builder = new NotificationCompat.Builder(this.getApplicationContext(), CHANNEL_ONE_ID)
.setContentIntent(pendingIntent) // 设置PendingIntent
.setSmallIcon(R.mipmap.ic_launcher) // 设置状态栏内的小图标
//.setLargeIcon(bitmapIcon)// 设置大图标
.setContentTitle(title)
.setContentText(context) // 设置内容
.setWhen(System.currentTimeMillis())// 设置该通知发生的时间
.setVisibility(VISIBILITY_PUBLIC)// 锁屏显示全部通知
//.setDefaults(Notification.DEFAULT_ALL)// //使用默认的声音、振动、闪光
.setPriority(PRIORITY_HIGH);// 通知的优先级
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
//修改安卓8.0以上系统报错
NotificationChannel notificationChannel = new NotificationChannel(CHANNEL_ONE_ID, "服务常驻通知", NotificationManager.IMPORTANCE_MIN);
notificationChannel.enableLights(false);//如果使用中的设备支持通知灯,则说明此通知通道是否应显示灯
notificationChannel.setShowBadge(false);//是否显示角标
notificationChannel.enableVibration(false);//是否震动
notificationChannel.setLockscreenVisibility(VISIBILITY_PUBLIC);//锁屏显示全部通知
NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
manager.createNotificationChannel(notificationChannel);
builder.setChannelId(CHANNEL_ONE_ID);
}
Notification notification = builder.build(); // 获取构建好的Notification
notification.defaults = Notification.DEFAULT_SOUND; //设置为默认的声音
startForeground(1, notification);
}
/**
* 把资源图片转换成Bitmap
*
* @param drawable 资源图片
* @return 位图
*/
public static Bitmap getBitmapFromDrawable(Drawable drawable) {
int width = drawable.getBounds().width();
int height = drawable.getBounds().height();
Bitmap bitmap = Bitmap.createBitmap(width, height, drawable
.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888
: Bitmap.Config.RGB_565);
Canvas canvas = new Canvas(bitmap);
drawable.setBounds(0, 0, width, height);
drawable.draw(canvas);
return bitmap;
}
}
@@ -1,338 +0,0 @@
package com.arpa.hndahesudintocctmsdriver.ui.text;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import android.os.PowerManager;
import android.provider.Settings;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.WebView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.NotificationManagerCompat;
import androidx.core.content.ContextCompat;
import com.arpa.hndahesudintocctmsdriver.R;
import java.util.Locale;
import java.util.Set;
/**
* @ClassName TextActivity
* @Author 用户
* @Date 2022/10/9 10:05
* @Description TODO
*/
public class TextActivity extends AppCompatActivity implements View.OnClickListener{
private TextView mLeft;
private TextView mBandName;
private TextView mAutoStart;
private TextView mTutorials;
private TextView mLockApp;
private TextView mBatteryOptimization;
private WebView mWebView1, mWebView2;
private boolean isWeb = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main1);
//提示: 需要与服务共享数据自行绑定服务
initView();
/****************第四点*******************/
//开启通知使用权限(有的手机需要开启才能重启进程)
isNotificationListenerEnabled(this);
}
@Override
public void onClick(View v) {
if (v == mLeft) {
if (isWeb) {
isWeb = false;
mWebView1.setVisibility(View.GONE);
mWebView2.setVisibility(View.GONE);
return;
}
finish();
} else if (v == mTutorials) {
isWeb = true;
mWebView1.setVisibility(View.VISIBLE);
String brand = getDeviceBrand();
String htmlName = "";
if (brand.equalsIgnoreCase("huawei")) {
htmlName = "huawei";
} else if (brand.equalsIgnoreCase("honor")) {
htmlName = "honor";
} else if (brand.equalsIgnoreCase("infinix")) {
htmlName = "infinix";
} else if (brand.equalsIgnoreCase("meizu")) {
htmlName = "meizu";
} else if (brand.equalsIgnoreCase("xiaomi")) {
htmlName = "xiaomi";
} else if (brand.equalsIgnoreCase("redmi")) {
htmlName = "redmi";
} else if (brand.equalsIgnoreCase("oppo")) {
htmlName = "oppo";
} else if (brand.equalsIgnoreCase("realme")) {
htmlName = "realme";
} else if (brand.equalsIgnoreCase("onePlus")) {
htmlName = "onePlus";
} else if (brand.equalsIgnoreCase("vivo")) {
htmlName = "vivo";
} else if (brand.equalsIgnoreCase("iqoo")) {
htmlName = "iqoo";
} else if (brand.equalsIgnoreCase("smartisan")) {
htmlName = "smartisan";
} else if (brand.equalsIgnoreCase("sumsang")) {
htmlName = "sumsang";
} else if (brand.equalsIgnoreCase("asus")) {
htmlName = "asus";
} else if (brand.equalsIgnoreCase("lenovo")) {
htmlName = "lenovo";
} else if (brand.equalsIgnoreCase("nubia")) {
htmlName = "nubia";
}
if (!getSystemLanguage().contains("zh")) {// 非中文
htmlName = htmlName + "_e";
}
mWebView1.loadUrl("http://服务器接口地址/autostart/autostart_" + htmlName + ".html");
} else if (v == mAutoStart) {
Intent intents = null;
for (Intent intent : AutoStartAppUtil.POWERMANAGER_INTENTS)
if (getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY) != null) {
intents = intent;
break;
}
Log.e("gy", "手机品牌 device brand" + getDeviceBrand());
if (intents != null) {
if (getDeviceBrand().equalsIgnoreCase("Infinix")) {
Toast.makeText(this, "无权打开系统界面, 请点击查看教程手动设置", Toast.LENGTH_SHORT).show();
return;
}
if (getDeviceBrand().equalsIgnoreCase("OPPO") || getDeviceBrand().equalsIgnoreCase("realme")) {
if (ContextCompat.checkSelfPermission(TextActivity.this, "oppo.permission.OPPO_COMPONENT_SAFE") != PackageManager.PERMISSION_GRANTED) {
// oppo 为系统权限不对外开放
Toast.makeText(this, "无权打开系统界面, 请点击查看教程手动设置", Toast.LENGTH_SHORT).show();
// ActivityCompat.requestPermissions(PermissionsDescriptionActivity.this, new
// String[]{"oppo.permission.OPPO_COMPONENT_SAFE"}, 1);
} else {
startActivity(intents);
}
return;
}
try {
startActivity(intents);
}catch (Exception e){
System.out.println(e);
}
} else {
if (getDeviceBrand().equalsIgnoreCase("OnePlus")) {
intents = new Intent("com.android.settings.action.BACKGROUND_OPTIMIZE");
startActivity(intents);
return;
}
// if (SystemUtil.getDeviceBrand().equalsIgnoreCase("SMARTISAN")) {
// intents = new Intent("com.smartisanos.security.action.SWITCHED_PERMISSIONS_NEW");//无效
// startActivity(intents);
// return;
// }
Toast.makeText(this, "无权打开系统界面, 请点击查看教程手动设置", Toast.LENGTH_SHORT).show();
}
} else if (v == mLockApp) {
isWeb = true;
mWebView2.setVisibility(View.VISIBLE);
if (getSystemLanguage().contains("zh")) {// 中文
mWebView2.loadUrl("http://服务器接口地址/locktask/lockApp.html");
} else {
mWebView2.loadUrl("http://服务器接口地址/locktask/lockApp_e.html");
}
} else if (v == mBatteryOptimization) {
// 显示屏幕以控制哪些应用可以忽略电池优化
// 您可以PowerManager.isIgnoringBatteryOptimizations()用来确定应用程序是否已经忽略优化。
// 您可以 ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS用来要求用户将您放在此列表中。
//android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setIcon(R.mipmap.ic_launcher)
.setTitle("忽略电池优化")
.setMessage("参考说明:\n在手机&#160;设置&#160;-->&#160;电池&#160;-->&#160;耗电管理&#160;中找到" + getString(R.string.app_name) + ",&#160;设置&#160;允许后台运行&#160;或&#160;允许后台启动 等")
.setPositiveButton("设置忽略", new DialogInterface.OnClickListener() {
@Override
public void onClick(final DialogInterface dialog, final int which) {
if (!isIgnoringBatteryOptimizations()) {
try {
Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
intent.setData(Uri.parse("package:" + getPackageName()));
//跳转之前判断intent是否存在,否则有的机型会报找不到activity
if (intent.resolveActivity(getPackageManager()) == null) {
intent = new Intent(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS);
intent.setData(Uri.parse("package:" + getPackageName()));
if (intent.resolveActivity(getPackageManager()) == null) {
// showToast("无法启动系统界面,请以参考说明操作");
} else {
startActivity(intent);
}
} else {
startActivity(intent);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
})
.show();
}
}
/**
* 是否开启通知使用权限
* @param context
* @return
*/
public void isNotificationListenerEnabled(Context context) {
Set<String> packageNames = NotificationManagerCompat.getEnabledListenerPackages(this);
if (!packageNames.contains(context.getPackageName())) {//没有开启使用权限,去开启
Intent intent = new Intent(Settings.ACTION_NOTIFICATION_LISTENER_SETTINGS);
startActivity(intent);
}
}
private void initView() {
mBandName = (TextView) findViewById(R.id.bandName);
mLeft = (TextView) findViewById(R.id.left);
mLeft.setOnClickListener(this);
mAutoStart = (TextView) findViewById(R.id.autoStart);
mAutoStart.setOnClickListener(this);
mTutorials = (TextView) findViewById(R.id.tutorials);
mTutorials.setOnClickListener(this);
mLockApp = (TextView) findViewById(R.id.lockApp);
mLockApp.setOnClickListener(this);
mBatteryOptimization = (TextView) findViewById(R.id.battery_optimization);
mBatteryOptimization.setOnClickListener(this);
mWebView1 = (WebView) findViewById(R.id.webView1);
mWebView1.setOnClickListener(this);
mWebView2 = (WebView) findViewById(R.id.webView2);
mWebView2.setOnClickListener(this);
mBandName.setText(getDeviceBrand());
}
/**
* 确定应用程序是否已经忽略电池优化
*
* @return
*/
private boolean isIgnoringBatteryOptimizations() {
boolean isIgnoring = false;
PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
if (powerManager != null) {
isIgnoring = powerManager.isIgnoringBatteryOptimizations(getPackageName());
}
return isIgnoring;
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
//super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode) {
case 1:
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
Intent intents = null;
for (Intent intent : AutoStartAppUtil.POWERMANAGER_INTENTS)
if (getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY) != null) {
intents = intent;
break;
}
if (intents != null) {
startActivity(intents);
}
} else {
Toast.makeText(this, "无权打开系统界面, 请点击查看教程手动设置", Toast.LENGTH_SHORT).show();
}
break;
default:
}
}
/**
* 原生Android系统 开启后台运行调用这里
*/
public void requestIgnoreBatteryOptimizations() {
try {
Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
intent.setData(Uri.parse("package:" + getPackageName()));
startActivity(intent);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
moveTaskToBack(true);//按返回键,不 finish activity
return true;
}
return super.onKeyDown(keyCode, event);
}
/**
* 获取当前手机系统语言。
*
* @return 返回当前系统语言。例如:当前设置的是“中文-中国”,则返回“zh-CN”
*/
public static String getSystemLanguage() {
return Locale.getDefault().getLanguage();
}
/**
* 获取当前系统上的语言列表(Locale列表)
*
* @return 语言列表
*/
public static Locale[] getSystemLanguageList() {
return Locale.getAvailableLocales();
}
/**
* 获取当前手机系统版本号
*
* @return 系统版本号
*/
public static String getSystemVersion() {
return android.os.Build.VERSION.RELEASE;
}
/**
* 获取手机型号
*
* @return 手机型号
*/
public static String getSystemModel() {
return android.os.Build.MODEL;
}
/**
* 获取手机厂商
*
* @return 手机厂商
*/
public static String getDeviceBrand() {
return android.os.Build.BRAND;
}
}
@@ -5,6 +5,7 @@ import android.os.Bundle;
import android.os.Message;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
@@ -12,6 +13,10 @@ import android.widget.Toast;
import androidx.annotation.Nullable;
import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity;
import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.arpa.hndahesudintocctmsdriver.weight.OnLimitClickHelper;
import com.arpa.hndahesudintocctmsdriver.weight.OnLimitClickListener;
import com.bumptech.glide.Glide;
import com.google.gson.Gson;
import com.arpa.hndahesudintocctmsdriver.R;
@@ -40,13 +45,13 @@ import java.util.List;
* @date 2021/8/26 19:06
* @description:
*/
public class UpBankActivity extends BaseAppCompatActivity {
public class UpBankActivity extends BaseAppCompatActivity implements OnLimitClickListener {
private ImageView up_bank_img;
private EditText bank_name,bank_number;
private TextView submit;
private EditText bank_name, bank_number;
private TextView submit, skip;
private ImageView return_btn;
public GetImageAlert gia=new GetImageAlert();
public GetImageAlert gia = new GetImageAlert();
String path;
private OCRBankBean ib;
private WalletRequest qr;
@@ -55,67 +60,86 @@ public class UpBankActivity extends BaseAppCompatActivity {
@Override
public void msgMethod(Message m) {
super.msgMethod(m);
switch (m.what){
switch (m.what) {
case RequsetCodeConstants.SUCCESS:
if (CacheGroup.cacheList.get("OCR_BANK")!=null) {
ib=new Gson().fromJson(CacheGroup.cacheList.get("OCR_BANK"),OCRBankBean.class);
if(ib.getCode()==200){
if (CacheGroup.cacheList.get("OCR_BANK") != null) {
ib = new Gson().fromJson(CacheGroup.cacheList.get("OCR_BANK"), OCRBankBean.class);
customDialog.dismiss();
if (ib.getCode() == 200) {
initView(null);
customDialog.dismiss();
WalletFragment.isInsBank=true;
}else{
Toast.makeText(con,ib.getMsg(),Toast.LENGTH_SHORT).show();
WalletFragment.isInsBank = true;
} else {
Toast.makeText(con, ib.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove("OCR_BANK");
}
if(CacheGroup.cacheList.get("insBank")!=null){
BaseBean bb=new Gson().fromJson(CacheGroup.cacheList.get("insBank"),BaseBean.class);
if(bb.getCode()==200){
Toast.makeText(con,"绑定成功",Toast.LENGTH_SHORT).show();
if (CacheGroup.cacheList.get("insBank") != null) {
BaseBean bb = new Gson().fromJson(CacheGroup.cacheList.get("insBank"), BaseBean.class);
if (bb.getCode() == 200) {
if (type == 1) {
Intent in = new Intent(con, CertificatesActivity.class);
in.putExtra("index", 1);
startActivity(in);
}
customDialog.dismiss();
Toast.makeText(con, "绑定成功", Toast.LENGTH_SHORT).show();
finish();
}else{
Toast.makeText(con,bb.getMsg(),Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove("insBank");
}
break;
case ImageFileCompressUtil.COMPRESS_SUCCESS:
customDialog=new CustomDialog(con, "上传识别中...");
customDialog = new CustomDialog(con, "上传识别中...");
customDialog.show();
path = (String) m.obj;
new OCRRequest().ORCBank(con,hd,new File(path));
new OCRRequest().ORCBank(con, hd, new File(path));
break;
}
}
private CustomDialog customDialog;
/**
* 1:司机注册自动跳转
* 0:钱包添加银行卡
*/
private int type = 0;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
StateStyleUtil.stateTextColor(this);
setContentView(R.layout.activity_bank_auth);
act=this;
con=this;
up_bank_img=findViewById(R.id.up_bank_img);
bank_name=findViewById(R.id.bank_name);
bank_number=findViewById(R.id.bank_number);
submit=findViewById(R.id.submit);
return_btn=findViewById(R.id.return_btn);
qr=new WalletRequest(con,hd);
act = this;
con = this;
Bundle extras = getIntent().getExtras();
if (extras != null) {
type = getIntent().getExtras().getInt("type");
}
up_bank_img = findViewById(R.id.up_bank_img);
bank_name = findViewById(R.id.bank_name);
bank_number = findViewById(R.id.bank_number);
submit = findViewById(R.id.submit);
skip = findViewById(R.id.skip);
return_btn = findViewById(R.id.return_btn);
qr = new WalletRequest(con, hd);
up_bank_img.setOnClickListener(v -> {
gia.showPopueWindow(this);
});
submit.setOnClickListener(v -> {
if(ib!=null){
submit();
}else{
Toast.makeText(con,"请先上传图片",Toast.LENGTH_SHORT).show();
}
});
submit.setOnClickListener(new OnLimitClickHelper(this));
skip.setOnClickListener(new OnLimitClickHelper(this));
return_btn.setOnClickListener(v -> {
finish();
});
if (type == 1) {
skip.setVisibility(View.VISIBLE);
} else {
skip.setVisibility(View.GONE);
}
}
@Override
@@ -129,11 +153,11 @@ public class UpBankActivity extends BaseAppCompatActivity {
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 12 && resultCode == RESULT_OK) {
path=gia.getFile().getPath();
Log.e("图片地址:",path);
if (requestCode == 12 && resultCode == RESULT_OK) {
path = gia.getFile().getPath();
Log.e("图片地址:", path);
gia.dis();
ImageFileCompressUtil.imageFileCompress(con,new File(path),hd);
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) {
@@ -143,29 +167,50 @@ public class UpBankActivity extends BaseAppCompatActivity {
if (TextUtils.isEmpty(paths)) {
paths = image.getPath();
}
path=paths;
Log.e("图片地址:",path);
path = paths;
Log.e("图片地址:", path);
gia.dis();
ImageFileCompressUtil.imageFileCompress(con,new File(path),hd);
ImageFileCompressUtil.imageFileCompress(con, new File(path), hd);
}
}
}
public void submit(){
String bankName=bank_name.getText().toString().trim();
String bankNumber=bank_number.getText().toString().trim();
if("".equals(bankName) || "".equals(bankNumber)){
Toast.makeText(con,"请先补充完整的银行卡信息",Toast.LENGTH_LONG).show();
public void submit() {
customDialog = new CustomDialog(con, "上传中,请稍后...");
customDialog.show();
String bankName = bank_name.getText().toString().trim();
String bankNumber = bank_number.getText().toString().trim();
if ("".equals(bankName) || "".equals(bankNumber)) {
Toast.makeText(con, "请先补充完整的银行卡信息", Toast.LENGTH_LONG).show();
return;
}
InsBankInputBean ibib =new InsBankInputBean();
InsBankInputBean ibib = new InsBankInputBean();
ibib.setCardNo(bankNumber);
ibib.setCardType(Integer.parseInt(ib.getData().getBankCardType()));
ibib.setBankName(bankName);
ibib.setCardUserType(1);
ibib.setImageId(ib.getData().getId());
Log.e("-res-",new Gson().toJson(ibib));
Log.e("-res-", new Gson().toJson(ibib));
qr.insBankCard(ibib);
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.submit:
if (ib != null) {
submit();
} else {
Toast.makeText(con, "请先上传图片", Toast.LENGTH_SHORT).show();
}
break;
case R.id.skip:
new MessageUtils().showSimCenPop(con, "确定跳过银行卡?,可能会导致运费无法结算!","取消","确认", () -> {
Intent in = new Intent(con, CertificatesActivity.class);
in.putExtra("index", 1);
startActivity(in);
});
break;
}
}
}
@@ -34,6 +34,7 @@ import com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView;
import org.jetbrains.annotations.NotNull;
public class WalletFragment extends BaseFragment{
public static UserBean userBean;
@@ -220,8 +221,8 @@ public class WalletFragment extends BaseFragment{
}
}
//初始化银行卡信息
public void initBack(){
//初始化银行卡信息
public void initBack(){
if(bcb.getData() !=null && bcb.getData().getRecords()!=null && bcb.getData().getRecords().size()>=1){
bank_title_1.setText(bcb.getData().getRecords().get(0).getBankName());
bank_number.setText(bcb.getData().getRecords().get(0).getCardNo());
@@ -230,20 +231,21 @@ public class WalletFragment extends BaseFragment{
bank_remove.setVisibility(View.VISIBLE);
} else{
bank_number.setVisibility(View.GONE);
bank_title_1.setText("未添加银行卡");
bank_add.setVisibility(View.VISIBLE);
bank_remove.setVisibility(View.GONE);
}
}
}
//初始化电子账户信息
public void initContracts(){
if(cb.getData()!=null && !StringUtil.isNull(cb.getData().getChildAcctNo(),"").equals("")) {
bank_title_2.setText("浦发银行电子账户");
bank2_number.setText(cb.getData().getChildAcctNo());
bank2_number.setVisibility(View.VISIBLE);
bank_add2.setVisibility(View.GONE);
}
}
//初始化电子账户信息
public void initContracts(){
if(cb.getData()!=null && !StringUtil.isNull(cb.getData().getChildAcctNo(),"").equals("")) {
bank_title_2.setText("浦发银行电子账户");
bank2_number.setText(cb.getData().getChildAcctNo());
bank2_number.setVisibility(View.VISIBLE);
bank_add2.setVisibility(View.GONE);
}
}
public static boolean isInsBank=false;
@@ -5,25 +5,36 @@ import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.net.http.SslError;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.webkit.JavascriptInterface;
import android.webkit.SslErrorHandler;
import android.webkit.WebResourceRequest;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.Nullable;
import com.arpa.hndahesudintocctmsdriver.R;
import com.arpa.hndahesudintocctmsdriver.bean.ToH5Bean;
import com.arpa.hndahesudintocctmsdriver.bean.UserBean;
import com.arpa.hndahesudintocctmsdriver.event.PdfResEvent;
import com.arpa.hndahesudintocctmsdriver.parts.UserParts;
import com.arpa.hndahesudintocctmsdriver.util.PaxWebChromeClient;
import com.arpa.hndahesudintocctmsdriver.util.string.StringUtil;
import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseActivity;
import com.google.gson.Gson;
import org.greenrobot.eventbus.EventBus;
import java.io.Serializable;
/**
* @author hlh
@@ -35,9 +46,12 @@ public class WebActivity extends BaseActivity {
private String url = "";
private String title = "";
private int id = -1;
private WebView wv;
private TextView title_tv;
private ProgressBar progressBar;
private PaxWebChromeClient chromeClient;
private ToH5Bean toH5Bean;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
@@ -47,11 +61,15 @@ public class WebActivity extends BaseActivity {
con=this;
initHardwareAccelerate();
wv = findViewById(R.id.wv);
progressBar = findViewById(R.id.progressBar);
title_tv = findViewById(R.id.title);
Intent in = getIntent();
url = in.getExtras().getString("url");
title = in.getExtras().getString("title");
chromeClient = new PaxWebChromeClient(this,null,null);
toH5Bean = (ToH5Bean)in.getSerializableExtra("ToH5Bean");
String carNumber = toH5Bean.getCarNumber();
id = in.getExtras().getInt("id");
chromeClient = new PaxWebChromeClient(this,progressBar,null);
if ("咨询建议".equals(title)) {
initOpinion();
} else {
@@ -81,6 +99,11 @@ public class WebActivity extends BaseActivity {
webSettings.setJavaScriptEnabled(true);
webSettings.setDomStorageEnabled(true);
webSettings.setDefaultTextEncodingName("utf-8");
// 特别注意:5.1以上默认禁止了https和http混用,以下方式是开启
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
wv.addJavascriptInterface(new JavaScriptObject(con), "webObj");
//PaxWebChromeClient chromeClient=new PaxWebChromeClient();
//WebView加载web资源
@@ -111,6 +134,12 @@ public class WebActivity extends BaseActivity {
wv.loadUrl(url);
return true;
}
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
super.onReceivedSslError(view, handler, error);
handler.proceed();
}
});
wv.setWebChromeClient(chromeClient);
wv.loadUrl(url);
@@ -149,6 +178,12 @@ public class WebActivity extends BaseActivity {
view.loadUrl(url);
return true;
}
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
super.onReceivedSslError(view, handler, error);
handler.proceed();
}
});
}
@@ -183,15 +218,39 @@ public class WebActivity extends BaseActivity {
@JavascriptInterface
public String getUserToken(){
Log.e("-token-",UserParts.getUser(con).getData().getToken());
// Log.e("-token-",UserParts.getUser(con).getData().getToken());
// return "woshitoken-androidfasdf";
return UserParts.getUser(con).getData().getToken();
}
@JavascriptInterface
public int getOrderId(){
return id;
}
@JavascriptInterface
public String getOrderinfo(){
return new Gson().toJson(toH5Bean);
}
@JavascriptInterface
public void isSuccess(){
finish();
}
@JavascriptInterface
public void isPdfSuccess(String pdfUrl){
// Toast.makeText(con, "签署成功", Toast.LENGTH_SHORT).show();
// EventBus.getDefault().post(new PdfResEvent(pdfUrl));
Intent intent = new Intent();
intent.putExtra("pdfUrl",pdfUrl);
setResult(RESULT_OK,intent);
finish();
}
@JavascriptInterface
public void isFail(){
finish();
}
}
@@ -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,104 @@
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()
}
fun showSimCenPop(
ctx: Context,
message: String,
left: String,
right: 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,left,right).setOnMyItemClickListener(onMyItemClickListener))
.show()
}
}
@@ -5,6 +5,7 @@ import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.view.View;
import android.webkit.PermissionRequest;
import android.webkit.ValueCallback;
import android.webkit.WebChromeClient;
@@ -38,12 +39,12 @@ public class PaxWebChromeClient extends WebChromeClient {
@Override
public void onProgressChanged(WebView view, int newProgress) {
if (newProgress == 100) {
//bar.setVisibility(View.INVISIBLE);
bar.setVisibility(View.INVISIBLE);
} else {
// if (View.INVISIBLE == bar.getVisibility()) {
// bar.setVisibility(View.VISIBLE);
// }
// bar.setProgress(newProgress);
if (View.INVISIBLE == bar.getVisibility()) {
bar.setVisibility(View.VISIBLE);
}
bar.setProgress(newProgress);
}
super.onProgressChanged(view, newProgress);
}
@@ -51,6 +51,9 @@ public class AdapterAlls extends RecyclerView.Adapter<AdapterAlls.ViewHolder> {
}
public void add(List<ManyBean> addMessageList) {
if (object==null){
return;
}
//增加数据
int position = object.size();
object.addAll(position, addMessageList);
@@ -3,6 +3,7 @@ package com.arpa.hndahesudintocctmsdriver.util.http;
import android.content.Context;
import com.arpa.hndahesudintocctmsdriver.util.app.VersionUtil;
import com.dahe.mylibrary.utils.AppUtils;
import java.io.File;
@@ -41,6 +42,7 @@ public class OkHttpUtil {
.post(body)
.headers(hb.build())
.addHeader("Version", VersionUtil.getVersion(con))
.addHeader("VersionCode",String.valueOf(AppUtils.getAppVersionCode()))
//.addHeader("sign",sign)
.removeHeader("User-Agent")
.addHeader("User-Agent",GetUtil.getUserAgent(con))
@@ -71,6 +73,40 @@ public class OkHttpUtil {
.addHeader("Authorization", token)
.addHeader("Content-Type", "application/json")
.addHeader("Version", VersionUtil.getVersion(con))
.addHeader("VersionCode",String.valueOf(AppUtils.getAppVersionCode()))
//.addHeader("sign",sign)
.removeHeader("User-Agent")
.addHeader("User-Agent",GetUtil.getUserAgent(con))
.build();
return request;
}
public static Request put(OkDate od, Context con){
MediaType mediaType = MediaType.parse("application/json");
if(od.getMadiaType()!=null && od.getMadiaType().equals("")){
od.setMadiaType("{}");
}
// JSONObject jsonObject = JSON.parseObject(od.getMadiaType());
// jsonObject.put("timestamp", DateUtil.current());
// jsonObject.put("deviceId", GetUtil.getDeviceId(con));
// String sign = SecureUtil.signParamsSha1(jsonObject,SIGN_PASSWORD);
// Log.e("jsonObject",jsonObject.toString());
// Log.e("sign",sign);
// Map<String,Object> map=new HashMap<>();
// map.put("data",SecurityUtil.encrypt(jsonObject.toString()));
// Log.e("参数1",od.getMadiaType());
// Log.e("参数2",MapUtil.mapJson(map));
//MapUtil.mapJson(map)
RequestBody body = RequestBody.create(mediaType,od.getMadiaType());
Headers.Builder hb=new Headers.Builder();
hb.add("Content-Type","application/json");
hb.add("Cache-Control","no-cache");
Request request = new Request.Builder()
.url(od.getUrl())
.put(body)
.headers(hb.build())
.addHeader("Version", VersionUtil.getVersion(con))
.addHeader("VersionCode",String.valueOf(AppUtils.getAppVersionCode()))
//.addHeader("sign",sign)
.removeHeader("User-Agent")
.addHeader("User-Agent",GetUtil.getUserAgent(con))
@@ -86,6 +122,7 @@ public class OkHttpUtil {
.url(od.getUrl())
.get()
.headers(hb.build())
.addHeader("VersionCode",String.valueOf(AppUtils.getAppVersionCode()))
.build();
return request;
}
@@ -99,6 +136,7 @@ public class OkHttpUtil {
Request request = new Request.Builder()
.url(od.getUrl())
.addHeader("Authorization", token)
.addHeader("VersionCode",String.valueOf(AppUtils.getAppVersionCode()))
.get()
.headers(hb.build())
.build();
@@ -129,6 +167,7 @@ public class OkHttpUtil {
.url(od.getUrl())
.method("POST", body)
.addHeader("Authorization", token)
.addHeader("VersionCode",String.valueOf(AppUtils.getAppVersionCode()))
.addHeader("Cookie", "JSESSIONID=NqpqKQstwceQurcNK5hjl4GnTgiF4eSzZSo5a1rz")
.build();
return request;
@@ -145,23 +184,26 @@ public class OkHttpUtil {
.url(od.getUrl())
.method("POST", body)
.addHeader("Authorization", token)
.addHeader("VersionCode",String.valueOf(AppUtils.getAppVersionCode()))
.addHeader("Cookie", "JSESSIONID=NqpqKQstwceQurcNK5hjl4GnTgiF4eSzZSo5a1rz")
.build();
return request;
}
public static Request postFiles(OkDate od,File file,String token,String carId,String carNum) {
public static Request postFiles(OkDate od,File file,String token,String carId,String carNum,boolean isSave) {
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("file",file.getPath(),RequestBody.create(MediaType.parse("application/octet-stream"), file))
.addFormDataPart("carId",carId)
.addFormDataPart("carNum",carNum)
.addFormDataPart("isSave",isSave?"0":"1")
.build();
Request request = new Request.Builder()
.url(od.getUrl())
.method("POST", body)
.addHeader("Authorization", token)
.addHeader("VersionCode",String.valueOf(AppUtils.getAppVersionCode()))
.addHeader("Cookie", "JSESSIONID=NqpqKQstwceQurcNK5hjl4GnTgiF4eSzZSo5a1rz")
.build();
return request;
@@ -70,13 +70,27 @@ public class GetCarImageAlert {
.permissions(Manifest.permission.CAMERA)
.request((allGranted, grantedList, deniedList) -> {
if (allGranted) {
file=ImageGetUtil.createImageFile(act);
ImageGetUtil.cameraAlbumGetImage(act,file);
openCam(act);
// file=ImageGetUtil.createImageFile(act);
// ImageGetUtil.cameraAlbumGetImage(act,file);
} else {
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());
//popupWindow消失屏幕变为不透明
popupWindow.setOnDismissListener(() -> {
@@ -99,4 +113,13 @@ public class GetCarImageAlert {
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 com.dahe.mylibrary.utils.AppUtils;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
@@ -39,7 +41,7 @@ public class ImageGetUtil {
if(imageFile!=null){
if(Build.VERSION.SDK_INT>= Build.VERSION_CODES.N){
/*7.0以上要通过FileProvider将File转化为Uri*/
uri = FileProvider.getUriForFile(act.getApplicationContext(),"com.arpa.hndahesudintocctmsdriver.fileprovider",imageFile);
uri = FileProvider.getUriForFile(act.getApplicationContext(), AppUtils.getAppPackageName()+".fileprovider",imageFile);
}else {
/*7.0以下则直接使用Uri的fromFile方法将File转化为Uri*/
uri = Uri.fromFile(imageFile);
@@ -0,0 +1,101 @@
package com.arpa.hndahesudintocctmsdriver.util.location;
import static com.arpa.hndahesudintocctmsdriver.util.location.LocationGDUtil.RES;
import android.Manifest;
import android.content.Context;
import android.content.pm.PackageManager;
import android.location.Address;
import android.location.Criteria;
import android.location.Geocoder;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Handler;
import androidx.annotation.NonNull;
import androidx.core.app.ActivityCompat;
import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup;
import com.arpa.hndahesudintocctmsdriver.util.msg.MsgUtil;
import com.dahe.mylibrary.utils.ToastUtils;
import com.google.gson.Gson;
import java.util.List;
import java.util.Locale;
/**
* @ClassName LocationManagerUtil
* @Author john
* @Date 2024/7/25 15:21
* @Description LocationManager本地定位
*/
public class LocationManagerUtil {
public static LocationManagerUtil mInstance = null;
public static LocationManagerUtil getInstance() {
if (null == mInstance) {
synchronized (LocationManagerUtil.class) {
if (null == mInstance) {
mInstance = new LocationManagerUtil();
}
}
}
return mInstance;
}
private LocationManagerUtil() {
}
public void getLocation(Context ctx, Handler hd) {
LocationManager locationManager = (LocationManager) ctx.getSystemService(Context.LOCATION_SERVICE);
//创建定位条件器
Criteria criteria = new Criteria();
//设置精度,Criteria.ACCURACY_FINE表示精确,Criteria.ACCURACY_COARSE表示粗略
criteria.setAccuracy(Criteria.ACCURACY_FINE);
//设置是否需要海拔信息
criteria.setAltitudeRequired(true);
//设置是否需要方位信息
criteria.setBearingRequired(true);
//设置是否允许运营商扣费
criteria.setCostAllowed(true);
//设置对电源的需求
criteria.setPowerRequirement(Criteria.POWER_LOW);
String bestProvider = locationManager.getBestProvider(criteria, true);
if (bestProvider != null) {
if (ActivityCompat.checkSelfPermission(ctx, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(ctx, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
ToastUtils.showToast(ctx, "请查看定位权限");
return;
}
locationManager.requestLocationUpdates(bestProvider, 300, 0, new LocationListener() {
@Override
public void onLocationChanged(@NonNull Location location) {
try {
Geocoder geocoder = new Geocoder(ctx, Locale.getDefault());
List<Address> fromLocation = geocoder.getFromLocation(location.getLatitude(), location.getLongitude(), 1);
if (fromLocation != null && !fromLocation.isEmpty()) {
Address address = fromLocation.get(0);
String addressLine = address.getAddressLine(0);
String adminArea = address.getAdminArea();//省
String locality = address.getLocality();//市
String subLocality = address.getSubLocality();//县
String featureName = address.getFeatureName();//详细地址
CacheGroup.cacheList.put("getLocation", new Gson().toJson(address));
MsgUtil.addHdMsgWat(hd, RES);
locationManager.removeUpdates(this);
}
} catch (Exception e) {
}
}
});
} else {
ToastUtils.showToast(ctx, "定位失败,请查看定位权限");
}
}
}
@@ -20,6 +20,7 @@ public class LocationUtil{
private double latitude;
private double longitude;
private int errorCode;
private String address;
private Context con;
private Handler hd;
@@ -39,6 +40,10 @@ public class LocationUtil{
return longitude;
}
public double getErrorCode() {
return errorCode;
}
public String getAddress() {
return address;
}
@@ -62,7 +67,7 @@ public class LocationUtil{
//LocationMode.Hight_Accuracy:高精度;
//LocationMode. Battery_Saving:低功耗;
//LocationMode. Device_Sensors:仅使用设备;
option.setCoorType("GCJ02");
option.setCoorType("BD09ll");
//可选,设置返回经纬度坐标类型,默认GCJ02
//GCJ02:国测局坐标;
//BD09ll:百度经纬度坐标;
@@ -112,7 +117,8 @@ public class LocationUtil{
float radius = location.getRadius(); //获取定位精度,默认值为0.0f
String coorType = location.getCoorType();
//获取经纬度坐标类型,以LocationClientOption中设置过的坐标类型为准
int errorCode = location.getLocType();
errorCode = location.getLocType();
String locTypeDescription = location.getLocTypeDescription();
//获取定位类型、定位错误返回码,具体信息可参照类参考中BDLocation类中的说明
Log.e("定位位置address",address+"");
Log.e("定位坐标latitude",latitude+"");
@@ -12,12 +12,12 @@ import android.os.Message;
public class MsgUtil {
public static void addHdMsgWat(Handler hd,int what){
Message msg=new Message();
Message msg=Message.obtain();
msg.what=what;
hd.sendMessage(msg);
}
public static void addHdMsgWatBody(Handler hd,int what,String body){
Message msg=new Message();
Message msg=Message.obtain();
msg.what=what;
msg.obj=body;
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();
}
}
@@ -0,0 +1,38 @@
package com.arpa.hndahesudintocctmsdriver.weight;
import android.view.View;
import android.widget.Toast;
import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil;
import com.dahe.mylibrary.utils.ToastUtils;
import java.util.Calendar;
/**
* @ClassName OnLimitClickHelper
* @Author john
* @Date 2024/4/22 14:28
* @Description TODO
*/
public class OnLimitClickHelper implements View.OnClickListener {
public static final int LIMIT_TIME = 2000;
private long lastClickTime = 0;
private OnLimitClickListener onLimitClickListener = null;
public OnLimitClickHelper(OnLimitClickListener onLimitClickListener){
this.onLimitClickListener = onLimitClickListener;
}
@Override
public void onClick(View v) {
long curTime = Calendar.getInstance().getTimeInMillis();
if (curTime - lastClickTime > LIMIT_TIME) {
lastClickTime = curTime;
if(onLimitClickListener != null){
onLimitClickListener.onClick(v);
}
}else{
ToastUtils.showToast(v.getContext(),"点击速度过快,请稍后重试");
}
}
}
@@ -0,0 +1,17 @@
package com.arpa.hndahesudintocctmsdriver.weight;
import android.view.View;
/**
* @ClassName OnLimitClickListener
* @Author john
* @Date 2024/4/22 14:28
* @Description TODO
*/
public interface OnLimitClickListener {
/**
* 按钮点击事件
* @param view
*/
void onClick(View view);
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 788 B

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: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 432 KiB

+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/icon_eye_open" android:state_checked="true"></item>
<item android:drawable="@drawable/icon_eye_close" android:state_checked="false"></item>
<item android:drawable="@drawable/icon_eye_close"></item>
</selector>
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/read_select" android:state_checked="true"></item>
<item android:drawable="@drawable/read_nor" android:state_checked="false"></item>
<item android:drawable="@drawable/read_nor"></item>
</selector>
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/red" />
<corners
android:radius="@dimen/dp_14" />
</shape>
@@ -55,13 +55,13 @@
android:layout_width="@dimen/dp_90"
android:layout_height="@dimen/dp_90"
android:background="#EEEEEE">
<ImageView
android:layout_width="@dimen/dp_23"
android:layout_height="@dimen/dp_23"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:layout_centerInParent="true"
android:scaleType="fitXY"
android:src="@mipmap/up_img"/>
android:src="@mipmap/up_img" />
</RelativeLayout>
<RelativeLayout
android:layout_marginLeft="@dimen/dp_8"
@@ -118,6 +118,7 @@
android:background="@drawable/bg_bai"
android:elevation="@dimen/dp_1">
<RelativeLayout
android:visibility="gone"
android:id="@+id/cow1"
android:layout_marginBottom="@dimen/dp_10"
android:layout_width="match_parent"
@@ -130,28 +131,28 @@
android:textColor="#ffc4c4ce"
android:textSize="@dimen/sp_13"
/>
<EditText
android:id="@+id/value1"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ff999999"
android:textSize="@dimen/sp_13"
android:maxLines="1"
android:hint="点击进行手动输入"
android:ellipsize="end"
android:layout_alignParentRight="true"
android:layout_marginLeft="@dimen/dp_30"
android:gravity="right"
android:background="@null"
/>
android:ellipsize="end"
android:gravity="right"
android:hint="点击进行手动输入"
android:maxLines="1"
android:textColor="#ff999999"
android:textSize="@dimen/sp_13" />
</RelativeLayout>
<View
android:visibility="gone"
android:id="@+id/vs"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1"
android:background="@drawable/bottom_xu"/>
<RelativeLayout
android:layout_marginTop="@dimen/dp_10"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
@@ -162,20 +163,20 @@
android:textColor="#ffc4c4ce"
android:textSize="@dimen/sp_13"
/>
<TextView
android:id="@+id/value2"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ff999999"
android:textSize="@dimen/sp_13"
android:maxLines="1"
android:hint="点击进行手动输入"
android:ellipsize="end"
android:gravity="right"
android:layout_alignParentRight="true"
android:layout_marginLeft="@dimen/dp_30"
android:background="@null"
/>
android:ellipsize="end"
android:gravity="right"
android:hint="点击进行手动输入"
android:maxLines="1"
android:textColor="#ff999999"
android:textSize="@dimen/sp_13" />
</RelativeLayout>
</LinearLayout>
<TextView
+130 -72
View File
@@ -5,34 +5,50 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="@drawable/bg_theme"
android:id="@+id/activity_bank_auth">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_marginTop="@dimen/dp_58"
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_58">
<ImageView
android:id="@+id/return_btn"
android:layout_marginLeft="@dimen/dp_20"
android:layout_width="@dimen/dp_40"
android:layout_height="@dimen/dp_31"
android:src="@mipmap/return_lefts"
android:layout_marginLeft="@dimen/dp_20"
android:padding="@dimen/dp_10"
android:scaleType="fitXY"/>
<TextView
android:layout_marginTop="@dimen/dp_10"
android:id="@+id/submit"
android:layout_marginRight="@dimen/dp_30"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="提交"
android:textColor="@color/theme_color"
android:textSize="@dimen/sp_15"
/>
android:scaleType="fitXY"
android:src="@mipmap/return_lefts" />
<!-- <TextView-->
<!-- android:id="@+id/skip"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_marginTop="@dimen/dp_10"-->
<!-- android:layout_marginRight="@dimen/dp_30"-->
<!-- android:layout_toLeftOf="@+id/submit"-->
<!-- android:text="跳过"-->
<!-- android:textColor="@color/theme_color"-->
<!-- android:textSize="@dimen/sp_15"-->
<!-- android:visibility="gone" />-->
<!-- <TextView-->
<!-- android:id="@+id/submit"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_alignParentRight="true"-->
<!-- android:layout_marginTop="@dimen/dp_10"-->
<!-- android:layout_marginRight="@dimen/dp_30"-->
<!-- android:text="提交"-->
<!-- android:textColor="@color/theme_color"-->
<!-- android:textSize="@dimen/sp_15" />-->
</RelativeLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -41,47 +57,52 @@
android:text="银行卡信息"
android:textColor="#ff000000"
android:textSize="@dimen/sp_23" />
<TextView
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_20"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/red"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_20"
android:text="*注意: 请添加本人银行卡, 否则无法提现成功"
></TextView>
android:textColor="@color/red"></TextView>
<androidx.cardview.widget.CardView
android:layout_marginTop="@dimen/dp_20"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginRight="@dimen/dp_38"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_163"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_20"
android:layout_marginRight="@dimen/dp_38"
app:cardCornerRadius="@dimen/dp_10">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:id="@+id/up_bank_img"
android:src="@mipmap/bank_img"
android:layout_width="@dimen/dp_249"
android:layout_height="@dimen/dp_138"
android:scaleType="fitXY"/>
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:scaleType="fitXY"
android:src="@mipmap/bank_img" />
<TextView
android:layout_marginBottom="@dimen/dp_21"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="点击上传银行卡正面照"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"/>
android:layout_marginBottom="@dimen/dp_21"
android:text="点击上传银行卡正面照" />
</RelativeLayout>
</androidx.cardview.widget.CardView>
<LinearLayout
android:layout_marginTop="@dimen/dp_15"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_15"
android:orientation="horizontal">
<TextView
android:id="@+id/zj_name2"
android:layout_width="wrap_content"
@@ -92,85 +113,122 @@
android:textColor="#ffc4c4ce"
android:textSize="@dimen/sp_13" />
</LinearLayout>
<LinearLayout
android:layout_marginTop="@dimen/dp_13"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginRight="@dimen/dp_38"
android:padding="@dimen/dp_14"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_13"
android:layout_marginRight="@dimen/dp_38"
android:background="@drawable/bg_bai"
android:elevation="@dimen/dp_1">
<com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView
android:id="@+id/brv"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
android:elevation="@dimen/dp_1"
android:orientation="vertical"
android:padding="@dimen/dp_14">
<!-- <com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView-->
<!-- android:id="@+id/brv"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content" />-->
<LinearLayout
android:layout_marginBottom="@dimen/dp_10"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/dp_10"
android:orientation="horizontal">
<TextView
android:paddingTop="@dimen/dp_10"
android:paddingBottom="@dimen/dp_10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="银行名称"
android:textColor="#ffc4c4ce"
android:textSize="@dimen/sp_13"
/>
<EditText
android:paddingTop="@dimen/dp_10"
android:paddingBottom="@dimen/dp_10"
android:text="银行名称"
android:textColor="#ffc4c4ce"
android:textSize="@dimen/sp_13" />
<EditText
android:id="@+id/bank_name"
android:layout_alignParentRight="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#ff000000"
android:textSize="@dimen/sp_13"
android:maxLines="1"
android:ellipsize="end"
android:inputType="text"
android:layout_alignParentRight="true"
android:layout_marginLeft="@dimen/dp_30"
android:background="@null"
/>
android:ellipsize="end"
android:inputType="text"
android:maxLines="1"
android:paddingTop="@dimen/dp_10"
android:paddingBottom="@dimen/dp_10"
android:textColor="#ff000000"
android:textSize="@dimen/sp_13" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1"
android:background="@drawable/bottom_xu"/>
android:background="@drawable/bottom_xu" />
<LinearLayout
android:layout_marginTop="@dimen/dp_10"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_10"
android:orientation="horizontal">
<TextView
android:paddingTop="@dimen/dp_10"
android:paddingBottom="@dimen/dp_10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="银行卡号"
android:textColor="#ffc4c4ce"
android:textSize="@dimen/sp_13"
/>
<EditText
android:paddingTop="@dimen/dp_10"
android:paddingBottom="@dimen/dp_10"
android:text="银行卡号"
android:textColor="#ffc4c4ce"
android:textSize="@dimen/sp_13" />
<EditText
android:id="@+id/bank_number"
android:layout_alignParentRight="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#ff000000"
android:textSize="@dimen/sp_13"
android:inputType="number"
android:maxLines="1"
android:ellipsize="end"
android:layout_alignParentRight="true"
android:layout_marginLeft="@dimen/dp_30"
android:background="@null"
/>
android:ellipsize="end"
android:inputType="number"
android:maxLines="1"
android:paddingTop="@dimen/dp_10"
android:paddingBottom="@dimen/dp_10"
android:textColor="#ff000000"
android:textSize="@dimen/sp_13" />
</LinearLayout>
</LinearLayout>
<View
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
/>
<Button
android:id="@+id/skip"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_42"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginRight="@dimen/dp_38"
android:background="@drawable/bg_btn_grey"
android:text="跳过"
android:textColor="#fff"
android:textSize="@dimen/sp_15" />
<Button
android:id="@+id/submit"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_42"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_22"
android:layout_marginRight="@dimen/dp_38"
android:layout_marginBottom="@dimen/dp_50"
android:background="@drawable/bg_btn_green"
android:text="下一步"
android:textColor="#fff"
android:textSize="@dimen/sp_15" />
</LinearLayout>
</RelativeLayout>
+77 -38
View File
@@ -176,10 +176,12 @@
android:layout_centerVertical="true"/>
</RelativeLayout>
<View
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_2"
android:background="#F6F6F9"/>
<RelativeLayout
android:visibility="gone"
android:id="@+id/r6"
android:layout_width="match_parent"
android:layout_height="wrap_content">
@@ -202,10 +204,12 @@
android:layout_centerVertical="true"/>
</RelativeLayout>
<View
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_2"
android:background="#F6F6F9"/>
<RelativeLayout
android:visibility="gone"
android:id="@+id/r7"
android:layout_width="match_parent"
android:layout_height="wrap_content">
@@ -227,44 +231,7 @@
android:layout_alignParentRight="true"
android:layout_centerVertical="true"/>
</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
android:layout_width="match_parent"
android:layout_height="@dimen/dp_2"
@@ -303,6 +270,45 @@
android:layout_alignParentRight="true"
android:layout_centerVertical="true"/>
</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
android:id="@+id/vs1"
android:layout_width="match_parent"
@@ -376,5 +382,38 @@
/>
</LinearLayout>
<RelativeLayout
android:id="@+id/r8"
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"
/>
</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
android:layout_width="match_parent"
android:layout_height="@dimen/dp_2"
android:background="#F6F6F9"/>
</LinearLayout>
</RelativeLayout>
@@ -55,10 +55,11 @@
android:layout_width="@dimen/dp_90"
android:layout_height="@dimen/dp_90"
android:background="#EEEEEE">
<ImageView
android:id="@+id/img1"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
android:layout_height="match_parent" />
</RelativeLayout>
<LinearLayout
android:layout_marginTop="@dimen/dp_13"
+9 -29
View File
@@ -104,35 +104,15 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<androidx.cardview.widget.CardView
android:padding="@dimen/dp_7"
android:layout_marginTop="@dimen/dp_2"
android:layout_width="@dimen/dp_14"
android:layout_height="@dimen/dp_14"
app:cardCornerRadius="@dimen/dp_7"
app:cardBackgroundColor="@color/theme_color"
app:cardElevation="@dimen/dp_0">
<androidx.cardview.widget.CardView
android:padding="@dimen/dp_7"
android:id="@+id/no_btn"
android:layout_width="@dimen/dp_12"
android:layout_height="@dimen/dp_12"
app:cardCornerRadius="@dimen/dp_6"
app:cardBackgroundColor="#fff"
android:layout_gravity="center"
app:cardElevation="@dimen/dp_0">
</androidx.cardview.widget.CardView>
<ImageButton
android:id="@+id/agree_btn"
android:layout_width="@dimen/dp_14"
android:layout_height="@dimen/dp_14"
android:src="@mipmap/choice"
android:scaleType="fitXY"
android:background="#fff"
android:layout_gravity="center"
android:visibility="gone"
/>
</androidx.cardview.widget.CardView>
<CheckBox
android:layout_marginTop="@dimen/dp_3"
android:id="@+id/cb"
android:layout_width="@dimen/dp_28"
android:layout_height="@dimen/dp_34"
android:button="@null"
android:checked="false"
android:drawableStart="@drawable/select_read"/>
<TextView
android:id="@+id/tv_content"
android:layout_width="wrap_content"
-221
View File
@@ -1,221 +0,0 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/titleBar"
android:layout_width="match_parent"
android:layout_height="50dp"
android:clipToPadding="true"
tools:context=".activity.BaseActivity">
<!--android:fitsSystemWindows="true"-->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:orientation="horizontal"
android:padding="10dp">
<TextView
android:id="@+id/left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:gravity="center"
android:text="返回"
android:textColor="@android:color/black"
android:visibility="visible" />
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center"
android:text="后台运行设置"
android:textColor="@android:color/black"
android:textSize="20sp"
android:textStyle="bold" />
<TextView
android:id="@+id/right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:gravity="center"
android:text=""
android:textColor="@android:color/black"
android:visibility="gone" />
</RelativeLayout>
<View
android:id="@+id/line"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_alignParentBottom="true"
android:background="?android:attr/listDivider"
android:visibility="visible" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal"
android:padding="20dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:text="你的手机"
android:textColor="@android:color/black"
android:textSize="18sp" />
<TextView
android:id="@+id/bandName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:gravity="center_vertical"
android:text="HUAWEI"
android:textColor="@android:color/holo_orange_dark"
android:textSize="18sp" />
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="20dp"
android:text="为什么要让应用程序在后台运行?"
android:textColor="@android:color/black"
android:textSize="14sp"
android:textStyle="bold" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingStart="40dp"
android:paddingTop="20dp"
android:paddingEnd="40dp"
android:paddingBottom="20dp"
android:text="接收通知需要应用在后台持续运行,以避免进程被系统终止。 这可能会错过来电和信息。"
android:textColor="@android:color/black"
android:textSize="14sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingStart="40dp"
android:paddingEnd="40dp"
android:text="注意:如果您的手机上安装了第三方安全管理应用,请将IMFitPro添加到它们的例外中, 不受其约束。"
android:textColor="@android:color/black"
android:textSize="14sp" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="40dp">
<TextView
android:id="@+id/tutorials"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:drawablePadding="20dp"
android:gravity="center"
android:text="查看自启动教程"
android:textColor="@android:color/holo_orange_dark"
android:textSize="18sp" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp">
<TextView
android:id="@+id/autoStart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:drawablePadding="20dp"
android:gravity="center"
android:text="设置自启动"
android:textColor="@android:color/holo_orange_dark"
android:textSize="18sp" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp">
<TextView
android:id="@+id/lockApp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:drawablePadding="20dp"
android:gravity="center"
android:text="在后台锁定应用程序"
android:textColor="@android:color/holo_orange_dark"
android:textSize="18sp" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp">
<TextView
android:id="@+id/battery_optimization"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:drawablePadding="20dp"
android:gravity="center"
android:text="忽略电池优化"
android:textColor="@android:color/holo_orange_dark"
android:textSize="18sp" />
</RelativeLayout>
</LinearLayout>
</ScrollView>
<WebView
android:id="@+id/webView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
android:visibility="gone" />
<WebView
android:id="@+id/webView2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
android:visibility="gone" />
</RelativeLayout>
</LinearLayout>
+50 -3
View File
@@ -81,7 +81,7 @@
android:id="@+id/zjimg_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_19"
android:layout_marginTop="@dimen/dp_16"
android:text="从业资格证照片"
android:textColor="#ff333333"
android:textSize="@dimen/sp_15" />
@@ -91,7 +91,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="@dimen/dp_19"
android:layout_marginBottom="@dimen/dp_16"
android:text="点击上传图片"
android:textColor="@color/theme_color"
android:textSize="@dimen/sp_15" />
@@ -100,7 +100,7 @@
</androidx.cardview.widget.CardView>
<LinearLayout
android:visibility="gone"
android:id="@+id/llInfo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -137,6 +137,8 @@
android:orientation="vertical"
android:padding="@dimen/dp_14">
<RelativeLayout
android:id="@+id/cow1"
@@ -162,10 +164,55 @@
android:gravity="right"
android:hint="点击进行手动输入"
android:maxLines="1"
android:singleLine="true"
android:textColor="#ff999999"
android:textSize="@dimen/sp_13" />
</RelativeLayout>
<LinearLayout
android:id="@+id/llDate"
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<View
android:layout_marginTop="@dimen/dp_10"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1"
android:background="@drawable/bottom_xu"/>
<RelativeLayout
android:id="@+id/rlDate"
android:layout_marginTop="@dimen/dp_10"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/name2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="截止日期"
android:textColor="#ffc4c4ce"
android:textSize="@dimen/sp_13"
/>
<TextView
android:layout_toRightOf="@+id/name2"
android:id="@+id/value2"
android:layout_alignParentRight="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#ff999999"
android:textSize="@dimen/sp_13"
android:maxLines="1"
android:hint="请选择截止日期"
android:gravity="right"
android:ellipsize="end"
android:layout_marginLeft="@dimen/dp_10"
/>
</RelativeLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
@@ -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
android:layout_width="match_parent"
android:layout_height="@dimen/dp_102"/>
android:layout_height="@dimen/dp_40"/>
<Button
android:id="@+id/submit"
+16 -3
View File
@@ -3,11 +3,24 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<WebView
<RelativeLayout
android:layout_marginTop="@dimen/dp_88"
android:id="@+id/wv"
android:layout_width="match_parent"
android:layout_height="match_parent" />
android:layout_height="match_parent">
<WebView
android:id="@+id/wv"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="5dp"
android:visibility="invisible"
android:layout_alignParentTop="true" />
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
+17
View File
@@ -99,6 +99,8 @@
android:textSize="@dimen/sp_17"
android:background="@null"
android:layout_marginBottom="@dimen/dp_3"/>
</LinearLayout>
<LinearLayout
android:layout_marginTop="@dimen/dp_8"
@@ -122,6 +124,7 @@
android:progressDrawable="@drawable/par_bg"
/>
<TextView
android:id="@+id/tvContent"
android:layout_marginTop="@dimen/dp_6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -131,6 +134,20 @@
android:layout_gravity="center"
/>
</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
android:id="@+id/force_box"
+2 -2
View File
@@ -10,7 +10,7 @@
android:layout_marginLeft="@dimen/dp_13"
android:layout_width="@dimen/dp_290"
android:layout_height="@dimen/dp_56"
android:src="@mipmap/icon_home_1"
android:src="@drawable/icon_home_1"
android:scaleType="fitXY"/>
<ImageView
@@ -20,7 +20,7 @@
android:layout_alignParentRight="true"
android:layout_marginRight="@dimen/dp_13"
android:scaleType="fitXY"
android:src="@mipmap/icon_home_2" />
android:src="@drawable/icon_home_2" />
<LinearLayout
android:layout_width="match_parent"
+147 -91
View File
@@ -1,47 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/huoyuan_xq"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:id="@+id/huoyuan_xq"
android:background="#fff">
android:background="#fff"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/theme_color"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="@dimen/dp_20">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_68">
<ImageButton
android:layout_marginLeft="@dimen/dp_38"
android:id="@+id/return_btn"
android:layout_width="@dimen/dp_21"
android:layout_height="@dimen/dp_18"
android:layout_marginLeft="@dimen/dp_38"
android:background="@null"
android:scaleType="fitXY"
android:src="@mipmap/return_btn" />
<ImageButton
android:layout_marginRight="@dimen/dp_38"
android:layout_width="@dimen/dp_18"
android:layout_height="@dimen/dp_18"
android:src="@mipmap/share2"
android:layout_alignParentRight="true"
android:scaleType="fitXY"
android:layout_marginRight="@dimen/dp_38"
android:background="@null"
android:visibility="gone"/>
android:scaleType="fitXY"
android:src="@mipmap/share2"
android:visibility="gone" />
</RelativeLayout>
<RelativeLayout
android:layout_marginTop="@dimen/dp_8"
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_8">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -49,73 +56,102 @@
android:text="货源详情"
android:textColor="#fff"
android:textSize="@dimen/sp_23" />
<TextView
android:layout_marginTop="@dimen/dp_11"
android:layout_marginRight="@dimen/dp_37"
android:layout_alignParentRight="true"
android:id="@+id/huozhu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginTop="@dimen/dp_11"
android:layout_marginRight="@dimen/dp_37"
android:text="联系货主"
android:textColor="#fff"
android:textSize="@dimen/sp_13" />
<TextView
android:layout_marginTop="@dimen/dp_11"
android:layout_marginRight="@dimen/dp_37"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginTop="@dimen/dp_11"
android:layout_marginRight="@dimen/dp_37"
android:text="拒绝"
android:textColor="#fff"
android:textSize="@dimen/sp_15"
android:visibility="gone"/>
android:visibility="gone" />
</RelativeLayout>
<LinearLayout
android:layout_marginTop="@dimen/dp_38"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginRight="@dimen/dp_38"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_38"
android:layout_marginRight="@dimen/dp_38"
android:orientation="vertical">
<LinearLayout
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:id="@+id/totalFreight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="****"
android:textColor="#ffffffff"
android:textSize="@dimen/sp_40" />
<CheckBox
android:id="@+id/cb"
android:layout_width="@dimen/dp_30"
android:layout_height="@dimen/dp_30"
android:layout_marginLeft="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_3"
android:button="@null"
android:checked="false"
android:drawableStart="@drawable/select_eye"
android:gravity="center">
</CheckBox>
</LinearLayout>
<TextView
android:id="@+id/totalFreight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="0000"
android:textColor="#ffffffff"
android:textSize="@dimen/sp_40" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="净赚运费(元)"
android:textColor="#ffffffff"
android:textSize="@dimen/sp_13"
android:layout_gravity="center"
/>
android:textSize="@dimen/sp_13" />
<View
android:layout_marginTop="@dimen/dp_16"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1"
android:background="#EFEFEF"/>
android:layout_marginTop="@dimen/dp_16"
android:background="#EFEFEF" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_28"
android:orientation="horizontal">
<RelativeLayout
android:layout_width="@dimen/dp_0"
android:layout_height="match_parent"
android:layout_weight="1">
<TextView
android:layout_marginLeft="@dimen/dp_5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/dp_5"
android:text="预估里程(km)"
android:textColor="#ffffffff"
android:textSize="@dimen/sp_12"
android:layout_centerVertical="true"
/>
android:textSize="@dimen/sp_12" />
<TextView
android:id="@+id/distance"
@@ -128,10 +164,12 @@
android:textColor="#ffffffff"
android:textSize="@dimen/sp_12" />
</RelativeLayout>
<View
android:layout_width="@dimen/dp_1"
android:layout_height="wrap_content"
android:background="#EFEFEF"/>
android:background="#EFEFEF" />
<RelativeLayout
android:layout_width="@dimen/dp_0"
android:layout_height="match_parent"
@@ -158,14 +196,17 @@
android:textSize="@dimen/sp_12" />
</RelativeLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1"
android:background="#EFEFEF"/>
android:background="#EFEFEF" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_28"
android:orientation="horizontal">
<RelativeLayout
android:layout_width="@dimen/dp_0"
android:layout_height="match_parent"
@@ -191,10 +232,12 @@
android:textColor="#ffffffff"
android:textSize="@dimen/sp_12" />
</RelativeLayout>
<View
android:layout_width="@dimen/dp_1"
android:layout_height="wrap_content"
android:background="#EFEFEF"/>
android:background="#EFEFEF" />
<RelativeLayout
android:layout_width="@dimen/dp_0"
android:layout_height="match_parent"
@@ -224,59 +267,67 @@
android:textSize="@dimen/sp_12" />
</RelativeLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1"
android:background="#EFEFEF"/>
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1"
android:background="#EFEFEF" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_28"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/dp_5"
android:text="运输要求:"
android:textColor="#ffffffff"
android:textSize="@dimen/sp_12"
android:layout_gravity="center"/>
<TextView
android:layout_marginLeft="@dimen/dp_7"
android:id="@+id/requirement"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/dp_5"
android:text=""
android:textColor="#ffffffff"
android:textSize="@dimen/sp_12"
android:layout_gravity="center"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_5"
android:text="运输要求:"
android:textColor="#ffffffff"
android:textSize="@dimen/sp_12" />
<TextView
android:id="@+id/requirement"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_7"
android:layout_marginRight="@dimen/dp_5"
android:text=""
android:textColor="#ffffffff"
android:textSize="@dimen/sp_12" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1"
android:background="#EFEFEF"/>
android:background="#EFEFEF" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/bg_bai">
android:background="@drawable/bg_bai"
android:orientation="vertical">
<LinearLayout
android:layout_marginLeft="@dimen/dp_39"
android:layout_marginTop="@dimen/dp_17"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_39"
android:layout_marginTop="@dimen/dp_17"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="货源单号:"
android:textColor="#333333"
android:textSize="@dimen/sp_13" />
<TextView
android:id="@+id/orderNum"
android:layout_width="wrap_content"
@@ -285,42 +336,48 @@
android:textColor="#333333"
android:textSize="@dimen/sp_13" />
</LinearLayout>
<androidx.cardview.widget.CardView
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginRight="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_15"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardCornerRadius="@dimen/dp_14"
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_15"
android:layout_marginRight="@dimen/dp_15"
app:cardBackgroundColor="#fff"
app:cardCornerRadius="@dimen/dp_14"
app:cardElevation="@dimen/dp_0">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView
android:id="@+id/zhuang_rv1"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView
android:id="@+id/zhuang_rv2"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</androidx.cardview.widget.CardView>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_17">
<TextView
android:id="@+id/car"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/dp_39"
android:text="选择车辆"
android:textColor="#ff000000"
android:textSize="@dimen/sp_13"
android:layout_centerVertical="true"/>
android:textSize="@dimen/sp_13" />
<ImageButton
android:id="@+id/xuanze"
@@ -328,8 +385,8 @@
android:layout_height="@dimen/dp_29"
android:layout_alignParentRight="true"
android:layout_marginRight="@dimen/dp_38"
android:padding="@dimen/dp_5"
android:background="@null"
android:padding="@dimen/dp_5"
android:scaleType="fitXY"
android:src="@mipmap/add1" />
</RelativeLayout>
@@ -346,39 +403,37 @@
android:layout_height="@dimen/dp_25"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_38"
android:padding="@dimen/dp_5"
android:background="@null"
android:padding="@dimen/dp_5"
android:scaleType="fitXY"
android:src="@mipmap/no_xuan" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_7"
android:text="同意并签署"
android:textColor="#000000"
android:textSize="@dimen/sp_13"
android:layout_gravity="center"/>
android:textSize="@dimen/sp_13" />
<TextView
android:id="@+id/check_contract"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="《运输合同》"
android:textColor="@color/theme_color_news"
android:textSize="@dimen/sp_13"
android:layout_gravity="center"/>
android:textSize="@dimen/sp_13" />
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_7"
>
android:layout_marginTop="@dimen/dp_7">
<ImageButton
android:visibility="invisible"
android:id="@+id/btnFp"
android:layout_width="@dimen/dp_25"
android:layout_height="@dimen/dp_25"
@@ -387,38 +442,39 @@
android:background="@null"
android:padding="@dimen/dp_5"
android:scaleType="fitXY"
android:src="@mipmap/no_xuan" />
android:src="@mipmap/no_xuan"
android:visibility="invisible" />
<TextView
android:layout_toRightOf="@+id/btnFp"
android:id="@+id/tvZzs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_7"
android:layout_toRightOf="@+id/btnFp"
android:text="同意在符合相关税务机关要求的情况下代开增值税发票"
android:textColor="#000000"
android:textSize="@dimen/sp_13"
android:layout_gravity="center"/>
android:textSize="@dimen/sp_13" />
<TextView
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="增值税发票"
android:textColor="@color/red"
android:textSize="@dimen/sp_13"
android:layout_gravity="center"/>
android:visibility="gone" />
</RelativeLayout>
<Button
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginRight="@dimen/dp_38"
android:id="@+id/confirm_btn"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_38"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginRight="@dimen/dp_38"
android:layout_marginBottom="@dimen/dp_60"
android:background="@drawable/bg_btn"
android:text="确认接单"
@@ -22,6 +22,7 @@
android:layout_marginLeft="@dimen/dp_10"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_marginTop="@dimen/dp_7"
@@ -37,10 +38,11 @@
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:textSize="@dimen/sp_13" />
</LinearLayout>
<LinearLayout
android:layout_marginTop="@dimen/dp_7"
android:layout_marginTop="@dimen/dp_18"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
@@ -51,12 +53,13 @@
android:text="店铺地址:"/>
<TextView
android:id="@+id/address"
android:singleLine="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/sp_13" />
</LinearLayout>
<LinearLayout
android:layout_marginTop="@dimen/dp_7"
android:layout_marginTop="@dimen/dp_18"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
@@ -64,13 +67,15 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/sp_13"
android:text="口味:"/>
android:text="联系方式:"/>
<TextView
android:id="@+id/taste"
android:singleLine="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/sp_13" />
<TextView
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/sp_13"
@@ -81,6 +86,7 @@
android:layout_height="wrap_content"
android:textSize="@dimen/sp_13" />
<TextView
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/sp_13"
+288 -179
View File
@@ -1,66 +1,68 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/item_huoyuan_new"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/item_huoyuan_new"
android:paddingBottom="@dimen/dp_78">
<LinearLayout
android:layout_width="match_parent"
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
android:layout_marginTop="@dimen/dp_12"
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:layout_margin="@dimen/dp_25"/>
android:layout_margin="@dimen/dp_25"
android:layout_marginTop="@dimen/dp_12" />
</LinearLayout>
<RelativeLayout
android:layout_marginTop="@dimen/dp_m_12"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_m_12">
<ImageView
android:id="@+id/fun_left"
android:layout_marginLeft="@dimen/dp_8"
android:layout_width="@dimen/dp_176"
android:layout_height="@dimen/dp_116"
android:src="@mipmap/icon_home_3"
android:scaleType="fitXY"/>
android:layout_marginLeft="@dimen/dp_8"
android:layout_weight="1"
android:background="@mipmap/icon_home_3"
android:scaleType="fitXY" />
<ImageView
android:id="@+id/fun_right"
android:layout_width="@dimen/dp_176"
android:layout_height="@dimen/dp_116"
android:layout_alignParentRight="true"
android:layout_marginRight="8dp"
android:scaleType="fitXY"
android:src="@mipmap/icon_home_4" />
android:layout_weight="1"
android:background="@mipmap/icon_home_4"
android:scaleType="fitXY" />
</RelativeLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_23"
android:visibility="gone">
<View
android:layout_width="@dimen/dp_54"
android:layout_height="@dimen/dp_3"
android:background="#999999"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"/>
android:background="#999999" />
</RelativeLayout>
<LinearLayout
@@ -69,188 +71,295 @@
android:orientation="vertical">
<com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView
android:layout_marginBottom="@dimen/dp_14"
android:id="@+id/brv_function"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:overScrollMode="never"/>
android:layout_marginBottom="@dimen/dp_14"
android:overScrollMode="never" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/auth_box"
android:layout_marginTop="@dimen/dp_4"
<LinearLayout
android:id="@+id/auth_box"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_4"
android:background="#fff"
android:orientation="vertical"
android:visibility="gone">
<TextView
android:id="@+id/text_login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="@dimen/dp_20"
android:text="认证成功 开始接单"
android:textColor="#ff666666"
android:textSize="@dimen/sp_14" />
<Button
android:id="@+id/btn_auth"
android:layout_width="@dimen/dp_60"
android:layout_height="@dimen/dp_24"
android:layout_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
android:id="@+id/order_box"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_4"
android:background="#fff"
android:orientation="vertical"
android:visibility="gone">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="#fff"
android:visibility="gone">
android:layout_marginLeft="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_24"
android:layout_marginRight="@dimen/dp_20">
<TextView
android:id="@+id/text_login"
android:layout_marginTop="@dimen/dp_20"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="认证成功 开始接单"
android:textColor="#ff666666"
android:textSize="@dimen/sp_14"
android:layout_gravity="center"
/>
android:text="执行中运单"
android:textColor="#ff333333"
android:textSize="@dimen/sp_16"
android:textStyle="bold" />
<Button
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_height="@dimen/dp_24"
android:text="去认证"
android:background="@drawable/bg_btn"
android:textColor="#ffffffff"
android:textSize="@dimen/sp_10"
android:layout_gravity="center"
android:gravity="center" />
</LinearLayout>
<LinearLayout
android:id="@+id/order_box"
android:layout_marginTop="@dimen/dp_4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="#fff"
android:visibility="gone">
<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_height="wrap_content">
<LinearLayout
android:id="@+id/order_all"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="执行中运单"
android:textColor="#ff333333"
android:textSize="@dimen/sp_16"
android:textStyle="bold"
/>
android:text="全部运单"
android:textColor="#ff999999"
android:textSize="@dimen/sp_14" />
<LinearLayout
android:id="@+id/order_all"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="全部运单"
android:textColor="#ff999999"
android:textSize="@dimen/sp_14"
/>
<ImageView
android:layout_marginLeft="@dimen/dp_4"
android:layout_width="@dimen/dp_7"
android:layout_height="@dimen/dp_12"
android:src="@mipmap/chevron"
android:layout_gravity="center"/>
</LinearLayout>
</RelativeLayout>
<com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView
android:layout_marginBottom="@dimen/dp_12"
android:id="@+id/brv_order"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
<!-- <LinearLayout
android:layout_marginTop="@dimen/dp_4"
<ImageView
android:layout_width="@dimen/dp_7"
android:layout_height="@dimen/dp_12"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_4"
android:src="@mipmap/chevron" />
</LinearLayout>
</RelativeLayout>
<com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView
android:id="@+id/brv_order"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="#fff">
<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_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="司机之家"
android:textColor="#ff333333"
android:textSize="@dimen/sp_16"
android:textStyle="bold"/>
</RelativeLayout>
<com.oneclouds.wangluohuoyun.util.view.BaseRecyclerView
android:layout_marginTop="@dimen/dp_14"
android:layout_marginBottom="@dimen/dp_24"
android:id="@+id/brv_driver_home"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout
android:layout_marginTop="@dimen/dp_4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="#fff"
android:visibility="gone">
<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_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="司机圈"
android:textColor="#ff333333"
android:textSize="@dimen/sp_16"
android:textStyle="bold"
/>
<LinearLayout
android:layout_marginBottom="@dimen/dp_12" />
</LinearLayout>
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="更多精彩"
android:textColor="#ff999999"
android:textSize="@dimen/sp_14"
/>
<ImageView
android:layout_marginLeft="@dimen/dp_4"
android:layout_width="@dimen/dp_7"
android:layout_height="@dimen/dp_12"
android:src="@mipmap/chevron"
android:layout_gravity="center"/>
</LinearLayout>
</RelativeLayout>
<com.oneclouds.wangluohuoyun.util.view.BaseRecyclerView
android:layout_marginTop="@dimen/dp_14"
android:id="@+id/brv_driver_circle"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/version"
android:layout_marginTop="@dimen/dp_5"
<LinearLayout
android:visibility="gone"
android:id="@+id/llCurWay"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_140"
android:layout_marginLeft="@dimen/dp_5"
android:layout_marginRight="@dimen/dp_5"
android:background="@drawable/bg_huoyuan">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/dp_25"
android:layout_marginLeft="@dimen/dp_25"
android:layout_marginRight="@dimen/dp_25"
android:layout_marginBottom="@dimen/dp_22">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="——V2.0.7——"
android:textSize="@dimen/sp_13"
android:gravity="center"
android:layout_marginBottom="@dimen/dp_5"
android:alpha="0.6"/>
</LinearLayout>-->
<include
layout="@layout/item_order_recommend"/>
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="运输中订单:"
android:textColor="#ff333333"
android:textSize="@dimen/sp_16" />
<TextView
android:id="@+id/tvWaybill"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_10"
android:text="1321561432123156"
android:textColor="#ff333333"
android:textSize="@dimen/sp_16" />
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_6">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/ivType"
android:layout_width="@dimen/dp_20"
android:layout_height="@dimen/dp_20"
android:layout_gravity="center"
android:scaleType="fitXY"
android:background="@mipmap/zhuang" />
<TextView
android:id="@+id/loadingAddress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_5"
android:ellipsize="end"
android:maxLines="1"
android:text="郑州市市委党校郑州市市委党校郑州市市委党校郑州市市委党校"
android:textColor="#ff333333"
android:textSize="@dimen/sp_15" />
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/tvGo"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_28"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:background="@drawable/shape_red_bg14"
android:paddingLeft="@dimen/dp_14"
android:paddingRight="@dimen/dp_14"
android:text="去装货"
android:gravity="center"
android:textColor="@color/white"
android:textSize="@dimen/sp_13" />
</RelativeLayout>
</LinearLayout>
</RelativeLayout>
</LinearLayout>
<!-- <LinearLayout
android:layout_marginTop="@dimen/dp_4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="#fff">
<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_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="司机之家"
android:textColor="#ff333333"
android:textSize="@dimen/sp_16"
android:textStyle="bold"/>
</RelativeLayout>
<com.oneclouds.wangluohuoyun.util.view.BaseRecyclerView
android:layout_marginTop="@dimen/dp_14"
android:layout_marginBottom="@dimen/dp_24"
android:id="@+id/brv_driver_home"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout
android:layout_marginTop="@dimen/dp_4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="#fff"
android:visibility="gone">
<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_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="司机圈"
android:textColor="#ff333333"
android:textSize="@dimen/sp_16"
android:textStyle="bold"
/>
<LinearLayout
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="更多精彩"
android:textColor="#ff999999"
android:textSize="@dimen/sp_14"
/>
<ImageView
android:layout_marginLeft="@dimen/dp_4"
android:layout_width="@dimen/dp_7"
android:layout_height="@dimen/dp_12"
android:src="@mipmap/chevron"
android:layout_gravity="center"/>
</LinearLayout>
</RelativeLayout>
<com.oneclouds.wangluohuoyun.util.view.BaseRecyclerView
android:layout_marginTop="@dimen/dp_14"
android:id="@+id/brv_driver_circle"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/version"
android:layout_marginTop="@dimen/dp_5"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="——V2.0.7——"
android:textSize="@dimen/sp_13"
android:gravity="center"
android:layout_marginBottom="@dimen/dp_5"
android:alpha="0.6"/>
</LinearLayout>-->
<include layout="@layout/item_order_recommend" />
</LinearLayout>
+3 -2
View File
@@ -99,7 +99,7 @@
<TextView
android:id="@+id/loadingAddress"
android:layout_width="@dimen/dp_120"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_5"
@@ -125,7 +125,7 @@
<TextView
android:id="@+id/receiverAddress"
android:layout_width="@dimen/dp_120"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_5"
@@ -140,6 +140,7 @@
</LinearLayout>
<LinearLayout
android:visibility="gone"
android:layout_marginRight="@dimen/dp_10"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
@@ -123,6 +123,7 @@
</LinearLayout>
</LinearLayout>
<LinearLayout
android:visibility="gone"
android:layout_marginRight="@dimen/dp_10"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
@@ -52,6 +52,7 @@
/>
</LinearLayout>
<LinearLayout
android:id="@+id/llMoney"
android:layout_marginTop="@dimen/dp_5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -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>

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