app/build.gradle | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/debug/output.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/debug/zhaoyangsiji-1.3-2025-05-26.apk | 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/zhaoyang/driver/base/MyApplication.kt | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/zhaoyang/driver/netUtls/Api.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/zhaoyang/driver/netUtls/HttpManager.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/zhaoyang/driver/ui/main/GetOrderFragment.kt | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/zhaoyang/driver/ui/main/MainActivity.kt | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/zhaoyang/driver/ui/main/TripActivity.kt | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/zhaoyang/driver/utils/OSSUtil.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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 } 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":{}}] [{"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":{}}] app/debug/zhaoyangsiji-1.3-2025-05-26.apkBinary files differ
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()) } } } 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; app/src/main/java/com/zhaoyang/driver/netUtls/HttpManager.java
@@ -134,7 +134,6 @@ /** * Get请求 * * @param action 请求接口的尾址 * @param params 请求参数 * @param observer observer 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() } 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 } } 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) } 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) {