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