|
@@ -416,6 +416,9 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
//床位是否入住
|
|
|
private boolean isEmptyInfo = true;
|
|
|
|
|
|
+ //主机呼叫自动接听
|
|
|
+ private boolean autoAnswer = true;
|
|
|
+
|
|
|
/**
|
|
|
* 时间线程
|
|
|
*/
|
|
@@ -1529,19 +1532,11 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
}
|
|
|
if (buffer[5] == 0) { //呼叫护士键按住不动
|
|
|
LogUtil.d("WWW", "呼叫护士键==0");
|
|
|
- } else if (buffer[5] == 1) {//呼叫护士键短按松开
|
|
|
+ } else if (buffer[5] == 1 || buffer[5] == 2) {//呼叫护士键短按长按松开
|
|
|
CallingBedActivity.this.runOnUiThread(new Runnable() {
|
|
|
public void run() {
|
|
|
LogUtil.d("WWW", "呼叫护士键==1");
|
|
|
- if (CALL_STATUS.equals(Constants.IN_CALL)) {
|
|
|
- //主机呼叫分机,按键接听
|
|
|
- handsMICStatus = setHandsMIC(serialPortUtil, true);//面板mic有回音,需要禁掉
|
|
|
- //=============================================SIP自动接听===================================//
|
|
|
- SipHelperUtil.getInstance(CallingBedActivity.this).getmSipCallBackI().autoTalking();
|
|
|
- CALL_STATUS = Constants.IN_CALLING;
|
|
|
- tvNurseText.setText("正在通话中...");
|
|
|
- tvNurseTimeOut.setText("");
|
|
|
- } else {
|
|
|
+ if (autoAnswer) {
|
|
|
long curTimeMills = System.currentTimeMillis();
|
|
|
if (curTimeMills - localMillsCallNurse > 3000) {
|
|
|
clickVNurse();
|
|
@@ -1552,22 +1547,16 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
//handsMICStatus = setHandsMIC(serialPortUtil, false);//点击了外部按键就将手柄MIC关掉
|
|
|
handsMICStatus = setHandsMIC(serialPortUtil, true);//面板mic有回音,需要禁掉
|
|
|
}
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- } else if (buffer[5] == 2) {//呼叫护士键长按松开
|
|
|
- CallingBedActivity.this.runOnUiThread(new Runnable() {
|
|
|
- public void run() {
|
|
|
- if (CALL_STATUS.equals(Constants.IN_CALL)) {
|
|
|
- //主机呼叫分机,按键接听
|
|
|
- handsMICStatus = setHandsMIC(serialPortUtil, true);//面板mic有回音,需要禁掉
|
|
|
- //=============================================SIP自动接听===================================//
|
|
|
- SipHelperUtil.getInstance(CallingBedActivity.this).getmSipCallBackI().autoTalking();
|
|
|
- CALL_STATUS = Constants.IN_CALLING;
|
|
|
- tvNurseText.setText("正在通话中...");
|
|
|
- tvNurseTimeOut.setText("");
|
|
|
} else {
|
|
|
- //if (Constants.IS_CALLED == 0) {//当前没有呼叫长按后还是呼叫
|
|
|
+ if (CALL_STATUS.equals(Constants.IN_CALL)) {
|
|
|
+ //主机呼叫分机,按键接听
|
|
|
+ handsMICStatus = setHandsMIC(serialPortUtil, true);//面板mic有回音,需要禁掉
|
|
|
+ //=============================================SIP自动接听===================================//
|
|
|
+ SipHelperUtil.getInstance(CallingBedActivity.this).getmSipCallBackI().autoTalking();
|
|
|
+ CALL_STATUS = Constants.IN_CALLING;
|
|
|
+ tvNurseText.setText("正在通话中...");
|
|
|
+ tvNurseTimeOut.setText("");
|
|
|
+ } else {
|
|
|
long curTimeMills = System.currentTimeMillis();
|
|
|
if (curTimeMills - localMillsCallNurse > 3000) {
|
|
|
clickVNurse();
|
|
@@ -1578,9 +1567,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
//handsMICStatus = setHandsMIC(serialPortUtil, false);//点击了外部按键就将手柄MIC关掉
|
|
|
handsMICStatus = setHandsMIC(serialPortUtil, true);//面板mic有回音,需要禁掉
|
|
|
}
|
|
|
- //} else if (Constants.IS_CALLED == 1) {//当前有呼叫长按后取消呼叫
|
|
|
- // UdpSendUtil.sendHangUp(initDataEntity, mainDataEntity);//长按取消呼叫 add by waderson 20191108
|
|
|
- //}
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
});
|
|
@@ -1592,25 +1579,34 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
CallingBedActivity.this.runOnUiThread(new Runnable() {
|
|
|
public void run() {
|
|
|
LogUtil.d("WWW", "呼叫护士键==-2");
|
|
|
- if (CALL_STATUS.equals(Constants.STANDBY) || CALL_STATUS.equals(Constants.IN_CALLING) || CALL_STATUS.equals(NURSE_CALL_TIMEOUT)) { //待机状态或呼叫超时或通话中可以挂断
|
|
|
- handsMICStatus = setHandsMIC(serialPortUtil, true);
|
|
|
-
|
|
|
- clickVNurse();
|
|
|
- tvNurseTimeOut.setText("");
|
|
|
- //呼叫超时倒计时开启
|
|
|
- callTypeCallNurse = "2";
|
|
|
- localMillsCallNurse = System.currentTimeMillis();
|
|
|
- } /*else {
|
|
|
- handsMICStatus = setHandsMIC(serialPortUtil, false);
|
|
|
- }*/
|
|
|
- else if (CALL_STATUS.equals(Constants.IN_CALL)) {
|
|
|
- //主机呼叫分机,按键接听
|
|
|
- handsMICStatus = setHandsMIC(serialPortUtil, true);//面板mic有回音,需要禁掉
|
|
|
- //=============================================SIP自动接听===================================//
|
|
|
- SipHelperUtil.getInstance(CallingBedActivity.this).getmSipCallBackI().autoTalking();
|
|
|
- CALL_STATUS = Constants.IN_CALLING;
|
|
|
- tvNurseText.setText("正在通话中...");
|
|
|
- tvNurseTimeOut.setText("");
|
|
|
+ if (autoAnswer) {
|
|
|
+ if (CALL_STATUS.equals(Constants.STANDBY) || CALL_STATUS.equals(Constants.IN_CALLING) || CALL_STATUS.equals(NURSE_CALL_TIMEOUT)) { //待机状态或呼叫超时或通话中可以挂断
|
|
|
+ handsMICStatus = setHandsMIC(serialPortUtil, true);
|
|
|
+
|
|
|
+ clickVNurse();
|
|
|
+ tvNurseTimeOut.setText("");
|
|
|
+ //呼叫超时倒计时开启
|
|
|
+ callTypeCallNurse = "2";
|
|
|
+ localMillsCallNurse = System.currentTimeMillis();
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (CALL_STATUS.equals(Constants.STANDBY) || CALL_STATUS.equals(Constants.IN_CALLING) || CALL_STATUS.equals(NURSE_CALL_TIMEOUT)) { //待机状态或呼叫超时或通话中可以挂断
|
|
|
+ handsMICStatus = setHandsMIC(serialPortUtil, true);
|
|
|
+
|
|
|
+ clickVNurse();
|
|
|
+ tvNurseTimeOut.setText("");
|
|
|
+ //呼叫超时倒计时开启
|
|
|
+ callTypeCallNurse = "2";
|
|
|
+ localMillsCallNurse = System.currentTimeMillis();
|
|
|
+ } else if (CALL_STATUS.equals(Constants.IN_CALL)) {
|
|
|
+ //主机呼叫分机,按键接听
|
|
|
+ handsMICStatus = setHandsMIC(serialPortUtil, true);//面板mic有回音,需要禁掉
|
|
|
+ //=============================================SIP自动接听===================================//
|
|
|
+ SipHelperUtil.getInstance(CallingBedActivity.this).getmSipCallBackI().autoTalking();
|
|
|
+ CALL_STATUS = Constants.IN_CALLING;
|
|
|
+ tvNurseText.setText("正在通话中...");
|
|
|
+ tvNurseTimeOut.setText("");
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
});
|
|
@@ -2434,14 +2430,8 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
- if (CALL_STATUS.equals(Constants.STANDBY)) {
|
|
|
- //主机主动呼叫分机
|
|
|
- CALL_STATUS = Constants.IN_CALL;
|
|
|
- showThisView(vNurse);
|
|
|
- SoundPoolManager.getInstance().playSound(1);
|
|
|
- tvNurseText.setText("主机请求通话...");
|
|
|
- tvNurseTimeOut.setText("");
|
|
|
- } else {
|
|
|
+
|
|
|
+ if (autoAnswer) {
|
|
|
//分机主动呼叫主机
|
|
|
handsMICStatus = setHandsMIC(serialPortUtil, true);//面板mic有回音,需要禁掉
|
|
|
//=============================================SIP自动接听===================================//
|
|
@@ -2456,6 +2446,30 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
//jbVNurse.stopJumping();
|
|
|
tvNurseText.setText("正在通话中...");
|
|
|
tvNurseTimeOut.setText("");
|
|
|
+ } else {
|
|
|
+ if (CALL_STATUS.equals(Constants.STANDBY)) {
|
|
|
+ //主机主动呼叫分机
|
|
|
+ CALL_STATUS = Constants.IN_CALL;
|
|
|
+ showThisView(vNurse);
|
|
|
+ SoundPoolManager.getInstance().playSound(1);
|
|
|
+ tvNurseText.setText("主机请求通话...");
|
|
|
+ tvNurseTimeOut.setText("");
|
|
|
+ } else {
|
|
|
+ //分机主动呼叫主机
|
|
|
+ handsMICStatus = setHandsMIC(serialPortUtil, true);//面板mic有回音,需要禁掉
|
|
|
+ //=============================================SIP自动接听===================================//
|
|
|
+ SipHelperUtil.getInstance(CallingBedActivity.this).getmSipCallBackI().autoTalking();
|
|
|
+
|
|
|
+ //正在通话中:isIncomingCall() = true
|
|
|
+ //CallingBedActivity.initPlayerVolume(0.0f);
|
|
|
+
|
|
|
+ CALL_STATUS = Constants.IN_CALLING;
|
|
|
+ showThisView(vNurse);
|
|
|
+ //jbVNurse = setJumpingBeans(tvNurseText, "正在通话中...");
|
|
|
+ //jbVNurse.stopJumping();
|
|
|
+ tvNurseText.setText("正在通话中...");
|
|
|
+ tvNurseTimeOut.setText("");
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if (isTransfer) {
|