소스 검색

<呼叫状态需要同步发送串口消息>

weizhengliang 5 년 전
부모
커밋
ed34bc7e24

+ 6 - 1
app/src/main/java/com/wdkl/callingbed2/ui/CallingBedActivity.java

@@ -116,6 +116,7 @@ import static com.wdkl.callingbed2.util.ToastUtil.showToast;
 import static com.wdkl.callingbed2.util.ethernetwifiwithsipconnectstatus.WifiBindSipStatusConnector.ethernetStatus;
 import static com.wdkl.callingbed2.util.sendcommand.CallingBedSendCommand.closeHeart;
 import static com.wdkl.callingbed2.util.sendcommand.CallingBedSendCommand.setBedLight;
+import static com.wdkl.callingbed2.util.sendcommand.CallingBedSendCommand.setCallStatus;
 import static com.wdkl.callingbed2.util.sendcommand.CallingBedSendCommand.setDoorLight;
 import static com.wdkl.callingbed2.util.sendcommand.CallingBedSendCommand.setHandsMIC;
 import static com.wdkl.callingbed2.util.sendcommand.CallingBedSendCommand.setNurseBrightness;
@@ -2041,6 +2042,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
             callNurse = true;
             showThisView(vNurse);
             setDoorLight(serialPortUtil, "200");//门灯红色闪烁  add by waderson 20191119 后来加的门灯控制
+            setCallStatus(serialPortUtil, "1");
             UdpSendUtil.sendCall1(initDataEntity, mainDataEntity);
             CALL_STATUS = Constants.NURSE_IN_CALL;
             if (null != initDataEntity) {
@@ -2052,6 +2054,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
                 callNurse = true;
                 showThisView(vNurse);
                 setDoorLight(serialPortUtil, "200");//门灯红色闪烁  add by waderson 20191119 后来加的门灯控制
+                setCallStatus(serialPortUtil, "1");
                 UdpSendUtil.sendCall1(initDataEntity, mainDataEntity);
                 CALL_STATUS = Constants.NURSE_IN_CALL;
                 if (null != initDataEntity) {
@@ -2068,6 +2071,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
             callNurse = false;
             UdpSendUtil.sendHangUp(initDataEntity, mainDataEntity);//取消呼叫 add by waderson 20191118
             SipHelperUtil.getInstance(CallingBedActivity.this).getmSipCallBackI().endCall();
+            setCallStatus(serialPortUtil, "0");
             CALL_STATUS = STANDBY;
             showThisView(vMain);
             goneLlRightView(true);
@@ -2293,7 +2297,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
                 //jbVNurse.stopJumping();
                 tvNurseText.setText("正在通话中...");
                 tvNurseTimeOut.setText("");
-
+                setCallStatus(serialPortUtil, "2");
 
                 if (isTransfer) {
                 } else {
@@ -2315,6 +2319,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
                 CallingBedActivity.initPlayerVolume(1.0f);
                 CALL_STATUS = Constants.STANDBY;
                 showThisView(vMain);
+                setCallStatus(serialPortUtil, "0");
 
                 if (isTransfer) {
                     if (null != callNoticeEntity) {

+ 8 - 0
app/src/main/java/com/wdkl/callingbed2/util/sendcommand/CallingBedSendCommand.java

@@ -32,6 +32,14 @@ public class CallingBedSendCommand {
         serialPortUtil.sendCommand(SerialPortUtil.DOORLIGHT , data, "F");
     }
 
+    /*
+     * 呼叫和通话状态
+     * data: 0 -- 挂断,  1 -- 正在呼叫, 2 -- 通话中
+     */
+    public static void setCallStatus(SerialPortUtil serialPortUtil, String data) {
+        serialPortUtil.sendCommand(SerialPortUtil.CALL_STATUS , data, "F");
+    }
+
     /**
      * 设置床头灯是否打开
      */

+ 4 - 0
bedlib/src/main/java/serialporttest/utils/SerialPortUtil.java

@@ -422,6 +422,10 @@ public class SerialPortUtil {
      */
     public static final String SIP_STATUS = "SIP";
     /**
+     * 呼叫状态<br>
+     */
+    public static final String CALL_STATUS = "CALL";
+    /**
      * 心跳控制<br>
      * 若MCU在10秒内没有收到信号,将自动重启Android.  随机数为“W”时将关闭心跳<br>
      * $ HEART ,1 E #  <br>