Selaa lähdekoodia

优化云教练部分代码

Pq 1 vuosi sitten
vanhempi
commit
d54786c558

+ 21 - 11
accompany/src/main/java/com/daya/orchestra/accompany/web/AccompanyFragment.java

@@ -381,12 +381,12 @@ public class AccompanyFragment extends BaseMVPFragment<FragmentAccompanyBinding,
                         if (webSocketClient != null && !webSocketClient.isOpen()) {
                             if (webSocketClient.getReadyState() == ReadyState.NOT_YET_CONNECTED) {
                                 if (webSocketClient.isClosed()) {
-                                    webSocketClient.reconnectBlocking();
+                                    reconnectBlocking();
                                 } else {
-                                    webSocketClient.reconnectBlocking();
+                                    webSocketClient.connectBlocking();
                                 }
                             } else if (webSocketClient.getReadyState() == ReadyState.CLOSED) {
-                                webSocketClient.reconnectBlocking();
+                                reconnectBlocking();
                             }
                             onSendMessage(message.toString());
                             try {
@@ -459,7 +459,7 @@ public class AccompanyFragment extends BaseMVPFragment<FragmentAccompanyBinding,
     }
 
     private void showLoadingAnim() {
-        if (mViewBinding.llLoading.getVisibility() != View.VISIBLE) {
+        if (mViewBinding!=null && mViewBinding.llLoading.getVisibility() != View.VISIBLE) {
             currentProgressCount = 0;
             mViewBinding.progress.setProgress(0);
             mViewBinding.ivLoadingBack.setVisibility(View.VISIBLE);
@@ -476,11 +476,13 @@ public class AccompanyFragment extends BaseMVPFragment<FragmentAccompanyBinding,
     }
 
     private void hideLoadingAnim() {
-        currentProgressCount = 0;
-        mViewBinding.ivLoadingBack.setVisibility(View.GONE);
-        mViewBinding.viewLoadingAnim.cancelAnimation();
-        mViewBinding.viewLoadingAnim.clearAnimation();
-        mViewBinding.llLoading.setVisibility(View.GONE);
+        if(mViewBinding!=null){
+            currentProgressCount = 0;
+            mViewBinding.ivLoadingBack.setVisibility(View.GONE);
+            mViewBinding.viewLoadingAnim.cancelAnimation();
+            mViewBinding.viewLoadingAnim.clearAnimation();
+            mViewBinding.llLoading.setVisibility(View.GONE);
+        }
     }
 
     JSONObject msg = null;
@@ -1101,12 +1103,12 @@ public class AccompanyFragment extends BaseMVPFragment<FragmentAccompanyBinding,
             if (webSocketClient != null) {
                 if (webSocketClient.getReadyState() == ReadyState.NOT_YET_CONNECTED) {
                     if (webSocketClient.isClosed()) {
-                        webSocketClient.reconnectBlocking();
+                        reconnectBlocking();
                     } else {
                         webSocketClient.connectBlocking();
                     }
                 } else if (webSocketClient.getReadyState() == ReadyState.CLOSED) {
-                    webSocketClient.reconnectBlocking();
+                    reconnectBlocking();
                 }
             } else {
                 startWebSocketClient(jsonObject);
@@ -1135,6 +1137,14 @@ public class AccompanyFragment extends BaseMVPFragment<FragmentAccompanyBinding,
         }
     }
 
+    private void reconnectBlocking() {
+        try {
+            webSocketClient.reconnectBlocking();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
     @Override
     public void proxyServiceMessage(JSONObject mesage) {
         // 直接把H5那边返回的 content转成string 给socket服务