|
@@ -376,6 +376,8 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
MarqueeText tvBedNum_big;
|
|
|
@Bind(R.id.view_main_layout_tv_name_big)
|
|
|
MarqueeText tvName_big;
|
|
|
+ @Bind(R.id.rl_black_view)
|
|
|
+ View blackView;
|
|
|
|
|
|
private RelativeLayout rlBottomMessage;
|
|
|
private ImageView ivWelcome;
|
|
@@ -409,6 +411,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
*/
|
|
|
private long callTimeOut = (StringUtils.parseInt(Constants.CALLINGTIMEOUT) == 0 ? 30000 : StringUtils.parseInt(Constants.CALLINGTIMEOUT) * 1000);//默认30秒
|
|
|
|
|
|
+ private long screenTimeOut = 15000;
|
|
|
|
|
|
/**
|
|
|
* 时间线程
|
|
@@ -422,6 +425,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
private final int MAIN_DATA_ERROR = 2004;
|
|
|
private final int UPDATE_BROADCAST = 2005;
|
|
|
private final int NEW_INCOMING_CALL = 2006;
|
|
|
+ private final int TURN_OFF_SCREEN = 2007;
|
|
|
private MyHandler handler = new MyHandler(this);
|
|
|
|
|
|
class MyHandler extends Handler {
|
|
@@ -485,6 +489,10 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
case NEW_INCOMING_CALL:
|
|
|
//newCalling();
|
|
|
break;
|
|
|
+ //息屏
|
|
|
+ case TURN_OFF_SCREEN:
|
|
|
+ showBlackView();
|
|
|
+ break;
|
|
|
}
|
|
|
} else {
|
|
|
// 没有实例不进行操作
|
|
@@ -587,6 +595,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
ivWelcome = vWelcome.findViewById(R.id.view_welcome_iv_main);
|
|
|
tvNoticeContent = vMain.findViewById(R.id.view_main_layout_tv_msg);
|
|
|
/*******************************************************/
|
|
|
+ blackView.setVisibility(View.GONE);
|
|
|
|
|
|
timeThread = new TimeThread();
|
|
|
timeThread.start();
|
|
@@ -1373,6 +1382,17 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
if (null != vWelcome) {
|
|
|
//只有在欢迎界面没有显示的时候串口才能用
|
|
|
if (vWelcome.getVisibility() == View.GONE) {
|
|
|
+ //按键唤醒
|
|
|
+ if (blackView.getVisibility() == View.VISIBLE) {
|
|
|
+ CallingBedActivity.this.runOnUiThread(new Runnable() {
|
|
|
+ public void run() {
|
|
|
+ blackView.setVisibility(View.GONE);
|
|
|
+ showThisView(vMain);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ resetOffScreen();
|
|
|
+
|
|
|
//医嘱键短按松开
|
|
|
if (buffer[0] == 1) {
|
|
|
CallingBedActivity.this.runOnUiThread(new Runnable() {
|
|
@@ -1548,6 +1568,13 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private void resetOffScreen() {
|
|
|
+ handler.removeMessages(TURN_OFF_SCREEN);
|
|
|
+ if (StringUtils.notEmpty(Constants.MORNING_NIGTH) && Constants.MORNING_NIGTH.equals("1") && Constants.SCREENLIGHT.equals("1")) {//晚上
|
|
|
+ handler.sendEmptyMessageDelayed(TURN_OFF_SCREEN, screenTimeOut);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void serialPortBedOnclickString(String str) {
|
|
|
//LogUtil.d("serialPortBedOnclickString", "CallingBedActivity: " + str);
|
|
@@ -1634,6 +1661,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
if (!CALL_STATUS.equals(STANDBY)) {
|
|
|
CALL_STATUS = STANDBY;
|
|
|
showThisView(vMain);
|
|
|
+ resetOffScreen();
|
|
|
}
|
|
|
} else {
|
|
|
flickerStatus = setWSHLightFlicker(serialPortUtil, false);
|
|
@@ -1675,6 +1703,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
if (!CALL_STATUS.equals(STANDBY)) {
|
|
|
CALL_STATUS = STANDBY;
|
|
|
showThisView(vMain);
|
|
|
+ resetOffScreen();
|
|
|
SipHelperUtil.getInstance(this).getmSipCallBackI().endCall();
|
|
|
}
|
|
|
flickerStatus = setWSHLightFlicker(serialPortUtil, false);
|
|
@@ -1929,8 +1958,14 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
}
|
|
|
if (StringUtils.notEmpty(Constants.MORNING_NIGTH) && Constants.MORNING_NIGTH.equals("1")) {//晚上
|
|
|
lightStatus = setWSHLight(serialPortUtil, true);
|
|
|
+ if (Constants.SCREENLIGHT.equals("1") && !isVisible(vNurse) && !isVisible(vSupport) && !isVisible(vCall)) {//排除呼叫状态
|
|
|
+ showBlackView();
|
|
|
+ }
|
|
|
} else {
|
|
|
lightStatus = setWSHLight(serialPortUtil, false);
|
|
|
+ if (Constants.SCREENLIGHT.equals("1") && isVisible(blackView)) {
|
|
|
+ showThisView(vMain);
|
|
|
+ }
|
|
|
}
|
|
|
if (StringUtils.isInt(Constants.SCREENLIGHT)) {
|
|
|
setSYSBrightness(CallingBedActivity.this, StringUtils.parseInt(Constants.SCREENLIGHT));
|
|
@@ -2050,6 +2085,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
timeOfBackMainPage = 0;
|
|
|
timeOut = callTimeOutBack;
|
|
|
if (isVisible(vSupport)) {
|
|
|
+ resetOffScreen();
|
|
|
CALL_STATUS = STANDBY;
|
|
|
showThisView(vMain);
|
|
|
goneLlRightView(true);
|
|
@@ -2066,6 +2102,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
if (null != initDataEntity) {
|
|
|
jbVSupport = setJumpingBeans(tvSupportText, initDataEntity.getDeviceBedNum() + "床正在请求增援...");
|
|
|
}
|
|
|
+ handler.removeMessages(TURN_OFF_SCREEN);
|
|
|
} else {
|
|
|
showLlRightView();
|
|
|
}
|
|
@@ -2079,6 +2116,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
if (null != initDataEntity) {
|
|
|
jbVSupport = setJumpingBeans(tvSupportText, initDataEntity.getDeviceBedNum() + "床正在请求增援...");
|
|
|
}
|
|
|
+ handler.removeMessages(TURN_OFF_SCREEN);
|
|
|
} else {
|
|
|
showToast("请先取消呼叫!");
|
|
|
}
|
|
@@ -2091,6 +2129,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
timeOfBackMainPage = 0;
|
|
|
timeOut = callTimeOutBack;
|
|
|
if (isVisible(vCall)) {
|
|
|
+ resetOffScreen();
|
|
|
CALL_STATUS = STANDBY;
|
|
|
showThisView(vMain);
|
|
|
goneLlRightView(true);
|
|
@@ -2106,6 +2145,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
if (null != initDataEntity) {
|
|
|
jbVCall = setJumpingBeans(tvCallText, initDataEntity.getDeviceBedNum() + "床正在呼叫护工...");
|
|
|
}
|
|
|
+ handler.removeMessages(TURN_OFF_SCREEN);
|
|
|
} else {
|
|
|
showLlRightView();
|
|
|
}
|
|
@@ -2118,6 +2158,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
if (null != initDataEntity) {
|
|
|
jbVCall = setJumpingBeans(tvCallText, initDataEntity.getDeviceBedNum() + "床正在呼叫护工...");
|
|
|
}
|
|
|
+ handler.removeMessages(TURN_OFF_SCREEN);
|
|
|
} else {
|
|
|
showToast("请先取消呼叫!");
|
|
|
}
|
|
@@ -2132,13 +2173,14 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
vMain_big.setVisibility(View.GONE);//显示增长页面20191017
|
|
|
timeOfBackMainPage = 0;
|
|
|
timeOut = callTimeOutBack;
|
|
|
+ goneLlRightView(false);
|
|
|
if (isVisible(vNurse)) {
|
|
|
+ resetOffScreen();
|
|
|
callNurse = false;
|
|
|
UdpSendUtil.sendHangUp(initDataEntity, mainDataEntity);//取消呼叫 add by waderson 20191118
|
|
|
SipHelperUtil.getInstance(CallingBedActivity.this).getmSipCallBackI().endCall();
|
|
|
CALL_STATUS = STANDBY;
|
|
|
showThisView(vMain);
|
|
|
- goneLlRightView(true);
|
|
|
} else {
|
|
|
if (isVisible(vMain)) {
|
|
|
callNurse = true;
|
|
@@ -2150,7 +2192,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;
|
|
@@ -2162,6 +2204,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
if (null != initDataEntity) {
|
|
|
jbVNurse = setJumpingBeans(tvNurseText, initDataEntity.getDeviceBedNum() + "床已呼叫,等待护士接听中...");
|
|
|
}
|
|
|
+ handler.removeMessages(TURN_OFF_SCREEN);
|
|
|
} else {
|
|
|
showToast("请先取消呼叫!");
|
|
|
}
|
|
@@ -2216,6 +2259,17 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private void 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);
|
|
|
+ }
|
|
|
+
|
|
|
protected boolean isVisible(View v) {
|
|
|
return v.getVisibility() == View.VISIBLE;
|
|
|
}
|
|
@@ -2337,6 +2391,14 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
+
|
|
|
+ //通话唤醒
|
|
|
+ if (isVisible(blackView)) {
|
|
|
+ blackView.setVisibility(View.GONE);
|
|
|
+ showThisView(vMain);
|
|
|
+ handler.removeMessages(TURN_OFF_SCREEN);
|
|
|
+ }
|
|
|
+
|
|
|
/*if (CALL_STATUS.equals(Constants.STANDBY)) {
|
|
|
//主机主动呼叫分机
|
|
|
CALL_STATUS = Constants.IN_CALLING;
|
|
@@ -2397,6 +2459,7 @@ public class CallingBedActivity extends BaseActivity implements ISerialPortBedOn
|
|
|
//发送udp让门口机text变白色
|
|
|
UdpSendUtil.sendCallNoticeDoor(initDataEntity, mainDataEntity, "0");
|
|
|
}
|
|
|
+ resetOffScreen();
|
|
|
break;
|
|
|
}
|
|
|
}
|