From 27a5170d3aa384c5a3771c2923ef31d0c2c8ad90 Mon Sep 17 00:00:00 2001 From: lmw <125975490@qq.com> Date: 星期二, 24 六月 2025 18:56:42 +0800 Subject: [PATCH] save --- app/src/main/java/com/zhaoyang/driver/netUtls/Api.java | 4 app/src/main/java/com/zhaoyang/driver/ui/main/GetOrderFragment.kt | 11 ++ app/src/main/java/com/zhaoyang/driver/ui/main/MainActivity.kt | 101 ++++++++++++++++++++++-- app/src/main/java/com/zhaoyang/driver/ui/main/TripActivity.kt | 31 ++++++- app/debug/zhaoyangsiji-1.3-2025-05-26.apk | 0 app/debug/output.json | 2 app/src/main/java/com/zhaoyang/driver/base/MyApplication.kt | 44 +++++++---- app/src/main/java/com/zhaoyang/driver/netUtls/HttpManager.java | 1 app/src/main/java/com/zhaoyang/driver/utils/OSSUtil.java | 2 app/build.gradle | 5 10 files changed, 164 insertions(+), 37 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 24d6f2e..bae8181 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -25,8 +25,8 @@ applicationId "com.zhaoyang.driver" minSdkVersion 21 targetSdkVersion 28 - versionCode 1 - versionName "1.0" + versionCode 4 + versionName "1.3" multiDexEnabled true testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" ndk { @@ -128,4 +128,5 @@ implementation 'com.tencent.bugly:crashreport:3.1.0' implementation 'com.tencent.bugly:nativecrashreport:3.1.0' implementation project(path: ':ChipsLayoutManager') + implementation 'com.tencent.bugly:crashreport:latest.release' //tx bugly } diff --git a/app/debug/output.json b/app/debug/output.json index dc2b161..ab654f9 100644 --- a/app/debug/output.json +++ b/app/debug/output.json @@ -1 +1 @@ -[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.0","enabled":true,"outputFile":"app-debug.apk","fullName":"debug","baseName":"debug","dirName":""},"path":"app-debug.apk","properties":{}}] \ No newline at end of file +[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":4,"versionName":"1.3","enabled":true,"outputFile":"zhaoyangsiji-1.3-2025-05-26.apk","fullName":"debug","baseName":"debug","dirName":""},"path":"zhaoyangsiji-1.3-2025-05-26.apk","properties":{}}] \ No newline at end of file diff --git a/app/debug/zhaoyangsiji-1.3-2025-05-26.apk b/app/debug/zhaoyangsiji-1.3-2025-05-26.apk new file mode 100644 index 0000000..0002ead --- /dev/null +++ b/app/debug/zhaoyangsiji-1.3-2025-05-26.apk Binary files differ diff --git a/app/src/main/java/com/zhaoyang/driver/base/MyApplication.kt b/app/src/main/java/com/zhaoyang/driver/base/MyApplication.kt index 005c567..5133097 100644 --- a/app/src/main/java/com/zhaoyang/driver/base/MyApplication.kt +++ b/app/src/main/java/com/zhaoyang/driver/base/MyApplication.kt @@ -78,7 +78,7 @@ registerActivityLifecycleCallbacks(this) PlatformConfig.setWeixin("wx6078319d54d38c66", "c3ef243fae93fb0fd093d457ada38b4c") PlatformConfig.setQQZone("102047428", "qcBXgbJo6B2f5HF0") //qq互联 -// CrashReport.initCrashReport(getApplicationContext(), "444bb776ed", false); + CrashReport.initCrashReport(this, "219deebe7c", true) LogUtils.OpenLog(true) // initUpPoint() initSocket() @@ -370,22 +370,34 @@ } } + private var errorCount = 0 //定位上传失败次数 private fun sendLocation() { - if (getUserId() != -1 && aMapLocation != null) { - val bean = CarLocationBean() - val dataBean = CarLocationBean.DataBean( - getUserId(), - currentOrderId, - currentOrderType, - aMapLocation!!.longitude, - aMapLocation!!.latitude, - aMapLocation!!.bearing.toDouble(), - aMapLocation!!.altitude - ) - bean.data = dataBean - NettyClient.getInstance() - .sendMessage(Gson().toJson(bean)) - sysErr(dataBean.toString()) + if (getUserId() != -1) { + if (aMapLocation == null|| aMapLocation!!.latitude <= 0){ + errorCount++ + if (errorCount == 10){ + Handler(Looper.getMainLooper()).postDelayed({ + getTTsManager().setVideoText("司机定位异常,请检查手机网络定位并重启司机APP") + errorCount = 0 + }, 600) + } + }else{ + errorCount = 0 + val bean = CarLocationBean() + val dataBean = CarLocationBean.DataBean( + getUserId(), + currentOrderId, + currentOrderType, + aMapLocation!!.longitude, + aMapLocation!!.latitude, + aMapLocation!!.bearing.toDouble(), + aMapLocation!!.altitude + ) + bean.data = dataBean + NettyClient.getInstance() + .sendMessage(Gson().toJson(bean)) + sysErr(dataBean.toString()) + } } } diff --git a/app/src/main/java/com/zhaoyang/driver/netUtls/Api.java b/app/src/main/java/com/zhaoyang/driver/netUtls/Api.java index f454632..adbf84e 100644 --- a/app/src/main/java/com/zhaoyang/driver/netUtls/Api.java +++ b/app/src/main/java/com/zhaoyang/driver/netUtls/Api.java @@ -10,10 +10,10 @@ //39.108.148.228 测试服务器 public static final String BASE_URL = "https://www.zycx.ztrbkj.com/driver/"; -// public static final String BASE_URL = "https://0ifzoxq2516g.guyubao.com/driver/"; +// public static final String BASE_URL = "http://192.168.110.34:81/driver/"; public static final String SOCKET_SERVER = "47.108.137.172"; -// public static final String SOCKET_SERVER = "192.168.110.50"; +// public static final String SOCKET_SERVER = "192.168.110.34"; public static final int SOCKET_PORT = 8888; public static final int SUCCESS = 200; diff --git a/app/src/main/java/com/zhaoyang/driver/netUtls/HttpManager.java b/app/src/main/java/com/zhaoyang/driver/netUtls/HttpManager.java index 38d5a5a..c7a1bc0 100644 --- a/app/src/main/java/com/zhaoyang/driver/netUtls/HttpManager.java +++ b/app/src/main/java/com/zhaoyang/driver/netUtls/HttpManager.java @@ -134,7 +134,6 @@ /** * Get请求 - * * @param action 请求接口的尾址 * @param params 请求参数 * @param observer observer diff --git a/app/src/main/java/com/zhaoyang/driver/ui/main/GetOrderFragment.kt b/app/src/main/java/com/zhaoyang/driver/ui/main/GetOrderFragment.kt index b06808d..53f7605 100644 --- a/app/src/main/java/com/zhaoyang/driver/ui/main/GetOrderFragment.kt +++ b/app/src/main/java/com/zhaoyang/driver/ui/main/GetOrderFragment.kt @@ -81,11 +81,22 @@ override fun onPause() { super.onPause() + map_view.onPause() + } + override fun onResume() { + super.onResume() + map_view.onResume() + } + + override fun onLowMemory() { + super.onLowMemory() + map_view.onLowMemory() } override fun onDestroy() { super.onDestroy() + map_view.onDestroy() time.cancel() } diff --git a/app/src/main/java/com/zhaoyang/driver/ui/main/MainActivity.kt b/app/src/main/java/com/zhaoyang/driver/ui/main/MainActivity.kt index 3bd2035..c353372 100644 --- a/app/src/main/java/com/zhaoyang/driver/ui/main/MainActivity.kt +++ b/app/src/main/java/com/zhaoyang/driver/ui/main/MainActivity.kt @@ -2,16 +2,22 @@ import android.content.ActivityNotFoundException import android.content.Intent -import android.net.Uri -import android.os.Build import android.os.Handler import android.os.Looper import android.provider.Settings +import android.util.Log import android.widget.Toast import cn.sinata.rxnetty.NettyClient import cn.sinata.xldutils.utils.* import com.amap.api.location.AMapLocation import com.amap.api.location.AMapLocationListener +import com.amap.api.track.AMapTrackClient +import com.amap.api.track.query.entity.DriveMode +import com.amap.api.track.query.entity.Track +import com.amap.api.track.query.model.* +import com.google.gson.Gson +import com.lljjcoder.style.citylist.Toast.ToastUtils +import com.tencent.bugly.crashreport.CrashReport import com.zhaoyang.driver.R import com.zhaoyang.driver.base.BaseEvent import com.zhaoyang.driver.base.MyApplication @@ -32,8 +38,6 @@ import com.zhaoyang.driver.utils.DateUtil import com.zhaoyang.driver.utils.MyUtils import com.zhaoyang.driver.utils.download.DownloadUtil -import com.google.gson.Gson -import com.lljjcoder.style.citylist.Toast.ToastUtils import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.app_title.* import org.greenrobot.eventbus.EventBus @@ -55,7 +59,7 @@ override fun initView() { setTitleText("昭阳出行司机") - tv_up_avv.text = SpanBuilder.content("接单中\n点击收车").sizeSpan(0,3,16).build() + tv_up_avv.text = SpanBuilder.content("接单中\n点击收车").sizeSpan(0, 3, 16).build() tv_Left.setDrawableLeft(R.mipmap.icon_nav_user) iv_right_title.setImageResource(R.mipmap.icon_nav_news) addFragment(mainFragment, R.id.rl_container) @@ -168,9 +172,14 @@ } if (!MyUtils.canBackgroundStart(this)&&SPUtils.getString("canBackground").isEmpty()) { - DialogUtil.getDelAndSureDialog(this, "前往开启", "暂不开启", "您暂未开启手机权限“后台弹出界面”,可能导致无法接单,是否前往开启?", { - }) { - SPUtils.save("canBackground","can") + DialogUtil.getDelAndSureDialog( + this, + "前往开启", + "暂不开启", + "您暂未开启手机权限“后台弹出界面”,可能导致无法接单,是否前往开启?", + { + }) { + SPUtils.save("canBackground", "can") MyUtils.toSettingPro(this) } } @@ -181,7 +190,7 @@ // map["id"] = CacheKey.getUserId() callNet(Api.queryNewData, map) { var data = gson.fromJson<VersionBean>(it, VersionBean::class.java) - if (data.data.version != "" && data.data.version != Utils.getAppVersion(this)) { + if (data.data.version != "" && data.data.version > Utils.getAppVersion(this)) { if (data.data.mandatory == 2) { DialogUtil.getDelAndSureDialog(this, "新版本更新", data.data.content, {}, { DownloadUtil(this).downloadAPK(data.data.url, "昭阳出行司机端") @@ -264,6 +273,76 @@ } } + //查询猎鹰轨迹 TEST + private fun queryTrack() { + val aMapTrackClient = AMapTrackClient(applicationContext) + val queryTrackRequest = QueryTrackRequest( + 911918, + 941006601, + 6556, // 轨迹id,传-1表示查询所有轨迹 + + 1722085800000, //debug开始时间 + System.currentTimeMillis(), + 0, // 0不启用去噪 1:去噪 + 0, // 1绑路 0不绑路 + 0, // 0不进行精度过滤 1过滤 + DriveMode.DRIVING, + 1, // 距离补偿 1补偿 0不补偿 + 5000, // 距离补偿,只有超过5km的点才启用距离补偿 + 1, // 结果应该包含轨迹点信息 + 1, // 返回第1页数据,由于未指定轨迹,分页将失效 + 100 // 一页不超过100条 + ) + aMapTrackClient.queryTerminalTrack(queryTrackRequest, object : OnTrackListener { + override fun onQueryTerminalCallback(p0: QueryTerminalResponse?) { + Log.e("mmp", p0?.errorMsg) + } + + override fun onCreateTerminalCallback(p0: AddTerminalResponse?) { + Log.e("mmp", p0?.errorMsg) + + } + + override fun onDistanceCallback(p0: DistanceResponse?) { + Log.e("mmp", p0?.errorMsg) + + } + + override fun onLatestPointCallback(p0: LatestPointResponse?) { + Log.e("mmp", p0?.errorMsg) + + } + + override fun onHistoryTrackCallback(p0: HistoryTrackResponse?) { + Log.e("mmp", p0?.errorMsg) + + } + + override fun onQueryTrackCallback(p0: QueryTrackResponse) { + if (p0?.isSuccess == true) { + val tracks: List<Track> = p0.getTracks() + // 查询成功,tracks包含所有轨迹及相关轨迹点信息 + if (tracks.isNotEmpty()) + Log.e("mmp", "查询成功:${tracks[0].points.size},里程:${tracks[0].distance}") + + } else { + // 查询失败 + Log.e("mmp", "查询失败:${p0!!.errorMsg}") + } + } + + override fun onAddTrackCallback(p0: AddTrackResponse?) { + Log.e("mmp", p0?.errorMsg) + + } + + override fun onParamErrorCallback(p0: ParamErrorResponse?) { + Log.e("mmp", p0?.errorMsg) + + } + }) + } + override fun setOnclick() { tv_server_ing.setOnClickListener { @@ -283,6 +362,7 @@ tv_Left.clickDelay { startActivity<MineActivity>() +// queryTrack() } iv_right_title.clickDelay { @@ -388,6 +468,7 @@ if (p0?.errorCode == 0) { MyApplication.aMapLocation = p0 CacheKey.putKeyStr("location", Gson().toJson(p0)) - } + }else + MyApplication.aMapLocation = null } } \ No newline at end of file diff --git a/app/src/main/java/com/zhaoyang/driver/ui/main/TripActivity.kt b/app/src/main/java/com/zhaoyang/driver/ui/main/TripActivity.kt index 412f50b..1fb10d1 100644 --- a/app/src/main/java/com/zhaoyang/driver/ui/main/TripActivity.kt +++ b/app/src/main/java/com/zhaoyang/driver/ui/main/TripActivity.kt @@ -180,6 +180,20 @@ handler?.postDelayed({ checkOrderStatue() }, 3000) } + override fun onResume() { + super.onResume() + map_view.onResume() + } + + override fun onPause() { + super.onPause() + map_view.onPause() + } + + override fun onLowMemory() { + super.onLowMemory() + map_view.onLowMemory() + } override fun onBackPressed() { EventBus.getDefault().post(BaseEvent(BaseEvent.UPDATA_MAIN_CAR)) @@ -306,8 +320,10 @@ finish() aMapTrackClient.stopGather(this) //停止轨迹采集 val trackParam = TrackParam(serviceIdS, terminalId) - trackParam.trackId = orderBean.data.trackId.toLong() - aMapTrackClient.stopTrack(trackParam,this) + if (!orderBean.data.trackId.isNullOrEmpty()){ + trackParam.trackId = orderBean.data.trackId.toLong() + aMapTrackClient.stopTrack(trackParam,this) + } } } } @@ -432,13 +448,14 @@ */ private fun initMineLocation() { AMapKit.initLocation(this, AMapLocationListener { - it?.let { + if (it!=null&&it.errorCode == 0){ MyApplication.aMapLocation = it carMarker?.position = LatLng(it.latitude, it.longitude) graylist.add(LatLng(it.latitude, it.longitude)) grayline?.remove() grayline = AMapKit.drawLine(this,aMap,graylist,R.color.gray) -// queryTrack() //debug调用 + }else{ + MyApplication.aMapLocation = null } orderBean.let { when (it.data.orderState) { @@ -707,6 +724,12 @@ handler?.removeCallbacksAndMessages(null) } closeTimeStart() + map_view.onDestroy() + } + + override fun onSaveInstanceState(outState: Bundle) { + super.onSaveInstanceState(outState) + map_view.onSaveInstanceState(outState) } diff --git a/app/src/main/java/com/zhaoyang/driver/utils/OSSUtil.java b/app/src/main/java/com/zhaoyang/driver/utils/OSSUtil.java index 6f01178..a719005 100644 --- a/app/src/main/java/com/zhaoyang/driver/utils/OSSUtil.java +++ b/app/src/main/java/com/zhaoyang/driver/utils/OSSUtil.java @@ -72,7 +72,7 @@ uploadManager.put(urls.get(CURRENT_COUNT), keys.get(CURRENT_COUNT), token.get(CURRENT_COUNT), new UpCompletionHandler() { @Override public void complete(String key, ResponseInfo info, JSONObject response) { - URLs.add("https://qiniu.cdn.zhaoyangchuxing.com/"+key); + URLs.add("https://qncdn.zhaoyangchuxing.com/"+key); if (info.isOK()){ mActivity.runOnUiThread(() -> { if (isSingle) { -- Gitblit v1.7.1