weizhengliang 2 年之前
父节点
当前提交
e374e18ae0

+ 2 - 2
android_host/src/main/h10_wke_1h/java/com/wdkl/ncs/android/component/nursehome/fragment/CallRecordsFragment.kt

@@ -245,8 +245,8 @@ class CallRecordsFragment: BaseFragment<CallRecordsFragmentPresenter, FragmentCa
         refresh.finishRefresh()
         if (page == 1) {
             refresh.resetNoMoreData()
-            adapter.data.clear()
             if (data.size > 0) {
+                adapter.data.clear()
                 for (item in data) {
                     if (TcpType.VIDEO.name == item.actionType || TcpType.VOICE.name == item.actionType
                         || TcpType.ENTRACEGUARD.name == item.actionType || TcpType.SOS.name == item.actionType
@@ -257,8 +257,8 @@ class CallRecordsFragment: BaseFragment<CallRecordsFragmentPresenter, FragmentCa
                     }
                 }
                 Log.i("abc1"," " + adapter.data.size);
+                adapter.notifyDataSetChanged()
             }
-            adapter.notifyDataSetChanged()
             refresh.finishLoadMore()
         } else {
             if (data.size > 0) {

+ 6 - 0
android_host/src/main/h10_z3128_ke_2h/java/com/wdkl/ncs/android/component/nursehome/fragment/CallRecordsFragment.kt

@@ -436,6 +436,9 @@ class CallRecordsFragment : BaseFragment<CallRecordsFragmentPresenter, FragmentC
                             val responseTcpModel = VoiceUtil.voiceCalling(messageEvent.tid, Constants.ids, messageEvent.fromId, interactionVO.id)
                             TcpClient.getInstance().sendMsg(responseTcpModel.toJson())
                             return
+                        } else {
+                            val responseTcpModel = VoiceUtil.voiceSuccess(messageEvent.tid, Constants.ids, messageEvent.fromId)
+                            TcpClient.getInstance().sendMsg(responseTcpModel.toJson())
                         }
 
                         DeviceChannel.calling = true
@@ -461,6 +464,9 @@ class CallRecordsFragment : BaseFragment<CallRecordsFragmentPresenter, FragmentC
                             val responseTcpModel = VoiceUtil.voiceCalling(messageEvent.tid, Constants.ids, messageEvent.fromId, interactionVO.id)
                             TcpClient.getInstance().sendMsg(responseTcpModel.toJson())
                             return
+                        } else {
+                            val responseTcpModel = VoiceUtil.voiceSuccess(messageEvent.tid, Constants.ids, messageEvent.fromId)
+                            TcpClient.getInstance().sendMsg(responseTcpModel.toJson())
                         }
 
                         DeviceChannel.calling = true

+ 4 - 1
common/build.gradle

@@ -196,6 +196,9 @@ dependencies {
      */
     compile files('libs/chinese2py.jar')
 
+    //toast 框架
+    compile files('libs/Toaster-12.2.aar')
+
     /**
      * 二维码扫描
      */
@@ -234,7 +237,7 @@ dependencies {
      */
     compile 'com.google.guava:guava:20.0'
 
-    compile 'com.github.getActivity:Toaster:12.0'
+    //compile 'com.github.getActivity:Toaster:12.0'
 
     /**
      * netty

二进制
common/libs/Toaster-12.2.aar


+ 6 - 3
common/src/main/code/com/wdkl/ncs/android/lib/utils/ConnectionObserver.kt

@@ -2,6 +2,7 @@ package com.wdkl.ncs.android.lib.utils
 
 import android.content.Context
 import android.net.ConnectivityManager
+import android.text.TextUtils
 import com.wdkl.ncs.android.lib.base.BaseApplication
 import com.enation.javashop.net.engine.plugin.connection.ConnectionQuality
 import com.enation.javashop.net.engine.plugin.exception.ExceptionHandle
@@ -133,18 +134,20 @@ abstract class BaseObserver<T>(private val context: Context) : Observer<T> {
                     this.onError(ExceptionHandle.handleException(e))
                     return
                 }
-                val obj = JSONObject(errorJSon)
+                this.onError(ExceptionHandle.handleException(e))
+
+                /*val obj = JSONObject(errorJSon)
                 if (obj.has("code")) {
                     val result = ExceptionHandle.ResponeThrowable(e, 420)
                     result.customMessage = obj.getString("message")
                     this.onError(result)
                 } else {
                     this.onError(ExceptionHandle.handleException(e))
-                }
+                }*/
             } else {
                 this.onError(ExceptionHandle.ResponeThrowable(e, 1000).then {
                     if (e.message == null) {
-                        it.customMessage = "加载失败!"
+                        it.customMessage = "load failed!"
                     } else {
                         it.customMessage = e.message
                     }

+ 11 - 11
middleware/src/main/code/com/wdkl/ncs/android/middleware/tcp/channel/DeviceChannel.java

@@ -32,7 +32,7 @@ public class DeviceChannel {
 
         //Log.e(TAG,"DeviceChannel tcp: " + tcpModel.toJson() + ", calling: " + calling);
 
-        switch (tcpModel.getType()){
+        switch (tcpModel.getType()) {
             case VOICE:
                 if (tcpModel.getAction()== TcpAction.VoiceAction.CALL || tcpModel.getAction()== TcpAction.VoiceAction.VCALL
                         || tcpModel.getAction()== TcpAction.VoiceAction.HCALL) { //语音呼入
@@ -53,9 +53,9 @@ public class DeviceChannel {
                         return responseTcpModel;
                     }*/
 
-                    responseTcpModel = VoiceUtil.voiceSuccess(tcpModel.getTid(), tcpModel.getToId(), tcpModel.getFromId());
+                    //responseTcpModel = VoiceUtil.voiceSuccess(tcpModel.getTid(), tcpModel.getToId(), tcpModel.getFromId());
                     EventBus.getDefault().post(new MessageEvent(tcpModel, Constants.EVENT_TCP_MSG));
-                    return responseTcpModel;
+                    //return responseTcpModel;
                 } else if (tcpModel.getAction()== TcpAction.VoiceAction.ACCEPT){ //我方呼出,对方接受
                     //todo: 通话中界面更新;建立数据通话
                     EventBus.getDefault().post(new MessageEvent(tcpModel, Constants.EVENT_TCP_MSG));
@@ -124,6 +124,7 @@ public class DeviceChannel {
                 break;
             case IM:
                 if (tcpModel.getAction()== TcpAction.IMAction.MSG){
+                    responseTcpModel = ImUtil.imReceived(tcpModel);
                     //todo: 从接口重新获取左侧数据;使用通话中界面,显示有语音留言,停留3秒,结束至正常界面
                     EventBus.getDefault().post(new MessageEvent(tcpModel, Constants.EVENT_TCP_MSG));
                 } else if (tcpModel.getAction()== TcpAction.IMAction.MSG_READ){ //语音已读取
@@ -132,17 +133,16 @@ public class DeviceChannel {
                 }
                 break;
             case EVENT:
-                if (tcpModel.getAction()== TcpAction.EventAction.KEY_CLICK){ //有新事件过来
+                if (tcpModel.getAction()== TcpAction.EventAction.KEY_CLICK) { //有新事件过来
+                    responseTcpModel = EventUtil.eventReceived(tcpModel);
                     //todo: 服务端通过data给出具体的事件名称放置data。从接口重新获取左侧数据;使用通话中界面,显示事件名称,停留3秒,结束至正常界面
-                    Log.e(TAG,"收到事件tcp");
-                    EventBus.getDefault().post(new MessageEvent(tcpModel, Constants.EVENT_TCP_MSG));
-
-                } else if (tcpModel.getAction()== TcpAction.EventAction.RESPONSE){ //事件已处理,仅分机用
+                } else if (tcpModel.getAction()== TcpAction.EventAction.RESPONSE) { //事件已处理,仅分机用
                     //todo: 从data得到事件id,使用通话中界面,显示事件名称及已响应字样,停留3秒,结束至正常界面;更新左侧
-                    Log.e(TAG,"");
-                    EventBus.getDefault().post(new MessageEvent(tcpModel, Constants.EVENT_TCP_MSG));
-                    Log.e(TAG,"收到事件已处理tcp");
+                    Log.d(TAG,"收到事件已处理tcp");
+                } else if(tcpModel.getAction() == TcpAction.EventAction.CANCEL) { //收到取消
+                    responseTcpModel = EventUtil.eventCancelReceived(tcpModel); //返回确认收到取消
                 }
+                EventBus.getDefault().post(new MessageEvent(tcpModel, Constants.EVENT_TCP_MSG));
                 break;
             case DATA:
             case DEVICE:

+ 14 - 0
middleware/src/main/code/com/wdkl/ncs/android/middleware/tcp/channel/EventUtil.java

@@ -1,6 +1,7 @@
 package com.wdkl.ncs.android.middleware.tcp.channel;
 
 import com.google.common.base.Strings;
+import com.wdkl.ncs.android.middleware.common.Constants;
 import com.wdkl.ncs.android.middleware.model.vo.InteractionVO;
 import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel;
 import com.wdkl.ncs.android.middleware.tcp.enums.TcpAction;
@@ -47,6 +48,19 @@ public class EventUtil {
         return tcpModel;
     }
 
+    public static TcpModel eventCancelReceived(TcpModel model) {
+        TcpModel tcpModel = new TcpModel();
+        if (!Strings.isNullOrEmpty(model.getTid())) {
+            tcpModel.setTid(model.getTid());
+        }
+        tcpModel.setType(TcpType.EVENT);
+        tcpModel.setAction(TcpAction.EventAction.CANCEL_CONFIRM);
+        tcpModel.setFromId(model.getFromId());
+        tcpModel.setToId(model.getToId());
+        tcpModel.setData(model.getData());
+        return tcpModel;
+    }
+
 
     public static TcpModel cancelEvent(InteractionVO interactionVO){
         TcpModel tcpModel = new TcpModel(null);