From 3f82f1198be1090924009c878785b4178ef04162 Mon Sep 17 00:00:00 2001 From: sxy0 Date: Wed, 6 Nov 2024 15:49:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=BF=90=E8=A1=8C=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E4=B8=8A=E4=BC=A0=E9=87=8D=E4=BC=A0=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../executionHistory/executionHistory.bin | Bin 16755700 -> 16755700 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .gradle/5.6.4/fileHashes/fileHashes.bin | Bin 1643569 -> 1643569 bytes .gradle/5.6.4/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../5.6.4/fileHashes/resourceHashesCache.bin | Bin 239879 -> 240763 bytes .gradle/5.6.4/javaCompile/classAnalysis.bin | Bin 10514893 -> 10527147 bytes .gradle/5.6.4/javaCompile/jarAnalysis.bin | Bin 19818836 -> 20001314 bytes .gradle/5.6.4/javaCompile/javaCompile.lock | Bin 17 -> 17 bytes .gradle/5.6.4/javaCompile/taskHistory.bin | Bin 344741 -> 344741 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes .../trans88/taxiappkotlin/ledok/HttpServer.kt | 15 --- .../taxiappkotlin/ledok/TaskSocketServer.kt | 2 +- .../trans88/taxiappkotlin/net/EasyHttpTool.kt | 126 ++++++++++++------ app/src/main/res/values/strings.xml | 4 +- 14 files changed, 86 insertions(+), 61 deletions(-) diff --git a/.gradle/5.6.4/executionHistory/executionHistory.bin b/.gradle/5.6.4/executionHistory/executionHistory.bin index 529e7ae553289bd7a9cc71e28ea1ae4c43f0175d..f37931895097ac7b1e7ebacdeb206d1836c71564 100644 GIT binary patch delta 23053 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 diff --git a/.gradle/5.6.4/executionHistory/executionHistory.lock b/.gradle/5.6.4/executionHistory/executionHistory.lock index 5c707343253d01c2c6438065cf9973b189698cf2..4afaf1c2afadeb1603fd15f353e46d036e9d8264 100644 GIT binary patch literal 17 VcmZQ}yjz=h&ZxkY0Sr<<0st|21qc8D literal 17 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 diff --git a/.gradle/5.6.4/fileHashes/fileHashes.lock b/.gradle/5.6.4/fileHashes/fileHashes.lock index 7101c09f8020da0aa1b19d32fe8854b2e5eb4b82..fcdb59edd2e6c5ae060756670564581a90feb547 100644 GIT binary patch literal 17 WcmZSHA)<8s|8jqQ1`uG&%K!i}>jcRF literal 17 WcmZSHA)<8s|8jqQ1`uG&o(TXm76kVI diff --git a/.gradle/5.6.4/fileHashes/resourceHashesCache.bin b/.gradle/5.6.4/fileHashes/resourceHashesCache.bin index 755763f052dfd3f10fd4a4b542dfcfbead5eeb93..61fef5766244fdaa3941b048e72b66f3fb69bbba 100644 GIT binary patch delta 935 zcmZXPYe*jsWG%K~0&I?wiX?ZP@ykJ^nVnyC#PD+bzW}%4H!f0BiHtY?l zMn%asajsW*h;F3iWm(&_La89N(lGOenu*f%eLvOn;o{gI*|JwH+7OKOU>OdJE zcR!4&m}y(BP@i}N~buu zlYv(<3frxbm#5Bmaj=UiY?C0|-pcP8>h$+n&xiO93jyqFw27(VkmakEPerjT_vM|&WMJ$q7<8))` zmMh)QxR`!2v>Q1H@$i^c>r$J2EL9yP69>=?g&pe#8jH&GEUil+{ZdqFiEBcpbidtC zbM9IqJ%W5Gkm$q>mc+bCy#>4{2}LNLkHcN{q3d4NvZls|T$Lde4;!AgI!o$}ELE={ z{+Cd)NLbwRc4l_SYz-vb+x&=_&>l3bhFnV%Myk>)RcSN%q?8 OZwj;N^e;3YvHCC2s7NaS delta 427 zcmXAiPe_w-9LC@8^ZLGRv$o+O*B^@awGPpnPEk@pNEd>K)Pvyg;w)PYl^|hEyf_QA z@L;~e4Ydrao-ss#mK_G8LwT1-(6>%?Xn zQ@s6@>Js#a&#G8B&0o)8)6HK>VEV{;W<^z zN3(12Ap*;Wq diff --git a/.gradle/5.6.4/javaCompile/classAnalysis.bin b/.gradle/5.6.4/javaCompile/classAnalysis.bin index 5b4da22a722d41d0eca3857357a996cf2cf1938b..23bc3b903fb5a2efa48147193c013e6ae34c62b0 100644 GIT binary patch delta 1760 zcmb`{`%_e97zc3Ph2g42W0iVH^OmEIGE6n(1#!rcGB4w03)7iO``YnO@SXYm^1k2aIq&*0RZv1Gce<224(dJ}!_lM-O_ za&)u~kaRtl;m!_Fg^BAgWD_Y)BDcD5Eln#QT)%r*Ozo(l$(%flV^f7|@ijfhV3iyc zFc!vv8@Pi9c!C#rgAWC(d=ETi8T6B@@}f5vf4Mlx{q`xb?WQ7X305ArXFCNxAuotF zhbwbpSRIY#E3G{DY|NhD`WD<4qmBFNhDn(sVd)g#rp(Or)*i|B_@_nPr4!dHXS{ed z=-{X_g_joEq^I@>55vl9soldb^%g54>odO!p39LB`Ams8Y%h&(O zBDRD&^Zf^HxtmYC!XIC_C8nBFskq3$P04DFs%C#s!5hFs00hFDFdl*+7$!gnghCih zgh>z%lVJ)>g=wT}jyS1idujM=gvNt&Xu8{L9qAXJT-r;r>k&h8X^2gHf=M{;t<_NU z{Rqomww|n8)U^SePx~(Q(!l{SZmOo-uhg~-7n*o-#dtc{tsaVGL=AV;A)eg4x~5Ra zy3=BG*C2iILjAXbX^h7dZ^7FT2~qHJZaTaJGhimX3(*h*vtTy72eB{*=0Y6A!#tP| z3*dc7fJ9gbNstVSAO#jfDx|>&@FAqb63Bp$U@0tvk6}4v!U{U3SUJJUDuoe=wt}-c z(d1t4lqVi;=Rr!b)i%0vU%UL_!gqIxv+d7mK(6g{XBRDeybC>=rcDcA6*M@p-Q~RI!``ly+KU$36=ZGDu6hhg%Q9LbnEVyRR9Zf#m zFzd`haY;WSJe?htOeI`_RZ7t-^E_n6LxBaLgF+~RVkm)9SVxBf%T7pG7Uc$&U1Bn? zf8*vTHVtae}~`NxxuPS&a%F31n!yAu&O_>Ufk*z6BjeB=qg7jv36EowKoFCteb)p&j9DjKF(lc?qVH@u7n5 z##TrAA*92V2^(@dG!k}+5);jtw$yvdthJ-UtL82#?Q@faFghRUFoiiO(Fb2Ja})R> z^DH4o;~*6ZDVVkFf@f3N*{JZ_@X|?vM N+47opg;rhC{{VuKregpA delta 1135 zcmXBTT})eb7zS|vg#xXm?U9dJXvJP8!3sLM%Id3R{j?OY#zp#j#9FOkn|M;5|2_KUxb@S0>;QeT zWZf;YCVsv+D1;SI1jVotN?;YNhEli> z%BW=66?L<7G=JIU$)wfST;H0Rz|UGFCttEirL^%^SL{tDQ~a2_&%uW-xNl>DwU_p9 zpsA?)$8z>Q4c>6CSVpsV+b2$ir29)!)X z1-8OA*bY^&1FE409)eof2@gXZ?1FmO4Ua$rc;QiKgeKSnkHO=x7oLD8VIMpN`)O7< zkR4||{JKW!rp^Q@oJs~k8qHv*Vq(ZZi)E76!9ujHK@!vW1b3Cv1)p@=#CFBR83T`U zIZ^cvNboc~L*9Yr=nd9I$pN1ynHsx%bJ1Ar&B{p>tfQ$&FiXY!qghq(i&6GR--zV z+X`*a4ju43bV3)rKvTKFOByDTKR-CfsHQNe3bfz}W*O49xHE8RB7vUue+Ink0 z!gqdlwRcWWZ~xr;aXO2{#PI(|_(*xDPMy~sf-v+!KfDYI48S0$a2Srj5FCYL@Cv*N k!!QC7cnyxj33we&0*5!?6pX?coQ82Y17~SocW$xyA36in(*OVf diff --git a/.gradle/5.6.4/javaCompile/jarAnalysis.bin b/.gradle/5.6.4/javaCompile/jarAnalysis.bin index 96bc1faed2363560269dfd9e492f95baf666eb85..351c9ce9054cd61bc42a1ce2c4cdeaf2f10d4580 100644 GIT binary patch delta 2957 zcmdVac~I147{GDflu@o=zL@g~*QA)+tls3;5 z%liV?QY>5rk4(WuKvPh|1CNsO)->z;cFg1-HC8h}4 zoMvu9X>RToW3Sq1Q~3G7GxcrwiKgze%_*KrTlE*#X;+pPjeql()1uwx6d$WlS1qg# z5X_kbfK3X?3rc*{tCjkX)VF!CS zz!6F~!5Ots8+G6U71XE;4YY7YJv;*)+)y74;0_OX!VBK;fgZl_Lqqr@0F4lc#t1?% znji$BXo@g|<5@(Y8JZ&!EzlCJ@Els>d9*Geg!eG3L*DwS_k&Iy&ju9A%QAok-7>zL) zi*Xo_2}s36Ou}Tmfj2P)Q}Gtw#x$g1I%Z%d(lHCOk%4#cF6Lk^<{=aFVZZ_`#CuqT z#mK_@FyaF&!BQ;4a;(5gn6L`jSd9 zam}dD)^)I?9cmzksnk=C4^A4NTUwZWbG@~f-`U~D@agJN#+-_;{8)*u6^cKt2Ga~hm z6TY|HUXeJiGIH;#2xCbbUti0Q{P#$x@0X9x`}DwoemnAym@m2|uQP?G=|q3im}n1C zt=0uy-ldAnYG1Wv%ghLW)7!?e=V}TqX{sQxQK3G&ZP1}k!c@}lWWvhQ+4=WOxmmTv z8k2RAy9ia!2y}_MA9eS!sBAZ)%(i^HDJj84G`EaN^%1JB3Ng}RxZ*F;74j=4RWFhp zh8F#II-V6Btmk+VI9c*ZUr zV3+Xq_9up2-6-k7+GP%p^zUk&4(>{S^=}P(omaOZp8GbXnxkXm3p5_RejRq~Zo?#p z()gLWMCCiZhnMX5b=djo5g|2QH&+zhPMJUPy14q(!&bFgz4v+Lmcth|@4MCVQp*!2 zQS2{TSgd(k5vMRk*9{Wa{>72^a8TOy*(tgu+MF`RyB0)QiVS)&*WtH4+|h~&rudC| zF-0U=vV8(Xw8}f|$;ISNnX@(Hm5#IeZmV1^s2?8~HTDR+O*k+qs`quues^2cbAM7Rf@Uak&#t!C8?W4G+s}&QT zdN1npt~n!&*NUUstI7{POlXt!A6SGRC)S0kB8bnv5`z)O-Kv- z^`3@Gt3_v+W30+(2*;(bQ!m@`=A@j vb1jYzikVhp3}0I0ZtNK*luz|Or8$PI4eT(oNs&##^2r@Sul#RTBf@?HTo-CI delta 1303 zcmWmE_n!|09LMp;_uS!YbGS2(yR$iz(IC|+TvJM+g;dHYimVhNm3b8H5Dg9EtD$8U zmDVMSrbMAK(o*U9`QiEc13r((`?F~G#^lzL)yd`UvJ>g4_SuCQshK&)(^5-vHz!h4 z@{5zHRs|*LiQy~q7GzB-ESg$alpu{#q?18u%21Xh$fPz0Xi77h(}Dt8(u&rcz=^b>E$wK}Nu10noJt2eavGgD zoijL-LOOF6XVZnQbR+I_4(DsZeQHu5&_u!+sQ%X_@f7CzuZ zKH_6Op@dJ_%4ck2JD>9fJJ`vWe8ty%!?%3LF1}|sKd^_r{K!x2V?PJ@nP2#ogB;>8 zNBE7S{LUZz$zS}RBAJouks6Vjk*r8|q*kPMq)w!6BqvfYQa_R#$&2Ji8blgK8bumMnnapLnnjvN QT0{yWEfZ@zi$rGL|1dDwFaQ7m diff --git a/.gradle/5.6.4/javaCompile/javaCompile.lock b/.gradle/5.6.4/javaCompile/javaCompile.lock index ea283a86e911dd5ef906e8182cfa6a3371b588a2..d99cb8d560af080c1f6cc4c5aed5cd21d61e13e8 100644 GIT binary patch literal 17 VcmZSHT&zDo`dr3;1~5qR0suG-1vUTx literal 17 VcmZSHT&zDo`dr3;1~5nw0RT7G1poj5 diff --git a/.gradle/5.6.4/javaCompile/taskHistory.bin b/.gradle/5.6.4/javaCompile/taskHistory.bin index baaa6b04132239ccd3d5129dcb40a06d3e4664dd..7e4bb0f59ca3b053c77af973d37845276a97a71f 100644 GIT binary patch delta 45 zcmV+|0Mh@Zg%zcR6@Y{RgaU*Ev;>wy5R7-r604pOsSerIgzWxi1(zU01Z%euLj;un Dq0ADr delta 45 zcmZ45D!Q~)w4sHug{g&k3(GVof%E(|9#wj$-ZdSy`ygMId}q3XGfVb%L1&gJ{{ftr B5{Cc) diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 0382d8522f916474450aaa606c5d249c63d88eeb..cd2c6c36db45eab156b838395967eef93957ddad 100644 GIT binary patch literal 17 VcmZRUdtQIsSgqff0Ss0;0{|_y1Xch5 literal 17 VcmZRUdtQIsSgqff0Ss2G1pqD{1it_P diff --git a/app/src/main/java/cn/trans88/taxiappkotlin/ledok/HttpServer.kt b/app/src/main/java/cn/trans88/taxiappkotlin/ledok/HttpServer.kt index 07c6ff7..592c7fc 100644 --- a/app/src/main/java/cn/trans88/taxiappkotlin/ledok/HttpServer.kt +++ b/app/src/main/java/cn/trans88/taxiappkotlin/ledok/HttpServer.kt @@ -29,19 +29,4 @@ class HttpServer { server.listen(3389) Log.d(TAG, "run: httpServer start... listen 3389") } - - private fun getJSONFromReq(req: AsyncHttpServerRequest): JSONObject? { - var obj: JSONObject? = null - val body = req.getBody>() - if (body is JSONObjectBody) { - obj = body.get() - } else if (body is StringBody) { - try { - obj = JSONObject(body.get()) - } catch (e: JSONException) { - e.printStackTrace() - } - } - return obj - } } \ No newline at end of file diff --git a/app/src/main/java/cn/trans88/taxiappkotlin/ledok/TaskSocketServer.kt b/app/src/main/java/cn/trans88/taxiappkotlin/ledok/TaskSocketServer.kt index c2b2568..80ce093 100644 --- a/app/src/main/java/cn/trans88/taxiappkotlin/ledok/TaskSocketServer.kt +++ b/app/src/main/java/cn/trans88/taxiappkotlin/ledok/TaskSocketServer.kt @@ -73,7 +73,7 @@ class TaskSocketServer(private val context: Context, port: Int) { try { //只保持一个链接,新的进来就把老的断开 val socket = soc!!.accept() - socket.soTimeout = 5000 * 5 + socket.soTimeout = 5000 if (client != null) { client!!.close() } diff --git a/app/src/main/java/cn/trans88/taxiappkotlin/net/EasyHttpTool.kt b/app/src/main/java/cn/trans88/taxiappkotlin/net/EasyHttpTool.kt index e869ba2..d7c8d84 100644 --- a/app/src/main/java/cn/trans88/taxiappkotlin/net/EasyHttpTool.kt +++ b/app/src/main/java/cn/trans88/taxiappkotlin/net/EasyHttpTool.kt @@ -19,7 +19,6 @@ import okhttp3.RequestBody import com.zhouyou.http.callback.SimpleCallBack import com.zhouyou.http.exception.ApiException import okhttp3.Request -import java.util.concurrent.CountDownLatch /** @@ -29,49 +28,52 @@ import java.util.concurrent.CountDownLatch * @description: */ object EasyHttpTool { + val TAG = this.javaClass.simpleName /** * 提交运行时长 * @param runtimeJson String */ - lateinit var latch: CountDownLatch - var isSendSuccess = false +// lateinit var latch: CountDownLatch +// var isSendSuccess = false fun sendRunTimeToServer(runtimeJson: String) { "sendRunTimeToServer run".logd() - latch = CountDownLatch(1) +// latch = CountDownLatch(1) sendRuntimeToServerRequest(runtimeJson) - Thread { - latch.await() - var count = 10 - // 网络可用时每一分钟发一次请求 - while (!isSendSuccess && count > 0) { - latch = CountDownLatch(1) - sendRuntimeToServerRequest(runtimeJson) - Log.d("EasyHttpTool", "sendRunTimeToServer: 重发次数${count}") - latch.await() - count--; - Thread.sleep(1000 * 60) - } - // 网络不可用时监听网络状态是否发送请求 - if (!isSendSuccess) { - var isRunning = true - while (isRunning) { - val networkAvailable = NetworkChangeReceiver.isNetworkAvailable - if (networkAvailable) { - latch = CountDownLatch(1) - sendRuntimeToServerRequest(runtimeJson) - Log.d("EasyHttpTool", "sendRunTimeToServer: 重发网络${networkAvailable}") - latch.await() - if (isSendSuccess) { - isRunning = false - } - } - Thread.sleep(1000 * 60) - } - } - }.start() + +// Thread { +// latch.await() +// var count = 10 +// // 网络可用时每一分钟发一次请求 +// while (!isSendSuccess && count > 0) { +// latch = CountDownLatch(1) +// sendRuntimeToServerRequest(runtimeJson) +// Log.d("EasyHttpTool", "sendRunTimeToServer: 重发次数${count}") +// latch.await() +// count--; +// Thread.sleep(1000 * 60) +// } +// // 网络不可用时监听网络状态是否发送请求 +// if (!isSendSuccess) { +// var isRunning = true +// while (isRunning) { +// val networkAvailable = NetworkChangeReceiver.isNetworkAvailable +// if (networkAvailable) { +// latch = CountDownLatch(1) +// sendRuntimeToServerRequest(runtimeJson) +// Log.d("EasyHttpTool", "sendRunTimeToServer: 重发网络${networkAvailable}") +// latch.await() +// if (isSendSuccess) { +// isRunning = false +// } +// } +// Thread.sleep(1000 * 60) +// } +// } +// }.start() } + fun sendRuntimeToServerRequest(runtimeJson: String) { Log.d("EasyHttpTool", "sendRuntimeToServerRequest: ") val parse = ("application/json;charset=UTF-8").toMediaTypeOrNull() @@ -93,14 +95,14 @@ object EasyHttpTool { .execute(object : SimpleCallBack() { override fun onError(e: ApiException?) { "上传运行时长失败:${e?.message}".loge() - isSendSuccess = false - latch.countDown() +// isSendSuccess = false +// latch.countDown() } override fun onSuccess(t: String?) { "上传运行时长成功:${t}".loge() - isSendSuccess = true - latch.countDown() +// isSendSuccess = true +// latch.countDown() } }) } @@ -109,16 +111,51 @@ object EasyHttpTool { /** * 提交运行时长 */ + private const val retryInterval: Long = 1000 * 60 +// private const val retryInterval: Long = 1000 fun sendRunTimeToServer() { val sumTimeList = DaoUtil.getRunTimeDao().queryBuilder().where( RunTimeDataDao.Properties.IsUpload.eq(0) ).list() - "未提交的运行时长数量sumTimeList size: ${sumTimeList?.size}".logd() +// "未提交的运行时长数量sumTimeList size: ${sumTimeList?.size}".logd() + Log.d(TAG, "sendRunTimeToServer: 未提交的运行时长数量: ${sumTimeList?.size}") if (!sumTimeList.isNullOrEmpty()) { - for (runTimeData in sumTimeList) { - - sendRunLogToServer(runTimeData) + Thread { + var isSendSuccess = sendRunLogToServer(runTimeData) + var count = 10 + // 是否需要重发 + // 网络可用时每一分钟发一次请求 + while (!isSendSuccess && count > 0) { + isSendSuccess = sendRunLogToServer(runTimeData) + Log.d(TAG, "sendRunTimeToServer: 重发次数${11 - count}") + if (isSendSuccess) { + Log.d(TAG, "sendRunTimeToServer: 发送成功 重发次数${11 - count}") + } + count--; + Thread.sleep(retryInterval) + } + // 网络不可用时监听网络状态是否发送请求 + if (!isSendSuccess) { + var isRunning = true + while (isRunning) { + var available = NetworkChangeReceiver.isNetworkAvailable + Log.d(TAG, "sendRunTimeToServer: 重发网络$available") + if (available) { + isSendSuccess = sendRunLogToServer(runTimeData) + if (isSendSuccess) { + isRunning = false + Log.d(TAG, "sendRunTimeToServer: 发送成功重发网络$available") + } + } + Thread.sleep(retryInterval) + } + } + Log.d( + "EasyHttpTool", + "sendRunTimeToServer: 运行日志发送成功${runTimeData.cardId}" + ) + }.start() // val runtimeJson = RuntimeJson(runTimeData.cardId,runTimeData.sumRuntime,runTimeData.startRuntime) // val runtimeJsonStr = Gson().toJson(runtimeJson) @@ -163,7 +200,7 @@ object EasyHttpTool { /** * 上传1条运行日志 */ - fun sendRunLogToServer(runTimeData: RunTimeData) { + fun sendRunLogToServer(runTimeData: RunTimeData): Boolean { // val logJson = ProcessingCommands.gson.toJson(dbPlayerLogs) val runtimeJson = RuntimeJson(runTimeData.cardId, runTimeData.sumRuntime, runTimeData.startRuntime) @@ -191,11 +228,14 @@ object EasyHttpTool { runTimeData.isUpload = 1 DaoUtil.getRunTimeDao().update(runTimeData) "将提交的runTimeData标记成已上传".logd() + return true } else { "上传运行时长失败".loge() + return false } } catch (e: Exception) { "上传运行时长失败:${e?.message}".loge() + return false } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index cd46572..95f1ac9 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,6 +1,6 @@ - TaxiApp - + + VehiclePlayer TopLevelActivity