浏览代码

修改部分呼叫点阵屏不显示问题

weizhengliang 1 年之前
父节点
当前提交
1440f9e7a2

+ 0 - 1
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/activity/NurseHomeActivity.kt

@@ -1846,7 +1846,6 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNewN
                             Constant.CALL_STATE = Constant.CALL_STANDBY
                             DeviceChannel.calling = false
 
-                            //VoiceUtil.cancelAudioCall(Constants.ids, tcpModel.fromId)
                             val callTcp = VoiceUtil.voiceCancel(tcpModel.tid, Constant.DEVICE_ID, tcpModel.fromId, interactionVO.id)
                             TcpClient.getInstance().sendMsg(callTcp.toJson())
                         }

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

@@ -514,7 +514,7 @@ class CallRecordsFragment: BaseFragment<CallRecordsFragmentPresenter, FragmentCa
                 if (NurseHomeActivity.callingList.size > 0) {
                     val callingItem = NurseHomeActivity.callingList.get(0)
                     val itemData = callingItem.interactionVO
-                    LedHelper.updateLedInfo(itemData, false, false)
+                    //LedHelper.updateLedInfo(itemData, false, false)
                     EventBus.getDefault().post(MessageEvent(callingItem, Constant.EVENT_ACCEPT_CALL))
                     if (callingAdapter != null) {
                         callingAdapter?.removeCall(itemData, true)
@@ -531,7 +531,6 @@ class CallRecordsFragment: BaseFragment<CallRecordsFragmentPresenter, FragmentCa
 
             Constant.EVENT_REMOVE_CALL -> {
                 val callingItem = messageEvent.getMessage() as CallingItem
-                //VoiceUtil.rejectAudioCall(Constants.ids, interactionVO.fromDeviceId, interactionVO.id)
                 val callTcp = VoiceUtil.voiceReject(callingItem.tid, Constant.DEVICE_ID, callingItem.interactionVO.fromDeviceId, callingItem.interactionVO.id)
                 TcpClient.getInstance().sendMsg(callTcp.toJson())
                 LedHelper.updateLedInfo(callingItem.interactionVO, false, false)

+ 37 - 4
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/util/LedHelper.java

@@ -4,10 +4,10 @@ import android.util.Log;
 
 import com.google.common.base.Strings;
 import com.wdkl.ncs.android.component.nursehome.R;
+import com.wdkl.ncs.android.component.nursehome.led.LedManagerUtils;
 import com.wdkl.ncs.android.component.nursehome.settingconfig.SettingConfig;
 import com.wdkl.ncs.android.lib.base.BaseApplication;
 import com.wdkl.ncs.android.middleware.common.Constant;
-import com.wdkl.ncs.android.component.nursehome.led.LedManagerUtils;
 import com.wdkl.ncs.android.middleware.model.vo.InteractionVO;
 import com.wdkl.ncs.android.middleware.tcp.enums.DeviceTypeEnum;
 import com.wdkl.ncs.android.middleware.tcp.enums.TcpType;
@@ -37,7 +37,8 @@ public class LedHelper {
 
         Log.d("led", "update led info, deviceType: " + interactionVO.getFromDeviceType() + ", frameName: " + interactionVO.getFromFrameFullName() + ", data: " + interactionVO.getData());
         if (interactionVO.getFromDeviceType() == DeviceTypeEnum.DIGIT_BED_DEVICE.value()
-                || interactionVO.getFromDeviceType() == DeviceTypeEnum.SIMULATE_BED_DEVICE.value()) {
+                || interactionVO.getFromDeviceType() == DeviceTypeEnum.SIMULATE_BED_DEVICE.value()
+                || interactionVO.getFromDeviceType() == DeviceTypeEnum.DOOR_DEVICE.value()) {
             //如果交互记录中的fromdevice是分机,有可能是数字分机发送过来的紧急呼叫,需要特别处理
             if (emergency) {
                 String frameName = CommonUtils.subStringBefore(interactionVO.getFromFrameFullName(), "-");
@@ -68,7 +69,7 @@ public class LedHelper {
                 frameName = interactionVO.getFromDeviceName();
             }
 
-            if (Strings.isNullOrEmpty(interactionVO.getData())) {
+            if (!Strings.isNullOrEmpty(interactionVO.getData())) {
                 if (isAdd) {
                     //新增led节目
                     LedManagerUtils.getInstance().updateProgram(interactionVO.getData(), 1);
@@ -101,6 +102,37 @@ public class LedHelper {
                 //删除led节目
                 LedManagerUtils.getInstance().updateProgram(frameName, 2);
             }
+        } else {
+            String frameName = CommonUtils.subStringBefore(interactionVO.getFromFrameFullName(), "-");
+            if (Strings.isNullOrEmpty(interactionVO.getData())) {
+                frameName = BaseApplication.appContext.getString(R.string.led_show_emergency_call, frameName);
+            } else {
+                frameName = interactionVO.getData();
+            }
+
+            if (isAdd) {
+                //新增led节目
+                LedManagerUtils.getInstance().updateProgram(frameName, 1);
+            } else {
+                //删除led节目
+                LedManagerUtils.getInstance().updateProgram(frameName, 2);
+            }
+        }
+    }
+
+    public static void updateLedInfo(String info, boolean isAdd) {
+        //没有点阵屏设备,直接返回
+        if (!Constant.LED_EXIST) {
+            Log.e("led", "no led device.");
+            return;
+        }
+
+        if (isAdd) {
+            //新增led节目
+            LedManagerUtils.getInstance().updateProgram(info, 1);
+        } else {
+            //删除led节目
+            LedManagerUtils.getInstance().updateProgram(info, 2);
         }
     }
 
@@ -111,7 +143,8 @@ public class LedHelper {
         }
 
         if (interactionVO.getToDeviceType() == DeviceTypeEnum.DIGIT_BED_DEVICE.value()
-                || interactionVO.getToDeviceType() == DeviceTypeEnum.SIMULATE_BED_DEVICE.value()) {
+                || interactionVO.getToDeviceType() == DeviceTypeEnum.SIMULATE_BED_DEVICE.value()
+                || interactionVO.getFromDeviceType() == DeviceTypeEnum.DOOR_DEVICE.value()) {
             String frameName = interactionVO.getToFrameFullName().replace("-", "");
             String call = BaseApplication.appContext.getString(R.string.led_show_voice_call, frameName);
             LedManagerUtils.getInstance().updateProgram(call, 2);