فهرست منبع

1.如果是注册为医生机则检查升级时按医生机类型,如果是护士主机则按护士主机类型
2.修复护理项无危险标识情况下报错问题
3.优化通话流程,接听通话时待房间创建完成后再发accept

weizhengliang 2 سال پیش
والد
کامیت
f7e6fc877d

+ 7 - 11
android_host/src/main/h10_wke_1h/java/com/wdkl/ncs/android/component/nursehome/activity/NurseHomeActivity.kt

@@ -793,11 +793,6 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNurs
         SettingConfig.setHostDaytimeVolume(this, SettingConfiguration.getInstance().dayRingVol)
         SettingConfig.setHostNightVolume(this, SettingConfiguration.getInstance().nightRingVol)
 
-        //主机录入音量
-        //主机播放音量
-        //通话模式
-        //分机白天夜晚亮度
-        //todo 上面几个服务器暂时没有
         //分机白天夜晚护理灯 也就是LED灯的亮度
         SettingConfig.setExtensionDaytimeLEDBrightness(this, SettingConfiguration.getInstance().dayNurseLed)
         SettingConfig.setExtensionNightLEDBrightness(this, SettingConfiguration.getInstance().nightNurseLed)
@@ -808,9 +803,6 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNurs
         SettingConfig.setExtensionCallVolume(this, SettingConfiguration.getInstance().dayBedVol)
         //传统转换盒系统音量 没做白昼区分
         SettingConfig.setChangeBoxSystemVolume(this, SettingConfiguration.getInstance().dayTransferBoxSystemVol)
-        //门口机白天夜晚 亮度
-        //门口机系统音量
-        //todo 上面几个服务器暂时没有
 
         //门口机通话音量 没做白昼区分
         SettingConfig.setDoorPhoneVolume(this, SettingConfiguration.getInstance().dayDoorVol)
@@ -821,7 +813,11 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNurs
     }
 
     fun checkApp() {
-        presenter.getAppVersion(Constants.part_id, 101) //护士主机可视版
+        if (Constants.DEVICE_TYPE == DeviceTypeEnum.DOCTOR_HOST.value()) {
+            presenter.getAppVersion(Constants.part_id, 2) //医生主机
+        } else {
+            presenter.getAppVersion(Constants.part_id, 101) //护士主机可视版
+        }
     }
 
     /**
@@ -2228,10 +2224,10 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNurs
                     //Constants.CALL_STATE = Constants.CALL_CALLING
                     //DeviceChannel.calling = true
                     acceptCall(item, true)
-                    VoiceUtil.acceptAudioCall(Constants.ids, Constants.fromId, Constants.interactionId)
+                    //VoiceUtil.acceptAudioCall(Constants.ids, Constants.fromId, Constants.interactionId)
                 } else {
                     showMessage(R.string.net_error)
-                    VoiceUtil.rejectAudioCall(Constants.ids, Constants.fromId, Constants.interactionId)
+                    //VoiceUtil.rejectAudioCall(Constants.ids, Constants.fromId, Constants.interactionId)
                 }
 
                 LedHelper.updateLedInfo(item, false, false)

+ 1 - 1
android_host/src/main/h10_wke_1h/java/com/wdkl/ncs/android/component/nursehome/adapter/FrameBedVosConfinementAdapter.kt

@@ -93,7 +93,7 @@ class FrameBedVosConfinementAdapter(val data: ArrayList<FrameBedVO>) : BaseDeleg
             binding.rlBedInfo.setBackgroundResource(R.drawable.item_selector)
             if (itemData.nurseConfigDtos != null && itemData.nurseConfigDtos.size > 0) {
                 for (nurseConfig in itemData.nurseConfigDtos) {
-                    if (nurseConfig.boolCritical) {
+                    if (nurseConfig.boolCritical != null && nurseConfig.boolCritical) {
                         binding.roomNumberTv.setTextColor(Color.WHITE)
                         //病危标识
                         binding.rlBedInfo.setBackgroundResource(R.drawable.item_selector_critical)

+ 3 - 0
android_host/src/main/h10_wke_1h/java/com/wdkl/ncs/android/component/nursehome/fragment/EntraceGuardVideoFragment.kt

@@ -189,6 +189,9 @@ class EntraceGuardVideoFragment : Fragment(), CallSessionCallback, View.OnTouchL
     }
 
 
+    override fun didRoomCreated() {
+        //
+    }
 
     override fun didChangeState(var1: EnumType.CallState?) {
 

+ 10 - 0
android_host/src/main/h10_wke_1h/java/com/wdkl/ncs/android/component/nursehome/fragment/SkyCallFragment.kt

@@ -62,6 +62,7 @@ class SkyCallFragment: BaseCallFragment(), CallSessionCallback {
 
     private var callEnded: Boolean = false
     private var outGoing: Boolean = false
+    private var acceptCall = false
 
     //呼叫倒计时
     lateinit var countDownTimer: CountDownTimer
@@ -164,6 +165,7 @@ class SkyCallFragment: BaseCallFragment(), CallSessionCallback {
                     }
                 } else {
                     //接听呼叫
+                    acceptCall = true
                     janusClient!!.connect(-1, false)
                 }
             }
@@ -407,6 +409,14 @@ class SkyCallFragment: BaseCallFragment(), CallSessionCallback {
      ********************* webrtc通话回调 ********************
      * 注意: 如涉及到UI更新的需要在主线程处理,务必注意
      *******************************************************/
+    override fun didRoomCreated() {
+        //房间创建成功,如果是接听通话则通知对方加入通话
+        if (!callEnded && acceptCall) {
+            Log.d(TAG, "room created, accept call...")
+            VoiceUtil.acceptAudioCall(Constants.ids, fromId, interactionVO?.id)
+        }
+    }
+
     override fun didChangeState(state: EnumType.CallState?) {
         Log.e(TAG, "didChangeState: " + state)
         handler.post {

+ 2 - 0
android_host/src/main/h10_wke_1h/java/com/wdkl/ncs/android/component/nursehome/util/AppUtil.java

@@ -3,6 +3,7 @@ package com.wdkl.ncs.android.component.nursehome.util;
 import android.app.AlarmManager;
 import android.content.Context;
 import android.text.TextUtils;
+import android.util.Log;
 
 import java.io.DataOutputStream;
 import java.io.IOException;
@@ -25,6 +26,7 @@ public class AppUtil {
             if (android.os.Build.VERSION.SDK_INT >= 24) {//7.1以上的系统
                 String datetime = changeTimeForm(time); //20211213:092314  ------  051315372019.00
                 os.writeBytes("/system/bin/date " + datetime + " set\n");
+                Log.d("setTime", "time: " + time + ", datetime: " + datetime);
             } else {
                 os.writeBytes("/system/bin/date -s " + time + "\n");//【时间格式 yyyyMMdd.HHmmss】"20131023.112800"
             }

+ 7 - 3
android_host/src/main/h10_z3128_1h/java/com/wdkl/ncs/android/component/nursehome/activity/NurseHomeActivity.kt

@@ -422,7 +422,11 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNurs
     }
 
     fun checkApp() {
-        presenter.getAppVersion(Constants.part_id, 1) //rk3128护士主机
+        if (Constants.DEVICE_TYPE == DeviceTypeEnum.DOCTOR_HOST.value()) {
+            presenter.getAppVersion(Constants.part_id, 2) //医生主机
+        } else {
+            presenter.getAppVersion(Constants.part_id, 1) //rk3128护士主机
+        }
     }
 
     /**
@@ -1757,10 +1761,10 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNurs
                         name = item.fromFrameFullName
                     }
                     acceptCall(name)
-                    VoiceUtil.acceptAudioCall(Constants.ids, Constants.fromId, Constants.interactionId)
+                    //VoiceUtil.acceptAudioCall(Constants.ids, Constants.fromId, Constants.interactionId)
                 } else {
                     showMessage(R.string.net_error)
-                    VoiceUtil.rejectAudioCall(Constants.ids, Constants.fromId, Constants.interactionId)
+                    //VoiceUtil.rejectAudioCall(Constants.ids, Constants.fromId, Constants.interactionId)
                 }
 
                 LedHelper.updateLedInfo(item, false, false)

+ 1 - 1
android_host/src/main/h10_z3128_1h/java/com/wdkl/ncs/android/component/nursehome/adapter/FrameBedVosConfinementAdapter.kt

@@ -93,7 +93,7 @@ class FrameBedVosConfinementAdapter(val data: ArrayList<FrameBedVO>) : BaseDeleg
             binding.rlBedInfo.setBackgroundResource(R.drawable.item_selector)
             if (itemData.nurseConfigDtos != null && itemData.nurseConfigDtos.size > 0) {
                 for (nurseConfig in itemData.nurseConfigDtos) {
-                    if (nurseConfig.boolCritical) {
+                    if (nurseConfig.boolCritical != null && nurseConfig.boolCritical) {
                         binding.roomNumberTv.setTextColor(Color.WHITE)
                         //病危标识
                         binding.rlBedInfo.setBackgroundResource(R.drawable.item_selector_critical)

+ 3 - 0
android_host/src/main/h10_z3128_1h/java/com/wdkl/ncs/android/component/nursehome/fragment/EntraceGuardVideoFragment.kt

@@ -186,6 +186,9 @@ class EntraceGuardVideoFragment : Fragment(), CallSessionCallback, View.OnTouchL
     }
 
 
+    override fun didRoomCreated() {
+
+    }
 
     override fun didChangeState(var1: EnumType.CallState?) {
 

+ 11 - 2
android_host/src/main/h10_z3128_1h/java/com/wdkl/ncs/android/component/nursehome/fragment/SkyCallFragment.kt

@@ -51,8 +51,8 @@ class SkyCallFragment: BaseCallFragment(), CallSessionCallback {
     private val handler = Handler(Looper.getMainLooper())
 
     private var callEnded: Boolean = false
-
     private var outGoing: Boolean = false
+    private var acceptCall = false
 
     private var janusClient: JanusClient? = null
     private var room: Room?=null
@@ -102,7 +102,7 @@ class SkyCallFragment: BaseCallFragment(), CallSessionCallback {
             }
 
             1 -> {
-                //如果是模拟分机呼叫则需要主机来创建房间发起通
+                //如果是模拟分机呼叫则需要主机来创建房间发起通
                 if (Constants.fromDeviceType == DeviceTypeEnum.SIMULATE_BED_DEVICE.value()) {
                     outGoing = true
                     janusClient!!.callState = EnumType.CallState.Outgoing
@@ -119,6 +119,7 @@ class SkyCallFragment: BaseCallFragment(), CallSessionCallback {
                     Constants.CALL_STATE = Constants.CALL_CALLING
                     DeviceChannel.calling = true
                 }
+                acceptCall = true
             }
         }
 
@@ -288,6 +289,14 @@ class SkyCallFragment: BaseCallFragment(), CallSessionCallback {
      * 注意: 如涉及到UI更新的需要在主线程处理,务必注意
      *******************************************************/
     //************************* 通话回调 *******************//
+    override fun didRoomCreated() {
+        //房间创建成功,如果是接听通话则通知对方加入通话
+        if (!callEnded && acceptCall) {
+            Log.d(TAG, "room created, accept call...")
+            VoiceUtil.acceptAudioCall(Constants.ids, Constants.fromId, Constants.interactionId)
+        }
+    }
+
     override fun didChangeState(var1: EnumType.CallState?) {
         handler.post {
             if (var1 == EnumType.CallState.Connected) {

+ 1 - 0
janus/src/main/java/com/wdkl/ncs/janus/client/CallSessionCallback.java

@@ -23,4 +23,5 @@ public interface CallSessionCallback {
 
     void didHangUp(BigInteger handlerId);
 
+    void didRoomCreated();
 }

+ 3 - 2
janus/src/main/java/com/wdkl/ncs/janus/client/JanusClient.java

@@ -508,7 +508,7 @@ public class JanusClient implements WebSocketChannel.WebSocketCallback {
                     if (data.has("error")) {
                         if (data.getInt("error_code") == 427) {
                             //拨打
-                            if (EnumType.CallState.Outgoing == callState) {
+                            /*if (EnumType.CallState.Outgoing == callState) {
                                 destroyRoom(handleId, new DestroyRoomCallback() {
                                     @Override
                                     public void onSuccess() {
@@ -524,7 +524,8 @@ public class JanusClient implements WebSocketChannel.WebSocketCallback {
                             //接收
                             else if (EnumType.CallState.Incoming == callState) {
                                 janusCallback.onCreateRoom(handleId);
-                            }
+                            }*/
+                            janusCallback.onCreateRoom(handleId);
                         } else {
                             janusCallback.onError(ERROR_CREATE_ROOM, "创建房间失败");
                         }

+ 5 - 0
janus/src/main/java/com/wdkl/ncs/janus/client/VideoRoomCallback.java

@@ -50,6 +50,11 @@ public class VideoRoomCallback implements JanusClient.JanusCallback {
     public void onCreateRoom(BigInteger handleId) {
         videoRoomHandlerId = handleId;
         janusClient.joinRoom(handleId, userId.toString());
+
+        //房间创建成功
+        if (callSessionCallback != null) {
+            callSessionCallback.didRoomCreated();
+        }
     }
 
     @Override