Kaynağa Gözat

增加房间紧急呼叫类型

weizhengliang 2 yıl önce
ebeveyn
işleme
f3d79061c8

+ 3 - 3
home/src/main/code/com/wdkl/ncs/android/component/home/service/WdKeepAliveService.kt

@@ -555,7 +555,7 @@ class WdKeepAliveService : AbsWorkService() {
                     }
                     EventBus.getDefault().post(MessageEvent(sosTcpModel, Constants.EVENT_UPDATE_EVENT))
 
-                } else if (sosTcpModel.action === TcpAction.SOSAction.CALL) {
+                } else if (sosTcpModel.action == TcpAction.SOSAction.CALL || sosTcpModel.action == TcpAction.SOSAction.ROOM_CALL) {
                     //取消掉语音留言录音
                     RecordHelper.getInstance().stopCancelRecordByOther(true)
 
@@ -575,7 +575,7 @@ class WdKeepAliveService : AbsWorkService() {
                                 Thread.sleep(400)
                             }
 
-                            if (sosTcpModel.action == TcpAction.SOSAction.CALL) {
+                            if (sosTcpModel.action == TcpAction.SOSAction.CALL || sosTcpModel.action == TcpAction.SOSAction.ROOM_CALL) {
                                 val intent = Intent()
                                 intent.setClass(this, NewEventListActivity::class.java)
                                 //intent.putExtra("tcpModelStr", tcpModelIn.toJson())
@@ -796,7 +796,7 @@ class WdKeepAliveService : AbsWorkService() {
                 //MediaPlayHelper.getInstance().playResMusic(R.raw.new_event, 1.0f, false)
                 RingPlayHelper.playRingTone(BaseApplication.appContext, R.raw.new_event, false)
             }
-        } else if (model.type == TcpType.SOS && model.action == TcpAction.SOSAction.CALL) {
+        } else if (model.action == TcpAction.SOSAction.CALL || model.action == TcpAction.SOSAction.ROOM_CALL) {
             AppTool.Time.delay(500) {
                 //MediaPlayHelper.getInstance().playResMusic(R.raw.sos, 1.0f, true)
                 RingPlayHelper.playRingTone(BaseApplication.appContext, R.raw.sos, false)

+ 261 - 60
middleware/src/main/code/com/wdkl/ncs/android/middleware/tcp/enums/TcpAction.java

@@ -14,9 +14,11 @@ public interface TcpAction {
     String getDescription();
 
     enum CallbackAction implements TcpAction {
-        SUCCESS("同步"),
-        FAILED("失败");
-        private String description;
+        ACK("反馈"),
+        SUCCESS("成功"),
+        FAILED("失败"),
+        NO_MATCH("没有匹配");
+        private final String description;
         CallbackAction(String description){
             this.description = description;
         }
@@ -36,24 +38,23 @@ public interface TcpAction {
         }
         public static CallbackAction fromString(String v) {
             CallbackAction userOptionEnum = ENUM_MAP.get(v);
-            return userOptionEnum == null ? SUCCESS :userOptionEnum;
+            return userOptionEnum == null ? NO_MATCH :userOptionEnum;
         }
     }
 
-    enum VoiceAction implements TcpAction {
+    enum PhoneAction implements TcpAction {
         CALL("呼叫"),
         ACCEPT("接受呼叫"),
         REJECT("拒绝"),
         CALLING("通话中"),
-        TRANSFER("转接"),
         HANDOFF("挂断"),
+        DATA("数据传输"),
         CANCEL("取消"),
-        SUCCESS("呼叫成功"),
-        FAILED("呼叫失败");
+        NO_MATCH("没有匹配");
 
 
-        private String description;
-        VoiceAction(String description){
+        private final String description;
+        PhoneAction(String description){
             this.description = description;
         }
 
@@ -65,30 +66,51 @@ public interface TcpAction {
             return this.name();
         }
 
-        private final static Map<String , VoiceAction> ENUM_MAP = new HashMap<String, VoiceAction>();
+        private final static Map<String , PhoneAction> ENUM_MAP = new HashMap<String, PhoneAction>();
         static {
-            for(VoiceAction v : values()) {
+            for(PhoneAction v : values()) {
                 ENUM_MAP.put(v.toString() , v);
             }
         }
-        public static VoiceAction fromString(String v) {
-            VoiceAction userOptionEnum = ENUM_MAP.get(v);
-            return userOptionEnum == null ? CALL :userOptionEnum;
+        public static PhoneAction fromString(String v) {
+            PhoneAction userOptionEnum = ENUM_MAP.get(v);
+            return userOptionEnum == null ? NO_MATCH :userOptionEnum;
         }
     }
 
-    enum PhoneAction implements TcpAction {
+    enum VoiceAction implements TcpAction {
         CALL("呼叫"),
+        VCALL("视频呼叫"),
         ACCEPT("接受呼叫"),
+        ACCEPTED("已接听"),
         REJECT("拒绝"),
         CALLING("通话中"),
+        TRANSFER("转接"),
         HANDOFF("挂断"),
-        DATA("数据传输"),
-        CANCEL("取消");
-
-
-        private String description;
-        PhoneAction(String description){
+        CANCEL("取消"),
+        PCALLING("已经通话中"),
+        VOICE_OFF("通话被接听"),
+        RS485CALL("485界面发起呼叫"),
+        RS485CANCEL("485界面呼叫取消"),
+        RS485CANCEL_BY_DOOR("485门口机取消房间内的呼叫"),
+        RS485HANDOFF("485界面挂断"),
+        RS485ACCEPT("485界面接听"),
+        RS485REJECT("485界面拒绝"),
+        CANCEL_BY_DOOR("门口机取消分机呼叫"),
+        SUCCESS("呼叫成功"),
+        FAILED("呼叫失败"),
+        GAIN_CALL("应答"),
+        GAIN_OK("应答成功"),
+        GAIN_FAIL("应答失败"),
+        GAINED("呼叫被应答"),
+        HCALL("手柄呼叫"),
+        HRESPONSE("响应手柄"),
+        HRESPONSED("响应过手柄了"),
+        NO_MATCH("没有匹配");
+
+
+        private final String description;
+        VoiceAction(String description){
             this.description = description;
         }
 
@@ -100,23 +122,34 @@ public interface TcpAction {
             return this.name();
         }
 
-        private final static Map<String , PhoneAction> ENUM_MAP = new HashMap<String, PhoneAction>();
+        private final static Map<String , VoiceAction> ENUM_MAP = new HashMap<String, VoiceAction>();
         static {
-            for(PhoneAction v : values()) {
+            for(VoiceAction v : values()) {
                 ENUM_MAP.put(v.toString() , v);
             }
         }
-        public static PhoneAction fromString(String v) {
-            PhoneAction userOptionEnum = ENUM_MAP.get(v);
-            return userOptionEnum == null ? CALL :userOptionEnum;
+        public static VoiceAction fromString(String v) {
+            VoiceAction userOptionEnum = ENUM_MAP.get(v);
+            return userOptionEnum == null ? NO_MATCH :userOptionEnum;
         }
     }
 
     enum VideoAction implements TcpAction {
-        CALL("呼叫"),
-        CANCEL("取消");
+        CALL("视频通话"),   //正常视频对讲
+        VIDEO_OUT_CALL("我方视频输出"),   //我方视频输出(我方语音,对方可视)
+        VIDEO_IN_CALL("对方视频输出"),    //对方视频输出(我方可视,对方语音)
+        VIDEO_ON("打开视频"),   //打开视频
+        VIDEO_INVITE_JOIN("邀请加入视频"),    //邀请加入视频
+        ACCEPT("接受呼叫"),
+        REJECT("拒绝"),
+        CALLING("通话中"),
+        HANDOFF("挂断"),
+        CANCEL("取消"),
+        SUCCESS("呼叫成功"),
+        FAILED("呼叫失败"),
+        NO_MATCH("没有匹配");
 
-        private String description;
+        private final String description;
         VideoAction(String description){
             this.description = description;
         }
@@ -137,16 +170,40 @@ public interface TcpAction {
         }
         public static VideoAction fromString(String v) {
             VideoAction userOptionEnum = ENUM_MAP.get(v);
-            return userOptionEnum == null ? CALL :userOptionEnum;
+            return userOptionEnum == null ? NO_MATCH :userOptionEnum;
         }
     }
 
 
     enum SOSAction implements TcpAction {
         CALL("紧急呼叫"),
-        CANCEL("取消");
-
-        private String description;
+        CANCEL("取消"),
+        CANCELED("已取消"),
+        TRANSFER("转接"),
+        ALARM_TEST("测试报警"),
+        ALARM_INTRUSION("侵入报警"),
+        ALARM_INFRARED_NO_TRIGGER("红外报警"),
+        ALARM_ON_EIGHT_HOURS("八小时无人报警"),
+        ALARM_ON_TWELVE_HOURS("十二小时无人报警"),
+        ALARM_ON_TWENTY_FOUR_HOURS("二十四小时无人报警"),
+        ALARM_DISASSEMBLE("防拆报警"),
+        ALARM_FAULT("故障报警"),
+        ALARM_DOOR_LOCK("门磁报警"),
+        ALARM_RESTRAINT_BAND("约束带报警"),
+        ALARM_SMOKE("烟感报警"),
+        ALARM_GAS("燃气报警"),
+        ALARM_WATER_OVERFLOW("浸水报警"),
+        ALARM_LOW_VOLTAGE("低电压报警"),
+        ALARM_TEMPERATURE("温度报警"),
+        ALARM_FALL("跌到报警"),
+        ALARM_VITAL("体征报警"),
+        AlARM_BUTTON("紧急按钮"),
+        ALARM_FALL_RADAR("跌到报警"),
+        ALARM_INFUSION_RADAR("输液报警"),
+        ROOM_CALL("房间紧急呼叫"),
+        NO_MATCH("没有匹配");
+
+        private final String description;
         SOSAction(String description){
             this.description = description;
         }
@@ -167,17 +224,48 @@ public interface TcpAction {
         }
         public static SOSAction fromString(String v) {
             SOSAction userOptionEnum = ENUM_MAP.get(v);
-            return userOptionEnum == null ? CALL :userOptionEnum;
+            return userOptionEnum == null ? NO_MATCH :userOptionEnum;
+        }
+    }
+
+    enum ReinforceAction implements TcpAction {
+        CALL("增援"),
+        RESPONSED("已响应"),
+        NO_MATCH("没有匹配");
+
+        private final String description;
+        ReinforceAction(String description){
+            this.description = description;
+        }
+
+        public String getDescription() {
+            return description;
+        }
+
+        public String getName(){
+            return this.name();
+        }
+
+        private final static Map<String , ReinforceAction> ENUM_MAP = new HashMap<String, ReinforceAction>();
+        static {
+            for(ReinforceAction v : values()) {
+                ENUM_MAP.put(v.toString() , v);
+            }
+        }
+        public static ReinforceAction fromString(String v) {
+            ReinforceAction userOptionEnum = ENUM_MAP.get(v);
+            return userOptionEnum == null ? NO_MATCH :userOptionEnum;
         }
     }
 
 
     enum IMAction implements TcpAction {
         MSG("语音留言"),
+        MSG_READ("语音留言已读"),
         RECEIVED("客户端收到确认"),
-        MSG_READ("语音留言已读");
+        NO_MATCH("没有匹配");
 
-        private String description;
+        private final String description;
         IMAction(String description){
             this.description = description;
         }
@@ -198,7 +286,7 @@ public interface TcpAction {
         }
         public static IMAction fromString(String v) {
             IMAction userOptionEnum = ENUM_MAP.get(v);
-            return userOptionEnum == null ? MSG_READ :userOptionEnum;
+            return userOptionEnum == null ? NO_MATCH :userOptionEnum;
         }
 
     }
@@ -206,9 +294,10 @@ public interface TcpAction {
     enum CHANNELIMAction implements TcpAction {
         MSG("语音留言"),
         MSG_READ("语音留言已读"),
-        RECEIVED("接收端收到确认");
+        RECEIVED("接收端收到确认"),
+        NO_MATCH("没有匹配");
 
-        private String description;
+        private final String description;
         CHANNELIMAction(String description){
             this.description = description;
         }
@@ -229,7 +318,7 @@ public interface TcpAction {
         }
         public static CHANNELIMAction fromString(String v) {
             CHANNELIMAction userOptionEnum = ENUM_MAP.get(v);
-            return userOptionEnum == null ? MSG_READ :userOptionEnum;
+            return userOptionEnum == null ? NO_MATCH :userOptionEnum;
         }
 
     }
@@ -242,9 +331,10 @@ public interface TcpAction {
         SYSTEM_SETTING("系统设置"),
         DEVICE_CHANGE("设备更换"),
         USER_CHANGE("用户绑定"),
-        SERVER_CHANGE("设备ip地址更换");
+        SERVER_CHANGE("设备ip地址更换"),
+        NO_MATCH("没有匹配");
 
-        private String description;
+        private final String description;
         DeviceAction(String description){
             this.description = description;
         }
@@ -264,20 +354,20 @@ public interface TcpAction {
         }
         public static DeviceAction fromString(String v) {
             DeviceAction userOptionEnum = ENUM_MAP.get(v);
-            return userOptionEnum == null ? RESTART :userOptionEnum;
+            return userOptionEnum == null ? NO_MATCH :userOptionEnum;
         }
     }
 
     enum EventAction implements TcpAction {
         KEY_CLICK("按键事件"),
-        RECEIVED("客户端收到确认"),
-        RESPONSE("已响应"),
+        RESPONSE("响应"),
+        RESPONSED("已响应"),
+        RECEIVED("接收端收到确认"),
         CANCEL("取消"),
         CANCEL_CONFIRM("接收端确认收到取消"),
-        COMPLETED("完成");
-
-
-        private String description;
+        COMPLETED("完成"),
+        NO_MATCH("没有匹配");
+        private final String description;
         EventAction(String description){
             this.description = description;
         }
@@ -297,14 +387,52 @@ public interface TcpAction {
         }
         public static EventAction fromString(String v) {
             EventAction userOptionEnum = ENUM_MAP.get(v);
-            return userOptionEnum == null ? KEY_CLICK :userOptionEnum;
+            return userOptionEnum == null ? NO_MATCH :userOptionEnum;
+        }
+    }
+
+    enum SideAction implements TcpAction {
+        CALL("呼叫"),
+        ACCEPT("接听"),
+        CANCEL("结束"),
+        SOS_CALL("紧急呼叫"),
+        SOS_CANCEL("取消"),
+        NURSING("护理"),
+        NURSING_END("护理结束"),
+        NO_MATCH("没有匹配");
+
+        private final String description;
+        SideAction(String description){
+            this.description = description;
+        }
+        public String getDescription() {
+            return description;
+        }
+
+        public String getName(){
+            return this.name();
+        }
+
+        private final static Map<String , SideAction> ENUM_MAP = new HashMap<String, SideAction>();
+        static {
+            for(SideAction v : values()) {
+                ENUM_MAP.put(v.toString() , v);
+            }
+        }
+        public static SideAction fromString(String v) {
+            SideAction userOptionEnum = ENUM_MAP.get(v);
+            return userOptionEnum == null ? NO_MATCH :userOptionEnum;
         }
     }
 
+
+
     enum DataAction implements TcpAction {
         REFRESH("刷新数据"),
-        INTERACTION("刷新交互列表");
-        private String description;
+        INTERACTION("刷新交互列表"),
+        NO_MATCH("没有匹配");
+
+        private final String description;
         DataAction(String description){
             this.description = description;
         }
@@ -324,14 +452,16 @@ public interface TcpAction {
         }
         public static DataAction fromString(String v) {
             DataAction userOptionEnum = ENUM_MAP.get(v);
-            return userOptionEnum == null ? REFRESH :userOptionEnum;
+            return userOptionEnum == null ? NO_MATCH :userOptionEnum;
         }
     }
 
     enum BroadcastAction implements TcpAction {
         START("开始"),
-        STOP("停止");
-        private String description;
+        STOP("停止"),
+        NO_MATCH("没有匹配");
+
+        private final String description;
         BroadcastAction(String description){
             this.description = description;
         }
@@ -351,13 +481,15 @@ public interface TcpAction {
         }
         public static BroadcastAction fromString(String v) {
             BroadcastAction userOptionEnum = ENUM_MAP.get(v);
-            return userOptionEnum == null ? START :userOptionEnum;
+            return userOptionEnum == null ? NO_MATCH :userOptionEnum;
         }
     }
 
     enum TimeAction implements TcpAction {
-        SYNC("同步");
-        private String description;
+        SYNC("同步"),
+        NO_MATCH("没有匹配");
+
+        private final String description;
         TimeAction(String description){
             this.description = description;
         }
@@ -377,7 +509,76 @@ public interface TcpAction {
         }
         public static TimeAction fromString(String v) {
             TimeAction userOptionEnum = ENUM_MAP.get(v);
-            return userOptionEnum == null ? SYNC :userOptionEnum;
+            return userOptionEnum == null ? NO_MATCH :userOptionEnum;
+        }
+    }
+
+    enum EntraceGuardAction implements TcpAction {
+        STRANGER("陌生访客"),
+        LOCKDOOR("锁门"),
+        UNLOCKDOOR("开门"),
+        ACCEPT("主机接受视频"),//通话空闲时自动接受
+        REJECT("拒绝"), // 通话忙时自动拒接
+        OPENSPEAKER("打开麦克风"),//护士主机打开麦克风,门禁机也打开,双方停止等待音乐,打开后可以通话,默认只有视频界面,没有声音
+        CLOSESPEAKER("关闭麦克风"),//关闭音频
+        SUCCESS("连接主机成功"),
+        HANGUP("挂断"),
+        TIMEOUT("响应超时"),
+        FAILED("连接失败"),
+        NO_MATCH("没有匹配");
+
+
+        private final String description;
+
+        EntraceGuardAction(String description) {
+            this.description = description;
+        }
+        public String getDescription() {
+            return description;
+        }
+
+        public String getName(){
+            return this.name();
+        }
+
+        private final static Map<String , EntraceGuardAction> ENUM_MAP = new HashMap<String, EntraceGuardAction>();
+        static {
+            for(EntraceGuardAction v : values()) {
+                ENUM_MAP.put(v.toString() , v);
+            }
+        }
+        public static EntraceGuardAction fromString(String v) {
+            EntraceGuardAction userOptionEnum = ENUM_MAP.get(v);
+            return userOptionEnum == null ? NO_MATCH :userOptionEnum;
+        }
+    }
+
+    enum LocationAction implements TcpAction {
+        ASK("主动询问"),
+        UPDATE("上传数据"),
+        NO_MATCH("没有匹配");
+
+        private final String description;
+        LocationAction(String description){
+            this.description = description;
+        }
+        public String getDescription() {
+            return description;
+        }
+
+        public String getName(){
+            return this.name();
+        }
+
+        private final static Map<String , LocationAction> ENUM_MAP = new HashMap<String, LocationAction>();
+        static {
+            for(LocationAction v : values()) {
+                ENUM_MAP.put(v.toString() , v);
+            }
+        }
+        public static LocationAction fromString(String v) {
+            LocationAction userOptionEnum = ENUM_MAP.get(v);
+            return userOptionEnum == null ? NO_MATCH :userOptionEnum;
         }
     }
 }