|
@@ -188,6 +188,8 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
public static final String REGISTERCOM = "register_com";
|
|
|
|
|
|
private static boolean netOff = false;
|
|
|
+
|
|
|
+ private static boolean activityStop = false;
|
|
|
/**
|
|
|
* 注册检测wifi强度广播
|
|
|
*/
|
|
@@ -544,7 +546,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
tvBroadcasting.setVisibility(View.INVISIBLE);
|
|
|
break;
|
|
|
case RESET_ETHE:
|
|
|
- if (netOff) {
|
|
|
+ if (netOff && !activityStop) {
|
|
|
ToastUtil.showToast("网络异常,设备即将重启!!!");
|
|
|
CallingBedSendCommand.setNetStatus(serialPortUtil, "1");
|
|
|
}
|
|
@@ -639,6 +641,24 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
disableStatusBar();
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ protected void onStart() {
|
|
|
+ super.onStart();
|
|
|
+ activityStop = false;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ protected void onRestart() {
|
|
|
+ super.onRestart();
|
|
|
+ activityStop = false;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ protected void onStop() {
|
|
|
+ super.onStop();
|
|
|
+ activityStop = true;
|
|
|
+ }
|
|
|
+
|
|
|
private void setListeners() {
|
|
|
llMainItem.setOnClickListener(this);
|
|
|
llAdviceItem.setOnClickListener(this);
|
|
@@ -1007,7 +1027,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
case REGISTERFAIL:
|
|
|
netOff = true;
|
|
|
tvSipStatePoint.setBackgroundResource(R.color.red_color);
|
|
|
- handler.sendEmptyMessageDelayed(RESET_ETHE, 120000);
|
|
|
+ handler.sendEmptyMessageDelayed(RESET_ETHE, 150000);
|
|
|
//CallingBedSendCommand.setSipStatus(serialPortUtil, "0");
|
|
|
break;
|
|
|
case REGISTERCOM:
|
|
@@ -1631,11 +1651,21 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
public void run() {
|
|
|
LogUtil.d("WWW", "呼叫护士键==1");
|
|
|
wakeUpScreen();
|
|
|
- callNurse();
|
|
|
- tvNurseTimeOut.setText("");
|
|
|
- //呼叫超时倒计时开启
|
|
|
- callTypeCallNurse = "1";
|
|
|
- handsMICStatus = setHandsMIC(serialPortUtil, false);//点击了外部按键就将手柄MIC关掉
|
|
|
+ if (CALL_STATUS.equals(Constants.IN_CALL)) {
|
|
|
+ //主机呼叫分机,按键接听
|
|
|
+ SipHelperUtil.getInstance(CallingBedActivity.this).getmSipCallBackI().autoTalking();
|
|
|
+ CALL_STATUS = Constants.IN_CALLING;
|
|
|
+ tvNurseText.setText("正在通话中...");
|
|
|
+ tvNurseTimeOut.setText("");
|
|
|
+ handsMICStatus = setHandsMIC(serialPortUtil, false);//点击了外部按键就将手柄MIC关掉
|
|
|
+ setCallStatus(serialPortUtil, "2");
|
|
|
+ } else {
|
|
|
+ callNurse();
|
|
|
+ tvNurseTimeOut.setText("");
|
|
|
+ //呼叫超时倒计时开启
|
|
|
+ callTypeCallNurse = "1";
|
|
|
+ handsMICStatus = setHandsMIC(serialPortUtil, false);//点击了外部按键就将手柄MIC关掉
|
|
|
+ }
|
|
|
}
|
|
|
});
|
|
|
}
|
|
@@ -1691,6 +1721,15 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
} else if (CALL_STATUS.equals(Constants.IN_CALLING)) {
|
|
|
endCallNurse();
|
|
|
handsMICStatus = setHandsMIC(serialPortUtil, false);
|
|
|
+ } else if (CALL_STATUS.equals(Constants.IN_CALL)) {
|
|
|
+ //主机呼叫分机,按键接听
|
|
|
+ handsMICStatus = setHandsMIC(serialPortUtil, true);
|
|
|
+ //=============================================SIP自动接听===================================//
|
|
|
+ SipHelperUtil.getInstance(CallingBedActivity.this).getmSipCallBackI().autoTalking();
|
|
|
+ CALL_STATUS = Constants.IN_CALLING;
|
|
|
+ tvNurseText.setText("正在通话中...");
|
|
|
+ tvNurseTimeOut.setText("");
|
|
|
+ setCallStatus(serialPortUtil, "2");
|
|
|
}
|
|
|
}
|
|
|
});
|
|
@@ -2740,7 +2779,6 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
// }
|
|
|
switch (call.mState) {
|
|
|
case 0://正在呼叫中:子机自动接通 isIncomingCall() = true mState = 0 //正在通话中:isIncomingCall() = true
|
|
|
- CALL_STATUS = Constants.IN_CALL;
|
|
|
|
|
|
//通话唤醒
|
|
|
if (isVisible(blackView)) {
|
|
@@ -2749,19 +2787,30 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
handler.removeMessages(TURN_OFF_SCREEN);
|
|
|
}
|
|
|
|
|
|
- //=============================================SIP自动接听===================================//
|
|
|
- SipHelperUtil.getInstance(CallingBedActivity.this).getmSipCallBackI().autoTalking();
|
|
|
+ if (CALL_STATUS.equals(Constants.STANDBY)) {
|
|
|
+ //主机主动呼叫分机
|
|
|
+ CALL_STATUS = Constants.IN_CALL;
|
|
|
+ showThisView(vNurse);
|
|
|
+ SoundPoolManager.getInstance().playSound(1);
|
|
|
+ tvNurseText.setText("主机请求通话...");
|
|
|
+ tvNurseTimeOut.setText("");
|
|
|
+ setCallStatus(serialPortUtil, "1");
|
|
|
+ } else {
|
|
|
+ //分机主动呼叫主机
|
|
|
+ //=============================================SIP自动接听===================================//
|
|
|
+ SipHelperUtil.getInstance(CallingBedActivity.this).getmSipCallBackI().autoTalking();
|
|
|
|
|
|
- //正在通话中:isIncomingCall() = true
|
|
|
- CallingBedActivity.initPlayerVolume(0.0f);
|
|
|
+ //正在通话中:isIncomingCall() = true
|
|
|
+ CallingBedActivity.initPlayerVolume(0.0f);
|
|
|
|
|
|
- CALL_STATUS = Constants.IN_CALLING;
|
|
|
- showThisView(vNurse);
|
|
|
- //jbVNurse = setJumpingBeans(tvNurseText, "正在通话中...");
|
|
|
- //jbVNurse.stopJumping();
|
|
|
- tvNurseText.setText("正在通话中...");
|
|
|
- tvNurseTimeOut.setText("");
|
|
|
- setCallStatus(serialPortUtil, "2");
|
|
|
+ CALL_STATUS = Constants.IN_CALLING;
|
|
|
+ showThisView(vNurse);
|
|
|
+ //jbVNurse = setJumpingBeans(tvNurseText, "正在通话中...");
|
|
|
+ //jbVNurse.stopJumping();
|
|
|
+ tvNurseText.setText("正在通话中...");
|
|
|
+ tvNurseTimeOut.setText("");
|
|
|
+ setCallStatus(serialPortUtil, "2");
|
|
|
+ }
|
|
|
|
|
|
if (isTransfer) {
|
|
|
} else {
|
|
@@ -2886,7 +2935,8 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
protected void comeBackMainPage() {
|
|
|
timeOfBackMainPage++;
|
|
|
timeOut--;
|
|
|
- if ((timeOut <= 0) || (!isVisible(vMain) && timeOfBackMainPage >= callTimeOutBack && !CALL_STATUS.equals(Constants.IN_CALLING) && !isEmptyInfo)) {
|
|
|
+ if ((timeOut <= 0) || (!isVisible(vMain) && timeOfBackMainPage >= callTimeOutBack
|
|
|
+ && !CALL_STATUS.equals(Constants.IN_CALL) && !CALL_STATUS.equals(Constants.IN_CALLING) && !isEmptyInfo)) {
|
|
|
// if (callNurse) {//超时自动取消呼叫了,20191118 之前是长按取消呼叫,后来又改成了根据UI的改变来取消,说让客户一目了然
|
|
|
// callNurse = false;
|
|
|
// UdpSendUtil.sendHangUp(initDataEntity, mainDataEntity);//取消呼叫 add by waderson 20191118
|
|
@@ -2903,7 +2953,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
if (null != initDataEntity) {
|
|
|
getMainData(1);
|
|
|
}
|
|
|
- } else if (CALL_STATUS.equals(Constants.IN_CALLING)){
|
|
|
+ } else if (CALL_STATUS.equals(Constants.IN_CALLING) || CALL_STATUS.equals(Constants.IN_CALL)){
|
|
|
tvNurseTimeOut.setText("");
|
|
|
} else {
|
|
|
tvSupportTimeOut.setText(timeOut + " 秒");
|