From 68d7250b95451272aaa7cf359fd68b98d91b4d56 Mon Sep 17 00:00:00 2001
From: liugl <liugl@sinata.cn>
Date: 星期二, 11 八月 2020 11:31:41 +0800
Subject: [PATCH] 1:乘客付款不播报,下单播报延时,3断网后重连接不了单

---
 app/src/main/java/com/okgoincar/base/MyApplication.kt |   27 ++++++++++++++++++---------
 1 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/app/src/main/java/com/okgoincar/base/MyApplication.kt b/app/src/main/java/com/okgoincar/base/MyApplication.kt
index b104f76..d9fe579 100644
--- a/app/src/main/java/com/okgoincar/base/MyApplication.kt
+++ b/app/src/main/java/com/okgoincar/base/MyApplication.kt
@@ -3,12 +3,12 @@
 import android.app.Activity
 import android.app.Application
 import android.content.Context
-import android.content.Intent
 import android.os.Bundle
 import android.os.Handler
 import android.os.Looper
 import android.util.Log
 import androidx.multidex.MultiDex
+import cn.sinata.rxnetty.Cache.CacheUtil
 import cn.sinata.rxnetty.NettyClient
 import cn.sinata.xldutils.BaseApplication
 import cn.sinata.xldutils.utils.sysErr
@@ -27,7 +27,6 @@
 import com.okgoincar.bean.websocket.HeartBean
 import com.okgoincar.netUtls.Api
 import com.okgoincar.netUtls.getUserId
-import com.okgoincar.netUtls.sendAudio
 import com.okgoincar.slab.MySlabBaseActivity
 import com.okgoincar.utils.Cache.CacheKey
 import org.jetbrains.anko.toast
@@ -76,6 +75,9 @@
     }
 
     private fun initSocket() {
+        Handler(Looper.getMainLooper()).post {
+            toast("websocket初始化")
+        }
         NettyClient.getInstance().init(this, Api.SOCKET_SERVER, Api.SOCKET_PORT, true)
         NettyClient.getInstance()
             .addOnMessageListener { message: String? ->
@@ -85,9 +87,9 @@
                     currentTime = System.currentTimeMillis()
                     val json = JSONObject(message)
                     val method = json.optString("method")
-//                    Handler(Looper.getMainLooper()).post {
+                    Handler(Looper.getMainLooper()).post {
 //                        toast("收到websocket=$method")
-//                    }
+                    }
                     val data = json.optString("data")
                     val code = json.optInt("code", -1)
                     if (code == 200) {
@@ -159,6 +161,7 @@
             .setOnConnectListener {
                 sendHeart()
             }
+        sendHeart()
     }
 
     override fun attachBaseContext(base: Context?) {
@@ -259,14 +262,14 @@
             bean.data = dataBean
             NettyClient.getInstance()
                 .sendMessage(Gson().toJson(bean))
-            Handler(Looper.getMainLooper()).post {
-                toast("发送location --> $dataBean")
-            }
+//            Handler(Looper.getMainLooper()).post {
+//                toast("发送location --> $dataBean")
+//            }
             sysErr(dataBean.toString())
         }
     }
 
-    private fun sendHeart() {
+    open fun sendHeart() {
         if (getUserId() != -1) {
             Log.i(TAG, "sendHeart: userId === " + getUserId())
             val bean = HeartBean()
@@ -282,7 +285,13 @@
             if ((System.currentTimeMillis() - currentTime) / 1000 > 30) {
                 sysErr("sendHeart_websocket 重新连接")
                 currentTime = System.currentTimeMillis()
-                NettyClient.getInstance().checkNettyState()
+//                var s = CacheUtil.get().getAsString("reConnect")
+//                s = "$s###初始化重连"
+//                CacheUtil.get().put("reConnect", s)
+//                NettyClient.getInstance().checkNettyState()
+                NettyClient.getInstance().checkNettyStateNull() //reconnect
+
+//                initSocket()
                 heartHandler!!.postDelayed({ sendHeart() }, 5000)
             } else {
                 sysErr("sendHeart_websocket 发送心跳")

--
Gitblit v1.7.1