|
@@ -402,6 +402,8 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
RecyclerView rvSettings;
|
|
|
@Bind(R.id.tv_version)
|
|
|
TextView tvVersion;
|
|
|
+ @Bind(R.id.rl_black_view)
|
|
|
+ View blackView;
|
|
|
|
|
|
private ImageView ivWelcome;
|
|
|
private MyTextView tvMessage;
|
|
@@ -434,6 +436,8 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
*/
|
|
|
private long callTimeOut = (StringUtils.parseInt(Constants.CALLINGTIMEOUT) == 0 ? 180000 : StringUtils.parseInt(Constants.CALLINGTIMEOUT) * 1000);//默认30秒
|
|
|
|
|
|
+ private long screenTimeOut = 15;
|
|
|
+
|
|
|
//触摸移动坐标
|
|
|
float downX;
|
|
|
float downY;
|
|
@@ -452,6 +456,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
private final int MAIN_DATA_RESPONSE = 2003;
|
|
|
private final int MAIN_DATA_ERROR = 2004;
|
|
|
private final int UPDATE_BROADCAST = 2005;
|
|
|
+ private final int TURN_OFF_SCREEN = 2007;
|
|
|
private MyHandler handler = new MyHandler(this);
|
|
|
|
|
|
class MyHandler extends Handler {
|
|
@@ -492,11 +497,11 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
break;
|
|
|
case INIT_SYSTEM:
|
|
|
LogUtil.d("NURSELIGHT", "INIT_SYSTEM");
|
|
|
- setSYSParameter();
|
|
|
+ setSYSParameter(false);
|
|
|
break;
|
|
|
case SYSTEM_DATA_RESPONSE:
|
|
|
LogUtil.d("NURSELIGHT", "SYSTEM_DATA_RESPONSE");
|
|
|
- setSYSParameter();
|
|
|
+ setSYSParameter(false);
|
|
|
break;
|
|
|
case SYSTEM_DATA_ERROR:
|
|
|
LogUtil.d("NURSELIGHT", "SYSTEM_DATA_ERROR");
|
|
@@ -504,7 +509,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
break;
|
|
|
case MAIN_DATA_RESPONSE:
|
|
|
LogUtil.d("NURSELIGHT", "MAIN_DATA_RESPONSE");
|
|
|
- setSYSParameter();
|
|
|
+ setSYSParameter(false);
|
|
|
break;
|
|
|
case MAIN_DATA_ERROR:
|
|
|
LogUtil.d("NURSELIGHT", "MAIN_DATA_ERROR");
|
|
@@ -513,6 +518,10 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
case UPDATE_BROADCAST:
|
|
|
checkAndDownloadMP3(0);
|
|
|
break;
|
|
|
+ //息屏
|
|
|
+ case TURN_OFF_SCREEN:
|
|
|
+ showBlackView();
|
|
|
+ break;
|
|
|
}
|
|
|
} else {
|
|
|
// 没有实例不进行操作
|
|
@@ -700,6 +709,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
ivWelcome = vWelcome.findViewById(R.id.view_welcome_iv_main);
|
|
|
tvMessage = vMain.findViewById(R.id.activity_calling_bed_layout_tv_message);
|
|
|
/*******************************************************/
|
|
|
+ blackView.setVisibility(View.GONE);
|
|
|
|
|
|
timeThread = new TimeThread();
|
|
|
timeThread.start();
|
|
@@ -1086,8 +1096,9 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
Constants.SCREENEXTINGUISHTIME = object.getString("screenExtinguishTime");
|
|
|
//Constants.DOORCALLVOICE = object.getString("DoorSipVol");
|
|
|
Constants.BEDCALLVOICE = object.getString("BedSipVol");
|
|
|
+ screenTimeOut = Integer.parseInt(Constants.SCREENEXTINGUISHTIME);
|
|
|
handler.sendEmptyMessage(SYSTEM_DATA_RESPONSE);
|
|
|
- setSYSParameter();
|
|
|
+ //setSYSParameter();
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
@@ -1549,6 +1560,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
CallingBedActivity.this.runOnUiThread(new Runnable() {
|
|
|
public void run() {
|
|
|
LogUtil.d("WWW", "呼叫护士键==1");
|
|
|
+ wakeUpScreen();
|
|
|
callNurse();
|
|
|
tvNurseTimeOut.setText("");
|
|
|
//呼叫超时倒计时开启
|
|
@@ -1567,6 +1579,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
CallingBedActivity.this.runOnUiThread(new Runnable() {
|
|
|
public void run() {
|
|
|
LogUtil.d("WWW", "挂断键==1,2");
|
|
|
+ wakeUpScreen();
|
|
|
endCallNurse();
|
|
|
tvNurseTimeOut.setText("");
|
|
|
//呼叫超时倒计时开启
|
|
@@ -1580,6 +1593,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
CallingBedActivity.this.runOnUiThread(new Runnable() {
|
|
|
public void run() {
|
|
|
LogUtil.d("WWW", "呼叫护士键==-2");
|
|
|
+ wakeUpScreen();
|
|
|
tvNurseTimeOut.setText("");
|
|
|
//呼叫超时倒计时开启
|
|
|
callTypeCallNurse = "2";
|
|
@@ -1598,6 +1612,22 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
|
|
|
}
|
|
|
|
|
|
+ private void resetOffScreen() {
|
|
|
+ //LogUtil.d("wzlll", "resetOffScreen");
|
|
|
+ handler.removeMessages(TURN_OFF_SCREEN);
|
|
|
+ if (StringUtils.notEmpty(Constants.MORNING_NIGTH) && Constants.MORNING_NIGTH.equals("1")
|
|
|
+ && (Constants.SCREENLIGHT.equals("1") || Constants.SCREENLIGHT.equals("0"))) {//晚上
|
|
|
+ handler.sendEmptyMessageDelayed(TURN_OFF_SCREEN, screenTimeOut*1000);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void wakeUpScreen() {
|
|
|
+ if (blackView.getVisibility() == View.VISIBLE) {
|
|
|
+ blackView.setVisibility(View.GONE);
|
|
|
+ showThisView(vMain);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//---------------------------------------------串口点击事件监听----------------------------------------------------------
|
|
|
|
|
|
private long localMillsCallNurse = 0;//呼叫护士拨打的时刻
|
|
@@ -1680,6 +1710,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
CALL_STATUS = STANDBY;
|
|
|
showThisView(vMain);
|
|
|
setCallStatus(serialPortUtil, "0");
|
|
|
+ resetOffScreen();
|
|
|
}
|
|
|
} else {
|
|
|
flickerStatus = setWSHLightFlicker(serialPortUtil, false);
|
|
@@ -1715,6 +1746,23 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
setDoorLight(serialPortUtil, "111");//白色
|
|
|
}
|
|
|
break;
|
|
|
+ case "call_host_exception":
|
|
|
+ if (Constants.CALLMAIN_ID.equals(udpEntity.getNurseHostID())) {
|
|
|
+ Constants.IS_CALLED = 0;
|
|
|
+ callNurse = false;
|
|
|
+ if (!CALL_STATUS.equals(STANDBY)) {
|
|
|
+ CALL_STATUS = STANDBY;
|
|
|
+ UdpSendUtil.sendHangUp(initDataEntity, mainDataEntity);//取消呼叫 add by waderson 20191118
|
|
|
+ SipHelperUtil.getInstance(CallingBedActivity.this).getmSipCallBackI().endCall();
|
|
|
+ setCallStatus(serialPortUtil, "0");
|
|
|
+ CALL_STATUS = STANDBY;
|
|
|
+ showThisView(vMain);
|
|
|
+ goneLlRightView(true);
|
|
|
+ resetOffScreen();
|
|
|
+ }
|
|
|
+ flickerStatus = setWSHLightFlicker(serialPortUtil, false);
|
|
|
+ }
|
|
|
+ break;
|
|
|
}
|
|
|
break;
|
|
|
case Constants.EVENT_NOTICE:
|
|
@@ -1730,7 +1778,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
}
|
|
|
break;
|
|
|
case Constants.EVENT_SETSYS://系统设置参数
|
|
|
- setSYSParameter();
|
|
|
+ setSYSParameter(true);
|
|
|
break;
|
|
|
case Constants.EVENT_MGR_PATIENTUPDATE://数据改变刷新本机
|
|
|
upDateParameter();
|
|
@@ -1958,14 +2006,35 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
/**
|
|
|
* 设置系统的各项参数,根据后台UDP的指令改变机器的状态(声音大小;亮度;。。。)<br></>
|
|
|
*/
|
|
|
- private void setSYSParameter() {
|
|
|
+ private void setSYSParameter(boolean fromUdp) {
|
|
|
if (StringUtils.notEmpty(Constants.MORNING_NIGTH)) {//初始化卫生间按键灯
|
|
|
flickerStatus = setWSHLightFlicker(serialPortUtil, flickerStatus);
|
|
|
}
|
|
|
if (StringUtils.notEmpty(Constants.MORNING_NIGTH) && Constants.MORNING_NIGTH.equals("1")) {//晚上
|
|
|
lightStatus = setWSHLight(serialPortUtil, true);
|
|
|
+
|
|
|
+ if (Constants.SCREENLIGHT.equals("1") || Constants.SCREENLIGHT.equals("0")) {
|
|
|
+ if (!isVisible(vNurse) && !isVisible(vSupport) && !isVisible(vCall)) {//排除呼叫状态
|
|
|
+ if (fromUdp) {
|
|
|
+ showBlackView();
|
|
|
+ } else {
|
|
|
+ handler.sendEmptyMessageDelayed(TURN_OFF_SCREEN, screenTimeOut*1000);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ handler.removeMessages(TURN_OFF_SCREEN);
|
|
|
+ if (isVisible(blackView)) {
|
|
|
+ blackView.setVisibility(View.GONE);
|
|
|
+ showThisView(vMain);
|
|
|
+ }
|
|
|
+ }
|
|
|
} else {
|
|
|
lightStatus = setWSHLight(serialPortUtil, false);
|
|
|
+ handler.removeMessages(TURN_OFF_SCREEN);
|
|
|
+ if (isVisible(blackView)) {
|
|
|
+ blackView.setVisibility(View.GONE);
|
|
|
+ showThisView(vMain);
|
|
|
+ }
|
|
|
}
|
|
|
if (StringUtils.isInt(Constants.SCREENLIGHT)) {
|
|
|
setSYSBrightness(CallingBedActivity.this, StringUtils.parseInt(Constants.SCREENLIGHT));
|
|
@@ -2135,6 +2204,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
if (null != initDataEntity) {
|
|
|
jbVSupport = setJumpingBeans(tvSupportText, initDataEntity.getDeviceBedNum() + "床正在请求增援...");
|
|
|
}
|
|
|
+ handler.removeMessages(TURN_OFF_SCREEN);
|
|
|
} else {
|
|
|
if (!isVisible(vCall) && !isVisible(vNurse)) {//排除呼叫状态
|
|
|
showThisView(vSupport);
|
|
@@ -2146,6 +2216,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
if (null != initDataEntity) {
|
|
|
jbVSupport = setJumpingBeans(tvSupportText, initDataEntity.getDeviceBedNum() + "床正在请求增援...");
|
|
|
}
|
|
|
+ handler.removeMessages(TURN_OFF_SCREEN);
|
|
|
} else {
|
|
|
showToast("请先取消呼叫!");
|
|
|
}
|
|
@@ -2167,6 +2238,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
if (null != initDataEntity) {
|
|
|
jbVCall = setJumpingBeans(tvCallText, initDataEntity.getDeviceBedNum() + "床正在呼叫护工...");
|
|
|
}
|
|
|
+ handler.removeMessages(TURN_OFF_SCREEN);
|
|
|
} else {
|
|
|
if (!isVisible(vSupport) && !isVisible(vNurse)) {//排除呼叫状态
|
|
|
showThisView(vCall);
|
|
@@ -2177,6 +2249,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
if (null != initDataEntity) {
|
|
|
jbVCall = setJumpingBeans(tvCallText, initDataEntity.getDeviceBedNum() + "床正在呼叫护工...");
|
|
|
}
|
|
|
+ handler.removeMessages(TURN_OFF_SCREEN);
|
|
|
} else {
|
|
|
showToast("请先取消呼叫!");
|
|
|
}
|
|
@@ -2249,7 +2322,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
if (null != initDataEntity) {
|
|
|
jbVNurse = setJumpingBeans(tvNurseText, initDataEntity.getDeviceBedNum() + "床已呼叫,等待护士接听中...");
|
|
|
}
|
|
|
-
|
|
|
+ handler.removeMessages(TURN_OFF_SCREEN);
|
|
|
} else {
|
|
|
if (!isVisible(vSupport) && !isVisible(vCall)) {//排除呼叫状态
|
|
|
callNurse = true;
|
|
@@ -2262,6 +2335,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
if (null != initDataEntity) {
|
|
|
jbVNurse = setJumpingBeans(tvNurseText, initDataEntity.getDeviceBedNum() + "床已呼叫,等待护士接听中...");
|
|
|
}
|
|
|
+ handler.removeMessages(TURN_OFF_SCREEN);
|
|
|
} else {
|
|
|
showToast("请先取消呼叫!");
|
|
|
}
|
|
@@ -2278,6 +2352,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
showThisView(vMain);
|
|
|
goneLlRightView(true);
|
|
|
}
|
|
|
+ resetOffScreen();
|
|
|
}
|
|
|
|
|
|
//---------------------------------------------串口点击事件部分(下)---------------------------------------------------------------------
|
|
@@ -2329,6 +2404,26 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private void showBlackView() {
|
|
|
+ //LogUtil.d("wzlll", "showBlackView");
|
|
|
+ if (blackView.getVisibility() == View.VISIBLE) return;
|
|
|
+ if (allViews == null) return;
|
|
|
+ for (View v : allViews) {
|
|
|
+ if (v.getVisibility() == View.VISIBLE) {
|
|
|
+ v.setVisibility(View.GONE);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ blackView.setVisibility(View.VISIBLE);
|
|
|
+ blackView.setOnClickListener(new View.OnClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onClick(View v) {
|
|
|
+ //LogUtil.d("wzlll", "black view click");
|
|
|
+ wakeUpScreen();
|
|
|
+ resetOffScreen();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
protected boolean isVisible(View v) {
|
|
|
return v.getVisibility() == View.VISIBLE;
|
|
|
}
|
|
@@ -2400,6 +2495,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
|
|
|
@Override
|
|
|
public void onClick(View v) {
|
|
|
+ resetOffScreen();
|
|
|
switch (v.getId()) {
|
|
|
case R.id.right_ll_main_item:
|
|
|
clickVMain();
|
|
@@ -2520,6 +2616,14 @@ 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)) {
|
|
|
+ blackView.setVisibility(View.GONE);
|
|
|
+ showThisView(vMain);
|
|
|
+ handler.removeMessages(TURN_OFF_SCREEN);
|
|
|
+ }
|
|
|
+
|
|
|
//=============================================SIP自动接听===================================//
|
|
|
SipHelperUtil.getInstance(CallingBedActivity.this).getmSipCallBackI().autoTalking();
|
|
|
|
|
@@ -2567,6 +2671,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
//发送udp让门口机text变白色
|
|
|
UdpSendUtil.sendCallNoticeDoor(initDataEntity, mainDataEntity, "0");
|
|
|
}
|
|
|
+ resetOffScreen();
|
|
|
break;
|
|
|
}
|
|
|
}
|