Compare commits

..
2 Commits
Author SHA1 Message Date
lijia 2c3b570dad 定位数据本地化保存 2024-07-16 11:02:49 +08:00
lijia b29e3eaf03 修复上传位置00问题 2024-07-16 08:57:03 +08:00
34 changed files with 1874 additions and 703 deletions
+4 -4
View File
@@ -37,8 +37,8 @@ android {
applicationId "com.arpa.hndahesudintocctmsdriver"
minSdkVersion 24
targetSdkVersion 30
versionCode 68
versionName "3.3.8"
versionCode 65
versionName "3.3.5"
flavorDimensions "CHANNEL_VALUE"
flavorDimensions "app_icon"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
@@ -105,7 +105,7 @@ android {
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("String", "BASE_URL", "\"http://app.test.dahehuoyun.com/api/\"")
buildConfigField "boolean", "isTest", "true"
//APP名称,可以在androidMainfest中引用
resValue "string", "appName", "司机测试"
@@ -114,7 +114,7 @@ android {
applicationId "com.arpa.hndahesudintocctmsdriver"
manifestPlaceholders = [CHANNEL_VALUE: "大河好运司机",
app_icon : "@drawable/diver_logo",
GAODEKEY : "9480fd96746922630e9bf6c75a101059",
GAODEKEY : "c68051b43e79e47a1556fc695371c902",
JPUSH_PKGNAME: applicationId,
JPUSH_APPKEY : "fba6f55621c670d8c1fe9191", //JPush 上注册的包名对应的 Appkey.
JPUSH_CHANNEL: "developer-default"//暂时填写默认值即可.
+3 -1
View File
@@ -11,6 +11,7 @@
<!-- 录音 -->
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
<!--播音-->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
@@ -268,7 +269,8 @@
android:value="${GAODEKEY}" />
<!-- android:value="702eaa84675618b8eb69298d9fd42ca3" />-->
<service android:name="com.amap.api.location.APSService"></service>
<service android:name="com.amap.api.location.APSService"
android:foregroundServiceType="location"></service>
<!--百度地图-->
<meta-data
@@ -78,29 +78,30 @@ public class App extends Application {
}
}
// 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);
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("大河好运")
.setContent("大河好运司机端为您提供服务")
.setSmallIcon(R.drawable.diver_logo)
.addBackgroundCallback(new CactusBackgroundCallback() {
@Override
public void onBackground(boolean b) {
if (b){
getBillLocation();
}
}
})
.register(this);
}
public static App getApp() {
File diff suppressed because it is too large Load Diff
@@ -1,157 +0,0 @@
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 + '\'' +
'}';
}
}
@@ -162,16 +162,11 @@ public class RequestConstant {
//车辆自动审核触发器
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 postAppInfo() {
return BASE_URL + APP_INFO;
}
public static String getCarColor() {
return BASE_URL + CAR_COLOR;
}
@@ -10,7 +10,6 @@ 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;
@@ -119,14 +118,6 @@ 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";
@@ -233,15 +224,4 @@ public class UserRequset {
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);
}
}
@@ -3,12 +3,15 @@ package com.arpa.hndahesudintocctmsdriver.service;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.os.Environment;
import android.os.Handler;
import android.os.IBinder;
import android.util.Log;
import androidx.annotation.Nullable;
import com.amap.api.location.AMapLocation;
import com.arpa.hndahesudintocctmsdriver.util.FileIOUtils;
import com.google.gson.Gson;
import com.arpa.hndahesudintocctmsdriver.bean.BaseBean;
import com.arpa.hndahesudintocctmsdriver.request.HuoYuanRequset;
@@ -18,8 +21,13 @@ import com.arpa.hndahesudintocctmsdriver.util.sp.SPUtil;
import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup;
import com.arpa.hndahesudintocctmsdriver.util.http.RequsetCodeConstants;
import java.io.File;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
import java.util.logging.Filter;
/**
* @author hlh
@@ -32,7 +40,7 @@ public class TrackService extends Service {
private Context con;
private TrackInputBean tib=new TrackInputBean();
private LocationGDUtil l;
private int timeSum=1000*60*3;
private int timeSum=1000*60;
private String snn="";
private Gson gson=new Gson();
private HuoYuanRequset hyr;
@@ -51,7 +59,30 @@ public class TrackService extends Service {
}
break;
case LocationGDUtil.RES:
genzong();
if(CacheGroup.cacheList.get("getLocation")!=null){
AMapLocation location = gson.fromJson(CacheGroup.cacheList.get("getLocation"), AMapLocation.class);
String time2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String time = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
// 当前时间:${time2},经纬度:${it.latitude}:${it.longitude}
FileIOUtils.writeFileFromString(
Environment.getExternalStorageDirectory()
.toString() + "/crashinfo/" + "crash-"+time+".txt",
"当前时间:"+time2+",经纬度:"+location.getLatitude()+":"+location.getLongitude(),
true
);
// genzong(location);
CacheGroup.cacheList.remove("getLocation");
}
break;
case 16:
String time2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
String time = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
FileIOUtils.writeFileFromString(
Environment.getExternalStorageDirectory()
.toString() + "/crashinfo/" + "crash-"+time+".txt",
"当前时间:"+time2+",定位失败",
true
);
break;
}
return false;
@@ -94,13 +125,13 @@ public class TrackService extends Service {
super.onDestroy();
}
public void genzong(){
public void genzong(AMapLocation location){
//经度
tib.setLatitude(l.getLatitude()+"");
tib.setLatitude(location.getLatitude()+"");
//纬度
tib.setLongitude(l.getLongitude()+"");
Log.e("经度",l.getLatitude()+"");
Log.e("维度",l.getLongitude()+"");
tib.setLongitude(location.getLongitude()+"");
Log.e("经度",location.getLatitude()+"");
Log.e("维度",location.getLongitude()+"");
//单号
tib.setShippingNoteNumber(snn);
hyr.trackTracking(tib);
@@ -98,11 +98,6 @@ 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) {
@@ -147,7 +142,6 @@ 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:
@@ -366,7 +360,7 @@ 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()))) {
if ((type == 0 && TextUtils.isEmpty(cdb.getData().getRoadLicensePhoto())) || (type == 4 && TextUtils.isEmpty(cdb.getData().getPolicyPhotoUrl()))) {
choicePhoto();
return;
}
@@ -411,8 +405,8 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
// .asImageViewer(img, cdb.getData().getRoadLicensePhoto(), true, -1, -1, 50, false, new CertificatesActivity.ImageLoader())
// .show();
}
break;
}
case 4:
if (cdb.getData().getPolicyPhotoUrl() != null && !"".equals(cdb.getData().getPolicyPhotoUrl())) {
@@ -424,10 +418,10 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
// .asImageViewer(img, cdb.getData().getRoadLicensePhoto(), true, -1, -1, 50, false, new CertificatesActivity.ImageLoader())
// .show();
}
break;
}
}
}
/**
* 照片提交
@@ -55,7 +55,6 @@ 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;
@@ -901,26 +901,16 @@ public class HomeFragment extends BaseFragment {
public void initAlct() {
PermissionX.init(getActivity())
.permissions(Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_BACKGROUND_LOCATION,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
.permissions(Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.CALL_PHONE,
Manifest.permission.RECORD_AUDIO,
Manifest.permission.CAMERA)
Manifest.permission.RECORD_AUDIO)
.request((allGranted, grantedList, deniedList) -> {
boolean isHasLocation = false;
boolean isHasStor = false;
for (int i = 0; i < grantedList.size(); i++) {
if (grantedList.get(i).equals(Manifest.permission.ACCESS_FINE_LOCATION)){
isHasLocation = true;
if (allGranted) {
} else {
}
if (grantedList.get(i).equals(Manifest.permission.WRITE_EXTERNAL_STORAGE)){
isHasStor = true;
}
}
if (isHasLocation&&isHasStor){
});
ALProcess.verification(con);
MDPLocationCollectionManager.getInvoices(con, 10, 1, new OnDownloadResultListener() {
@Override
@@ -933,17 +923,6 @@ public class HomeFragment extends BaseFragment {
Log.e("--失败信息--", s + s1);
}
});
}else {
if (!isHasLocation){
Toast.makeText(con, "开启权限失败,请在应用设置-权限-定位-始终允许", Toast.LENGTH_SHORT).show();
return;
}
if (!isHasStor){
Toast.makeText(con, "开启权限失败,请在应用设置-权限-媒体与文件-仅媒体", Toast.LENGTH_SHORT).show();
}
}
});
}
private MyLocationStyle myLocationStyle;//地图定位样式
@@ -4,20 +4,13 @@ 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;
@@ -207,8 +200,6 @@ 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);
@@ -219,15 +210,6 @@ 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));
@@ -40,7 +40,6 @@ 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;
@@ -74,7 +73,6 @@ 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 {
@@ -111,9 +109,6 @@ public class StartYunDanActivity extends BaseActivity {
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);
@@ -207,30 +202,6 @@ public class StartYunDanActivity extends BaseActivity {
initStartBody(v);
break;
case R.layout.item_yundan_yunxing:
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);
@@ -475,16 +446,12 @@ public class StartYunDanActivity extends BaseActivity {
return str;
}
private CustomDialog customDialog;
@Override
protected void onResume() {
super.onResume();
if (map != null) {
map.onResume();
}
customDialog = new CustomDialog(con, "网络请求中...");
customDialog.show();
hyr.startOrder(id);
hyr.getEvaluate(id);
}
@@ -115,12 +115,12 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
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();
}
if (bb.getCode() == 200) {
if (index == 2) {
if (!keys){//装货回单
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
@@ -211,7 +211,6 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
break;
}
}
private LatLng latLng;
public LatLng convertGPSToBaidu(LatLng srLatLng) {
@@ -377,12 +376,12 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
// for(int i=0;i<imgIds.size();i++){
// Log.e("--imgIds--",imgIds.get(i)+"");
// }
switch (index) {
case 0:
if (customDialog!=null&&!customDialog.isShowing()){
customDialog = new CustomDialog(con, "网络请求中...");
customDialog.show();
}
switch (index) {
case 0:
//装货
if (imgIds != null && imgIds.size() > 0) {
lub.setLatitude(lgdu.getLatitude() + "");
@@ -610,9 +609,6 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
@Override
public void onFailure(String s, String 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);
@@ -688,6 +684,8 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
}
/**
* 上传安联和交通厅,平台-装货
*/
@@ -16,8 +16,6 @@ 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;
@@ -26,7 +24,6 @@ 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;
@@ -74,7 +71,8 @@ public class LoginActivity extends BaseActivity {
private LoginBean loginBean;
private TimerTask tt;
private int timer_sum = 60;
private CheckBox cb;
private ImageButton agree_btn;
private CardView no_btn;
private UserRequset ur;
@Override
@@ -97,22 +95,15 @@ 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);
@@ -134,7 +125,8 @@ public class LoginActivity extends BaseActivity {
input_phone = findViewById(R.id.input_phone);
input_code = findViewById(R.id.input_code);
getCode = findViewById(R.id.getCode);
cb = findViewById(R.id.cb);
agree_btn = findViewById(R.id.agree_btn);
no_btn = findViewById(R.id.no_btn);
ur = new UserRequset(con, hd);
initView(null);
}
@@ -147,18 +139,21 @@ public class LoginActivity extends BaseActivity {
@Override
public void initView(Object obj) {
super.initView(obj);
cb.setOnCheckedChangeListener((buttonView, isChecked) -> {
if (isChecked) {
key = true;
} else {
agree_btn.setOnClickListener(v -> {
agree_btn.setVisibility(View.GONE);
no_btn.setVisibility(View.VISIBLE);
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/currency/#/";
url2 = "http://agreement.dahehuoyun.com/currency/#/";
}
TextView tv_content = findViewById(R.id.tv_content);
String str = "我已阅读并同意相关服务条款和隐私政策《用户服务协议》和《隐私政策》";
@@ -30,12 +30,10 @@ 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;
@@ -161,16 +159,6 @@ 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,
@@ -127,8 +127,8 @@ public class SetupActivity extends BaseActivity {
startActivity(in);
});
r6.setOnClickListener(v12 -> {
String[] title={"平台客服:"+kefu};
String[] value={kefu};
String[] title={"平台客服:"+kefu,"银行客服:95528","技术咨询:13460042961"};
String[] value={kefu,"95528","13460042961"};
new XPopup.Builder(con)
.isDarkTheme(false)
.isDestroyOnDismiss(true) //对于只使用一次的弹窗,推荐设置这个
@@ -231,7 +231,6 @@ 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);
}
@@ -5,12 +5,9 @@ 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;
@@ -84,11 +81,6 @@ 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资源
@@ -119,12 +111,6 @@ 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);
@@ -163,12 +149,6 @@ 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();
}
});
}
@@ -0,0 +1,240 @@
package com.arpa.hndahesudintocctmsdriver.util;
import com.arpa.hndahesudintocctmsdriver.FileUtils;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
/**
* @ClassName FileIOUtils
* @Author john
* @Date 2024/3/29 09:50
* @Description TODO
*/
public class FileIOUtils {
private FileIOUtils() {
throw new UnsupportedOperationException("u can't instantiate me...");
}
private static final String LINE_SEP = System.getProperty("line.separator");
/**
* 将输入流写入文件
*
* @param filePath 路径
* @param is 输入流
* @return {@code true}: 写入成功<br>{@code false}: 写入失败
*/
public static boolean writeFileFromIS(String filePath, final InputStream is) {
return writeFileFromIS(FileUtils.getFileByPath(filePath), is, false);
}
/**
* 将输入流写入文件
*
* @param filePath 路径
* @param is 输入流
* @param append 是否追加在文件末
* @return {@code true}: 写入成功<br>{@code false}: 写入失败
*/
public static boolean writeFileFromIS(String filePath, final InputStream is, boolean append) {
return writeFileFromIS(FileUtils.getFileByPath(filePath), is, append);
}
/**
* 将输入流写入文件
*
* @param file 文件
* @param is 输入流
* @return {@code true}: 写入成功<br>{@code false}: 写入失败
*/
public static boolean writeFileFromIS(File file, final InputStream is) {
return writeFileFromIS(file, is, false);
}
/**
* 将输入流写入文件
*
* @param file 文件
* @param is 输入流
* @param append 是否追加在文件末
* @return {@code true}: 写入成功<br>{@code false}: 写入失败
*/
public static boolean writeFileFromIS(File file, final InputStream is, boolean append) {
if (!FileUtils.createOrExistsFile(file) || is == null) return false;
OutputStream os = null;
try {
os = new BufferedOutputStream(new FileOutputStream(file, append));
byte data[] = new byte[1024];
int len;
while ((len = is.read(data, 0, 1024)) != -1) {
os.write(data, 0, len);
}
return true;
} catch (IOException e) {
e.printStackTrace();
return false;
} finally {
try {
is.close();
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* 将字符串写入文件
*
* @param filePath 文件路径
* @param content 写入内容
* @return {@code true}: 写入成功<br>{@code false}: 写入失败
*/
public static boolean writeFileFromString(String filePath, String content) {
return writeFileFromString(FileUtils.getFileByPath(filePath), content, false);
}
/**
* 将字符串写入文件
*
* @param filePath 文件路径
* @param content 写入内容
* @param append 是否追加在文件末
* @return {@code true}: 写入成功<br>{@code false}: 写入失败
*/
public static boolean writeFileFromString(String filePath, String content, boolean append) {
return writeFileFromString(FileUtils.getFileByPath(filePath), content, append);
}
/**
* 将字符串写入文件
*
* @param file 文件
* @param content 写入内容
* @return {@code true}: 写入成功<br>{@code false}: 写入失败
*/
public static boolean writeFileFromString(File file, String content) {
return writeFileFromString(file, content, false);
}
/**
* 将字符串写入文件
*
* @param file 文件
* @param content 写入内容
* @param append 是否追加在文件末
* @return {@code true}: 写入成功<br>{@code false}: 写入失败
*/
public static boolean writeFileFromString(File file, String content, boolean append) {
if (file == null || content == null) return false;
if (!FileUtils.createOrExistsFile(file)) return false;
BufferedWriter bw = null;
try {
bw = new BufferedWriter(new FileWriter(file, append));
bw.write(content);
bw.newLine();
return true;
} catch (IOException e) {
e.printStackTrace();
return false;
} finally {
try {
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* 读取文件到字符串中
*
* @param filePath 文件路径
* @return 字符串
*/
public static String readFile2String(String filePath) {
return readFile2String(FileUtils.getFileByPath(filePath), null);
}
/**
* 读取文件到字符串中
*
* @param filePath 文件路径
* @param charsetName 编码格式
* @return 字符串
*/
public static String readFile2String(String filePath, String charsetName) {
return readFile2String(FileUtils.getFileByPath(filePath), charsetName);
}
/**
* 读取文件到字符串中
*
* @param file 文件
* @return 字符串
*/
public static String readFile2String(File file) {
return readFile2String(file, null);
}
/**
* 读取文件到字符串中
*
* @param file 文件
* @param charsetName 编码格式
* @return 字符串
*/
public static String readFile2String(File file, String charsetName) {
if (!FileUtils.isFileExists(file)) return null;
BufferedReader reader = null;
try {
StringBuilder sb = new StringBuilder();
if (isSpace(charsetName)) {
reader = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
} else {
reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), charsetName));
}
String line;
while ((line = reader.readLine()) != null) {
sb.append(line).append(LINE_SEP);
}
// delete the last line separator
return sb.delete(sb.length() - LINE_SEP.length(), sb.length()).toString();
} catch (IOException e) {
e.printStackTrace();
return null;
} finally {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
private static boolean isSpace(String s) {
if (s == null) return true;
for (int i = 0, len = s.length(); i < len; ++i) {
if (!Character.isWhitespace(s.charAt(i))) {
return false;
}
}
return true;
}
}
@@ -81,39 +81,6 @@ public class OkHttpUtil {
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))
.build();
return request;
}
public static Request get(OkDate od){
Headers.Builder hb=new Headers.Builder();
hb.add("Content-Type","application/json");
@@ -8,7 +8,9 @@ import com.amap.api.location.AMapLocation;
import com.amap.api.location.AMapLocationClient;
import com.amap.api.location.AMapLocationClientOption;
import com.amap.api.location.AMapLocationListener;
import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup;
import com.arpa.hndahesudintocctmsdriver.util.msg.MsgUtil;
import com.google.gson.Gson;
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -74,6 +76,7 @@ public class LocationGDUtil {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date(aMapLocation.getTime());
df.format(date);
CacheGroup.cacheList.put("getLocation",new Gson().toJson(aMapLocation));
MsgUtil.addHdMsgWat(hd,RES);
if (mLocationClient!=null) {
mLocationClient.onDestroy();
@@ -1,101 +0,0 @@
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, "定位失败,请查看定位权限");
}
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 788 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

-6
View File
@@ -1,6 +0,0 @@
<?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>
@@ -1,6 +0,0 @@
<?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>
+29 -9
View File
@@ -104,15 +104,35 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<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"/>
<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>
<TextView
android:id="@+id/tv_content"
android:layout_width="wrap_content"
+61 -117
View File
@@ -1,54 +1,47 @@
<?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"
android:background="#fff"
android:orientation="vertical">
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:id="@+id/huoyuan_xq"
android:background="#fff">
<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:layout_alignParentRight="true"
android:layout_marginRight="@dimen/dp_38"
android:background="@null"
android:scaleType="fitXY"
android:src="@mipmap/share2"
android:layout_alignParentRight="true"
android:scaleType="fitXY"
android:background="@null"
android:visibility="gone"/>
</RelativeLayout>
<RelativeLayout
android:layout_marginTop="@dimen/dp_8"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_8">
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -56,102 +49,73 @@
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_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:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="拒绝"
android:textColor="#fff"
android:textSize="@dimen/sp_15"
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:text="0000"
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:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="净赚运费(元)"
android:textColor="#ffffffff"
android:textSize="@dimen/sp_13" />
android:textSize="@dimen/sp_13"
android:layout_gravity="center"
/>
<View
android:layout_marginTop="@dimen/dp_16"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1"
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:textSize="@dimen/sp_12"
android:layout_centerVertical="true"
/>
<TextView
android:id="@+id/distance"
@@ -164,12 +128,10 @@
android:textColor="#ffffffff"
android:textSize="@dimen/sp_12" />
</RelativeLayout>
<View
android:layout_width="@dimen/dp_1"
android:layout_height="wrap_content"
android:background="#EFEFEF"/>
<RelativeLayout
android:layout_width="@dimen/dp_0"
android:layout_height="match_parent"
@@ -196,17 +158,14 @@
android:textSize="@dimen/sp_12" />
</RelativeLayout>
</LinearLayout>
<View
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">
<RelativeLayout
android:layout_width="@dimen/dp_0"
android:layout_height="match_parent"
@@ -232,12 +191,10 @@
android:textColor="#ffffffff"
android:textSize="@dimen/sp_12" />
</RelativeLayout>
<View
android:layout_width="@dimen/dp_1"
android:layout_height="wrap_content"
android:background="#EFEFEF"/>
<RelativeLayout
android:layout_width="@dimen/dp_0"
android:layout_height="match_parent"
@@ -267,39 +224,35 @@
android:textSize="@dimen/sp_12" />
</RelativeLayout>
</LinearLayout>
<View
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_gravity="center"
android:layout_marginLeft="@dimen/dp_5"
android:text="运输要求:"
android:textColor="#ffffffff"
android:textSize="@dimen/sp_12" />
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_gravity="center"
android:layout_marginLeft="@dimen/dp_7"
android:layout_marginRight="@dimen/dp_5"
android:text=""
android:textColor="#ffffffff"
android:textSize="@dimen/sp_12" />
android:textSize="@dimen/sp_12"
android:layout_gravity="center"/>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1"
@@ -307,27 +260,23 @@
</LinearLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_bai"
android:orientation="vertical">
android:orientation="vertical"
android:background="@drawable/bg_bai">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_39"
android:layout_marginTop="@dimen/dp_17"
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="#333333"
android:textSize="@dimen/sp_13" />
<TextView
android:id="@+id/orderNum"
android:layout_width="wrap_content"
@@ -336,48 +285,42 @@
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"
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:cardBackgroundColor="#fff"
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:textSize="@dimen/sp_13"
android:layout_centerVertical="true"/>
<ImageButton
android:id="@+id/xuanze"
@@ -385,8 +328,8 @@
android:layout_height="@dimen/dp_29"
android:layout_alignParentRight="true"
android:layout_marginRight="@dimen/dp_38"
android:background="@null"
android:padding="@dimen/dp_5"
android:background="@null"
android:scaleType="fitXY"
android:src="@mipmap/add1" />
</RelativeLayout>
@@ -403,37 +346,39 @@
android:layout_height="@dimen/dp_25"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_38"
android:background="@null"
android:padding="@dimen/dp_5"
android:background="@null"
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:textSize="@dimen/sp_13"
android:layout_gravity="center"/>
<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:textSize="@dimen/sp_13"
android:layout_gravity="center"/>
</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"
@@ -442,39 +387,38 @@
android:background="@null"
android:padding="@dimen/dp_5"
android:scaleType="fitXY"
android:src="@mipmap/no_xuan"
android:visibility="invisible" />
android:src="@mipmap/no_xuan" />
<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:textSize="@dimen/sp_13"
android:layout_gravity="center"/>
<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:visibility="gone" />
android:layout_gravity="center"/>
</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="确认接单"
+2 -3
View File
@@ -99,7 +99,7 @@
<TextView
android:id="@+id/loadingAddress"
android:layout_width="wrap_content"
android:layout_width="@dimen/dp_120"
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="wrap_content"
android:layout_width="@dimen/dp_120"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_5"
@@ -140,7 +140,6 @@
</LinearLayout>
<LinearLayout
android:visibility="gone"
android:layout_marginRight="@dimen/dp_10"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
@@ -123,7 +123,6 @@
</LinearLayout>
</LinearLayout>
<LinearLayout
android:visibility="gone"
android:layout_marginRight="@dimen/dp_10"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
@@ -52,7 +52,6 @@
/>
</LinearLayout>
<LinearLayout
android:id="@+id/llMoney"
android:layout_marginTop="@dimen/dp_5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"